Optimalizációs stratégiák 1.
|
|
- Lilla Bartané
- 7 évvel ezelőtt
- Látták:
Átírás
1 Optimalizációs stratégiák 1. Nyers erő, Oszd meg és uralkodj, Feljegyzéses, Dinamikus, Mohó előadás Szénási Sándor Óbudai Egyetem,Neumann János Informatikai Kar
2 2 A megoldandó feladat 0-1 hátizsák probléma Bemenete W max : hátizsák mérete N: rendelkezésre álló tárgyak száma w i : i. tárgy súlya p i : i. tárgy értéke Kimenete P max : egy optimális pakolás értéke Pakolás: tárgyanként meghatározzuk, hogy bekerül-e a zsákba vagy sem (pl. N elemű logikai tömb) Pakolás összsúlya/összértéke: a pakolás által a hátizsákba választott tárgyak súlyának/értékének összege Érvényes pakolás: olyan pakolás, amelynek összsúlya nem nagyobb mint a hátizsák mérete Optimális pakolás: olyan érvényes pakolás, amelyiknél nincs nagyobb összértékű érvényes pakolás
3 Nyers erő módszere Oszd meg és uralkodj Feljegyzéses módszer Dinamikus programozás Mohó algoritmusok Optimalizációs stratégiák 1.
4 4 Nyers erő módszere (brute force) Alapelv: egyszerűen végigpróbálgatjuk az összes lehetséges megoldást A 0-1 hátizsák probléma megoldása függvény HátizsákBF OPT [hamis,hamis,,hamis] ciklus i 1-től 2 N -1-ig ciklus j 0-től N-1-ig K[j] i / 2 j mod 2 = 1 ciklus vége ha (ÖsszSúly(K) W max ) (ÖsszÉrték(K)>ÖsszÉrték(OPT)) akkor OPT K elágazás vége ciklus vége vissza ÖsszÉrték(OPT) függvény vége Amennyiben érvényes pakolást találunk, akkor ellenőrizzük, hogy jobb-e, mint az eddig talált legjobb Ha igen, akkor ezt követően ezt tekintjük a legjobbnak
5 5 Nyers erő módszerének értékelése Előnyei Egyszerűen megérthető Egyszerűen implementálható Gyakran csak ez használható Tárhelyigénye nem jelentős Jól párhuzamosítható Hátrányai Futásideje nem kedvező (jelen esetben 2 N lépés)
6 Nyers erő módszere Oszd meg és uralkodj Feljegyzéses módszer Dinamikus programozás Mohó algoritmusok Optimalizációs stratégiák 1.
7 7 Oszd meg és uralkodj (divide and conqueror) Programozás I tárgyban már tanult módszer Összefésülő rendezés Quicksort K-adik legkisebb elem kiválasztása Stb. Általában rekurzív megközelítést használ: Amennyiben a megoldandó probléma egyszerű, akkor Megoldás Amennyiben a megoldandó probléma ehhez túl bonyolult, akkor Felosztás több kisebb részproblémára Az így kapott kisebb részproblémák megoldása (tipikusan rekurzív hívás(ok) segítségével) Az így kapott részeredmények egyesítése, azok alapján a megoldandó probléma eredményének előállítása A fenti alapelv optimalizációra is használható
8 0-1 hátizsák probléma rekurzív megközelítésben Egy részprobléma esetén van t darab tárgyunk (az eredeti feladat 1..t-ig indexű tárgyai) h szabad helyünk (ez értelemszerűen nem nagyobb mint W max ) Rekurzívan megfogalmazva egy optimális pakolás értéke: 0 ha h = 0 0 ha t = 0 F t,h = F t 1,h ha h > 0 t > 0 h < w t max F t 1,h, F t 1,h wt + p t ha h > 0 t > 0 h w t Tehát ha a tárgyak száma vagy a szabad hely 0, akkor az optimális pakolás értéke 0 ha az utolsó tárgy nem fér bele a zsákba, akkor az optimális pakolás értéke annyi, mint amennyi az előtte lévő tárgyakkal elérhető ugyanekkora helyen ha befér, akkor az alábbiak közül a nagyobbik érték az előtte lévő tárgyakkal elérhető optimális érték ugyanekkora helyen (nem rakjuk be) az előtte lévő tárgyakkal elérhető érték az utolsó tárgy méretével csökkentett helyen + az utolsó tárgy értéke (berakjuk) szenasi.sandor@nik.uni-obuda.hu 8
9 0-1 hátizsák probléma megoldása oszd meg és uralkodj módszerrel 9 függvény LegjobbRészMegoldás(t, h) ha (t = 0) (h = 0) akkor vissza 0 különben P nem LegjobbRészMegoldás(t-1, h) ha h w t akkor P igen p t + LegjobbRészMegoldás(t-1, h-w t ) P opt max(p igen, P nem ) különben P opt P nem elágazás vége vissza P opt elágazás vége függvény vége függvény HátizsákDnC vissza LegjobbRészMegoldás(N, W max ) függvény vége
10 10 Az oszd meg és uralkodj módszer értékelése Előnyei A keresés jobban irányítható mint az előző esetben, nem vizsgál meg eleve reménytelen útvonalakat Gyakran nagyon jól párhuzamosítható A lépésszáma alacsonyabb lehet mint a nyers erő módszer esetén Hátrányai Csak bizonyos szerkezetű megoldásoknál hatékony ez a technika Amennyiben az egyes részproblémák egymást átfedik, akkor nagyon sok felesleges számítást végez. Lásd Fibonacci számok rekurzív számítása
11 Nyers erő módszere Oszd meg és uralkodj Feljegyzéses módszer Dinamikus programozás Mohó algoritmusok Optimalizációs stratégiák 1.
12 Feljegyzéses módszer (Memoization) Oszd meg és uralkodj módszert így szeretjük elképzelni A valóságban azonban gyakran inkább így néz ki A részproblémák gyakran átfedik egymást: A részproblémákra bontásnál nem foglalkoztunk azzal, hogy esetleg ugyanazt a részproblémát többször is megkapjuk Ha már úgy alakult, hogy ugyanazt a problémát többször kell megoldani, akkor nem használjuk fel az előző megoldás eredményeit A futásidő tehát jelentősen javítható egy egyszerű módszerrel: A már kiszámított részeredményeket tároljuk el valahogy Ha egy már megoldott részproblémához jutunk újra, akkor használjuk ezeket szenasi.sandor@nik.uni-obuda.hu 12
13 0-1 hátizsák probléma megoldása feljegyzéses módszer -rel 13 függvény LegjobbRészMegoldás(t, h) ha (t = 0) (h = 0) akkor vissza 0 különben ha RészMegoldásTárolóbanKeres([t, h]) akkor vissza RészMegoldásTárolóbanKeres([t, h]) különben P nem LegjobbRészMegoldás(t-1, h) ha h w t akkor P igen p t + LegjobbRészMegoldás(t-1, h-w t ) P opt max(p igen, P nem ) különben P opt P nem elágazás vége RészMegoldásTárolóbaFeljegyez([t, h], P opt ) vissza P opt elágazás vége elágazás vége függvény vége függvény HátizsákMemo vissza LegjobbRészMegoldás(N, W max ) függvény vége
14 14 A feljegyzéses módszer értékelése Előnyei A megoldás alapelve pontosan ugyanaz, mint az oszd meg és uralkodj módszer esetében, ezért azt nem is vizsgáltuk meg újra Jelentősen tudja csökkenteni a lépésszámot, ha sok egymást átfedő részproblémát kell megoldani Egyszerűen implementálható. A pontos feladat ismerete nélkül is adható egy általános séma a használatára (persze annak hatékonysága előre nem tudható) Hátrányai Csak bizonyos szerkezetű megoldásoknál hatékony ez a technika Jelentős többlet tárhelyigényt jelent Tulajdonképpen jobb futásidőt kapunk nagyobb tárhelyért cserébe Kiegészítés Amennyiben a triviális megoldások száma véges (és kevés), akkor azt is megtehetjük, hogy ezeket már a rekurzió hívása előtt betöltjük a részmegoldás tárolóba. Ilyenkor a triviális megoldás ellenőrzés el is hagyható a rekurzív algoritmusból
15 Nyers erő módszere Oszd meg és uralkodj Feljegyzéses módszer Dinamikus programozás Mohó algoritmusok Optimalizációs stratégiák 1.
16 16 Dinamikus programozás alapjai Az oszd meg és uralkodj módszer felülről lefelé haladva próbálja megoldani a feladatot: A komplex problémát felbontja kisebb részproblémákra Majd ezek megoldása alapján adja meg az összetett probléma megoldását A gyakorlatban a rekurzív függvény először csak hívogatja magát, amíg el nem jut valamelyik triviális megoldásig. Ezt követően ez alapján elkezdi el felépíteni a teljes megoldást A feljegyzéses módszer esetében ez jól látható, ha megvizsgáljuk, hogy a részmegoldás tárolóba milyen sorrendbe érkeznek az adatok. Először a legegyszerűbb részproblémák adatai kerülnek bele, majd ezek alapján épülnek fel a komplexebb részproblémák eredményei A fentiek alapján próbáljuk meg eleve ezt az alulról felfelé való építkezést megvalósítani. Egy tárhelyen tároljuk el a triviális megoldásokat, majd ezek alapján kezdjük el felépíteni az egyre összetettebbeket, amíg el nem jutunk a teljes probléma megoldásáig
17 17 Hátizsákpakolási feladat megoldása Az algoritmus egy T tömböt tölt fel ennek mérete (N+1) (W max +1) T[t,h] értéke azt mutatja, hogy az első t darab tárgy elhelyezése h szabad helyre milyen optimális pakolási összértékkel járhat A feltöltés menete Triviális esetek előre beírhatók a tömbbe: ha nincs szabad hely, az érték 0 ha nincs tárgy, az érték 0 Ezt követően a már megismert képlettel feltöltjük a többi elemet Mivel a rekurzív képlet a T(t,h) elem kiszámításához csak a t-nél és h- nál kisebb elemeket igényli, így könnyen belátható, hogy a táblázat T[t,h] elemének kiszámításához a t-t és h-t növelő ciklusok mindig már ismert részeredményeket fognak csak felhasználni Így nincs szükség rekurzióra, a feltöltés egyszerűen megoldható A feltöltött táblázat T[N, W max ] eleme tartalmazza a teljes feladat megoldását (tehát egy optimális pakolás értékét)
18 0-1 hátizsák probléma megoldása dinamikus programozás -sal 18 függvény HátizsákDP ciklus t 0-tól N-ig F[t,0] 0 ciklus vége ciklus h 1-től W max -ig F[0,h] 0 ciklus vége ciklus t 1-től N-ig ciklus h 1-től W max -ig ha h w t akkor F[t,h] max(f[t-1,h], F[t-1,h-w t ] + p t ) különben F[t,h] F[t-1,h] elágazás vége ciklus vége ciklus vége vissza F[N,W max ] függvény vége Megjegyzés: a tömböket kivételesen 0-tól indexeljük
19 hátizsák probléma megoldásának előállítása Egy optimális pakolást állít elő az alábbi algoritmus: függvény HátizsákDPEredmény(F) OPT [hamis,hamis,,hamis] t N h W max ciklus amíg (t > 0) (h > 0) ha F[t,h] F[t-1,h] akkor OPT[t] igaz h h - w j elágazás vége t t - 1 ciklus vége vissza OPT függvény vége Elindulunk a (t=n, h=w max ) elemtől, majd Ha F[t,h] = F[t-1,h] az azt jelenti, hogy a t. elem nincs benne a zsákban (hiszen ugyanakkora helyen nélküle ugyanakkora az optimális pakolás értéke) Ha a két érték nem egyezik, akkor a t. elem benne van a zsákban Ezt követően vizsgáljuk a megelőző tárgyakból elérhető optimális pakolást (a fentiek alapján korrigált szabad hellyel)
20 20 A dinamikus programozás módszere általánosan A módszer hatékony használatának előkövetelményei: A feladat legyen optimális részstruktúrájú: a feladat optimális megoldása önmagán belül a részfeladatok optimális megoldásait is tartalmazza Legyenek a részfeladatok átfedőek: a részfeladatokra bontás során többször is merüljön fel ugyanannak a részfeladatnak a megoldása A módszerrel minden, a fenti feltételeknek megfelelő probléma egyszerűen megoldható Amennyiben ezek teljesülnek, a megoldás lépései: Az optimális megoldás szerkezetének jellemzése A megoldás értékének (jóságának) rekurzív módon való definiálása Az optimális megoldás értékének (jóságának) kiszámítása alulról felfelé történő módon Amennyiben szükséges, magának az optimális megoldásnak a magadása Az utolsó lépés csak akkor szükséges, ha nem elég egy optimális megoldás értéke, hanem magát a megoldást is tudni szeretnénk
21 21 A dinamikus programozás értékelése Előnyei Futásideje általában kedvező Nincs szükség egy részprobléma többszöri megoldására Nem rekurzív Minden, az előfeltételeknek megfelelő feladat megoldható vele Tárigénye és lépésszáma előre tudható Hátrányai Az alulról felfelé való megoldás miatt néha felesleges részproblémákat is megold A többi megoldáshoz viszonyítva a tárigénye magasabb lehet Megjegyzés A tárigény csökkenthető, ha a már szükségtelen részmegoldások eredményeit töröljük (hátizsáknál pl. mindig csak az előző sorra van szükségünk) További klasszikus dinamikus programozáson alapuló megoldások: Mátrixok láncszorzása Leghosszabb közös részsorozat Stb.
22 Nyers erő módszere Oszd meg és uralkodj Feljegyzéses módszer Dinamikus programozás Mohó algoritmusok Optimalizációs stratégiák 1.
23 23 Mohó algoritmusok Mohó algoritmus: a feladat megoldása során felmerülő részproblémák megoldásakor mindig az aktuálisan legjobbnak tűnő részeredményt választja Legjobbnak tűnő: a rendelkezésre álló (általában hiányos) információk alapján próbálja megbecsülni, hogy mit érdemes választani. Ebből adódóan a futásideje általában nagyon jó A mohó stratégia általában az alábbi két előfeltételt igényli Optimális részproblémák: az optimális megoldás felépíthető a részproblémák optimális megoldásából Mohó választás: a globális optimális megoldás elérhető lokális optimumok választásán keresztül Mohó algoritmusok típusai Az előzőeknek megfelelő problémák esetén mindig optimális megoldást ad Bizonyos feladatoknál nem mindig ad optimális megoldást, csak egy közel optimálisat (bár általában itt is bizonyítható, hogy ez mennyire van közel az optimálishoz)
24 hátizsák probléma megoldása mohó algoritmussal Egy közel optimális pakolást állít elő az alábbi algoritmus: függvény HátizsákMohó TárgyakRendezése(w, p) OPT [hamis,hamis,,hamis] t 1 ciklus amíg (ÖsszSúly(OPT) < W max ) (t N) ha ÖsszSúly(OPT) + w t W max akkor OPT[t] igaz elágazás vége t t + 1 ciklus vége vissza ÖsszÉrték(OPT) függvény vége Először rendezzük a tárgyakat valamilyen szempont szerint, pl. Súly szerint növekvő sorrend Érték szerint csökkenő sorrend Érték/súly szerint csökkenő sorrend Ezt követően a fenti sorrendben kezdjük vizsgálni a tárgyakat Ha még belefér a zsákba, akkor belerakjuk, egyébként nem Megállunk ha tele a zsák, vagy elfogytak a tárgyak
25 25 A mohó módszer értékelése Előnyei Futásideje nagyon jó (gyakran lineáris) Ha nem ad optimális megoldást, akkor is egy közel optimálisat nyújt (ez alapja lehet egy másik, lassabb de pontosabb módszernek) Hátrányai Csak a feladatok egy szűk körénél használható Megjegyzés A 0-1 hátizsákproblémára nem ismert mohó algoritmus, a töredékes hátizsákproblémára (amikor egy tárgy egy részét is berakhatjuk a zsákba) viszont könnyen belátható, hogy működik az általunk megadott módszer a harmadik rendezést használva A későbbiek során még számos mohó algoritmussal találkozunk, amelyek bizonyítottan mindig optimális megoldást adnak Dijkstra algoritmusa Prim algoritmusa Kruskal algoritmusa Stb.
26 26 Irodalomjegyzék Javasolt/felhasznált irodalom Rónyai, Ivanyos, Szabó: Algoritmusok, Typotex, 2005 Cormen, Leiserson, Rivest: Algoritmusok, Műszaki Könyvkiadó, 1997 Mehlhorn, Sanders: Algorithms and Data Structures, Springer, 2008 Skiena: The Algorithm Design Manual, Springer, 2008 Szénási: Algoritmusok, adatszerkezetek II., Óbudai Egyetem, 2014
Optimalizációs stratégiák 2.
Optimalizációs stratégiák 2. Visszalépéses keresés, szétválasztás és korlátozás előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai
RészletesebbenProgramozási módszertan. Mohó algoritmusok
PM-08 p. 1/17 Programozási módszertan Mohó algoritmusok Werner Ágnes Villamosmérnöki és Információs Rendszerek Tanszék e-mail: werner.agnes@virt.uni-pannon.hu PM-08 p. 2/17 Bevezetés Dinamikus programozás
RészletesebbenVisszalépéses keresés
Visszalépéses keresés Backtracking előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Alapvető működése Továbbfejlesztési
RészletesebbenAlgoritmizálás, adatmodellezés tanítása 8. előadás
Algoritmizálás, adatmodellezés tanítása 8. előadás Elágazás és korlátozás A backtrack alkalmas-e optimális megoldás keresésére? Van költség, és a legkisebb költségű megoldást szeretnénk előállítani. Van
RészletesebbenPartíció probléma rekurzíómemorizálással
Partíció probléma rekurzíómemorizálással A partíciószám rekurzív algoritmusa Ω(2 n ) műveletet végez, pedig a megoldandó részfeladatatok száma sokkal kisebb O(n 2 ). A probléma, hogy bizonyos már megoldott
RészletesebbenFibonacci számok. Dinamikus programozással
Fibonacci számok Fibonacci 1202-ben vetette fel a kérdést: hány nyúlpár születik n év múlva, ha feltételezzük, hogy az első hónapban csak egyetlen újszülött nyúl-pár van; minden nyúlpár, amikor szaporodik
RészletesebbenB-fa. Felépítés, alapvető műveletek. Programozás II. előadás. Szénási Sándor.
B-fa Felépítés, alapvető műveletek előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar B-fa Felépítése Beszúrás művelete Törlés
RészletesebbenProgramozás II. előadás
Nem összehasonlító rendezések Nem összehasonlító rendezések Programozás II. előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor Óbudai Egyetem,Neumann János Informatikai Kar Programozás II. 2 Rendezés
RészletesebbenAlgoritmizálás, adatmodellezés tanítása 7. előadás
Algoritmizálás, adatmodellezés tanítása 7. előadás Oszd meg és uralkodj! Több részfeladatra bontás, amelyek hasonlóan oldhatók meg, lépései: a triviális eset (amikor nincs rekurzív hívás) felosztás (megadjuk
RészletesebbenGráfok 2. Legrövidebb utak, feszítőfák. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor
Gráfok 2. Legrövidebb utak, feszítőfák előadás http://nik.uni-obuda.hu/sztf2 Szénási Sándor Óbudai Egyetem,Neumann János Informatikai Kar Legrövidebb utak keresése Minimális feszítőfa keresése Gráfok 2
Részletesebben4. Előfeltételek (ha vannak) 4.1 Tantervi Nincs 4.2 Kompetenciabeli Feladatok kijelentéseinek megértése
A TANTÁRGY ADATLAPJA 1. A képzési program adatai 1.1 Felsőoktatási intézmény Babeș Bolyai Tudományegyetem 1.2 Kar Matematika és Informatika 1.3 Intézet Magyar Matematika és Informatika 1.4 Szakterület
RészletesebbenProgramozási segédlet
Programozási segédlet Programozási tételek Az alábbiakban leírtam néhány alap algoritmust, amit ismernie kell annak, aki programozásra adja a fejét. A lista korántsem teljes, ám ennyi elég kell legyen
RészletesebbenSzámítógép és programozás 2
Számítógép és programozás 2 6. Előadás Problémaosztályok http://digitus.itk.ppke.hu/~flugi/ Emlékeztető A specifikáció egy előfeltételből és utófeltételből álló leírása a feladatnak Léteznek olyan feladatok,
RészletesebbenDinamikus programozás II.
Dinamikus programozás II. Dinamikus programozás stratégiája A dinamikus programozás stratégiája 1. Az [optimális] megoldás szerkezetének tanulmányozása. 2. Részproblémákra és összetevőkre bontás úgy, hogy:
RészletesebbenAdatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)
Adatszerkezetek Nevezetes algoritmusok (Keresések, rendezések) Keresések A probléma általános megfogalmazása: Adott egy N elemű sorozat, keressük meg azt az elemet (határozzuk meg a helyét a sorozatban),
RészletesebbenRekurzív algoritmusok
Rekurzív algoritmusok 11. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. november 14. Sergyán (OE NIK) AAO 11 2011. november 14. 1 / 32 Rekurzív
RészletesebbenProgramozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs
Programozás I. 1. előadás: Algoritmusok alapjai Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember 7. Sergyán
RészletesebbenGráfok. Programozás II. előadás. Szénási Sándor.
Gráfok előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Tárolási módok Szélességi bejárás Mélységi bejárás Legrövidebb
RészletesebbenProgramozás alapjai. 6. gyakorlat Futásidő, rekurzió, feladatmegoldás
Programozás alapjai 6. gyakorlat Futásidő, rekurzió, feladatmegoldás Háziellenőrzés Egészítsd ki úgy a simplemaths.c programot, hogy megfelelően működjön. A program feladata az inputon soronként megadott
RészletesebbenAlgoritmusokfelülnézetből. 1. ELŐADÁS Sapientia-EMTE
Algoritmusokfelülnézetből 1. ELŐADÁS Sapientia-EMTE 2015-16 Algoritmus Az algoritmus kifejezés a bagdadi arab tudós, al-hvárizmi(780-845) nevének eltorzított, rosszul latinra fordított változatából ered.
RészletesebbenRekurzió. Működése, programtranszformációk. Programozás II. előadás. Szénási Sándor.
Rekurzió Működése, programtranszformációk előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Rekurzió Rekurzió alapjai Rekurzív
RészletesebbenEseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.
Eseménykezelés előadás http://nik.uni-obuda.hu/sztf2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Függvénymutatókkal Származtatással Interfészekkel Egyéb
RészletesebbenBranch-and-Bound. 1. Az egészértéketű programozás. a korlátozás és szétválasztás módszere Bevezető Definíció. 11.
11. gyakorlat Branch-and-Bound a korlátozás és szétválasztás módszere 1. Az egészértéketű programozás 1.1. Bevezető Bizonyos feladatok modellezése kapcsán előfordulhat olyan eset, hogy a megoldás során
RészletesebbenProgramozási módszertan. Dinamikus programozás: szerelőszalag ütemezése Mátrixok véges sorozatainak szorzása
PM-06 p. 1/28 Programozási módszertan Dinamikus programozás: szerelőszalag ütemezése Mátrixok véges sorozatainak szorzása Werner Ágnes Villamosmérnöki és Információs Rendszerek Tanszék e-mail: werner.agnes@virt.uni-pannon.hu
RészletesebbenGráfok 1. Tárolási módok, bejárások. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor
Gráfok 1. Tárolási módok, bejárások előadás http://nik.uni-obuda.hu/sztf2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Gráfok 1. Tárolási módok Szélességi
RészletesebbenProgramozási módszertan. Függvények rekurzív megadása "Oszd meg és uralkodj" elv, helyettesítő módszer, rekurziós fa módszer, mester módszer
PM-03 p. 1/13 Programozási módszertan Függvények rekurzív megadása "Oszd meg és uralkodj" elv, helyettesítő módszer, rekurziós fa módszer, mester módszer Werner Ágnes Villamosmérnöki és Információs Rendszerek
RészletesebbenHaladó rendezések. PPT 2007/2008 tavasz.
Haladó rendezések szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Alapvető összehasonlító rendezések Shell rendezés Kupacrendezés Leszámláló rendezés Radix rendezés Edényrendezés
RészletesebbenAlgoritmusok, adatszerkezetek, objektumok
Algoritmusok, adatszerkezetek, objektumok 1. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 14. Sergyán (OE NIK) AAO 01 2011.
RészletesebbenSapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 4. kurzus. 3. Előadás: A mohó algoritmus
Csíkszereda IRT-. kurzus 3. Előadás: A mohó algoritmus 1 Csíkszereda IRT. kurzus Bevezetés Az eddig tanult algoritmus tipúsok nem alkalmazhatók: A valós problémák nem tiszta klasszikus problémák A problémák
RészletesebbenHatékonyság 1. előadás
Hatékonyság 1. előadás Mi a hatékonyság Bevezetés A hatékonyság helye a programkészítés folyamatában: csak HELYES programra Erőforrásigény: a felhasználó és a fejlesztő szempontjából A hatékonyság mérése
RészletesebbenAlgoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás
Algoritmusok Tervezése 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás Mi az algoritmus? Lépések sorozata egy feladat elvégzéséhez (legáltalánosabban) Informálisan algoritmusnak nevezünk bármilyen jól definiált
RészletesebbenÁltalános algoritmustervezési módszerek
Általános algoritmustervezési módszerek Ebben a részben arra mutatunk példát, hogy miként használhatóak olyan általános algoritmustervezési módszerek mint a dinamikus programozás és a korlátozás és szétválasztás
RészletesebbenFelvételi tematika INFORMATIKA
Felvételi tematika INFORMATIKA 2016 FEJEZETEK 1. Természetes számok feldolgozása számjegyenként. 2. Számsorozatok feldolgozása elemenként. Egydimenziós tömbök. 3. Mátrixok feldolgozása elemenként/soronként/oszloponként.
Részletesebbenangolul: greedy algorithms, románul: algoritmi greedy
Mohó algoritmusok angolul: greedy algorithms, románul: algoritmi greedy 1. feladat. Gazdaságos telefonhálózat építése Bizonyos városok között lehet direkt telefonkapcsolatot kiépíteni, pl. x és y város
RészletesebbenDinamikus programozás párhuzamosítási lehetőségekkel
8. tavasz Dinamikus programozás párhuzamosítási lehetőségekkel A. Grama, A. Gupta, G. Karypis és V. Kumar: Introduction to Parallel Computing, Addison Wesley, könyv, valamint Michael Goodrich (Univ. California)
RészletesebbenMohó algoritmusok. Példa:
Mohó algoritmusok Optimalizálási probléma megoldására szolgáló algoritmus sokszor olyan lépések sorozatából áll, ahol minden lépésben adott halmazból választhatunk. Ezt gyakran dinamikus programozás alapján
RészletesebbenAlgoritmusok és adatszerkezetek gyakorlat 03 Oszd meg és uralkodj. Nagy
Algoritmusok és adatszerkezetek gyakorlat 03 Oszd meg és uralkodj Divide & Conquer (,,Oszd meg és uralkodj ) paradigma Divide: Osszuk fel az adott problémát kisebb problémákra. Conquer: Oldjuk meg a kisebb
RészletesebbenÖsszetett programozási tételek
Összetett programozási tételek 3. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 19. Sergyán (OE NIK) AAO 03 2011. szeptember
RészletesebbenA 2008/2009 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása. INFORMATIKÁBÓL II. (programozás) kategóriában
Oktatási Hivatal A 2008/2009 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása INFORMATIKÁBÓL II. (programozás) kategóriában Kérjük a tisztelt tanár kollégákat, hogy a
RészletesebbenProgramozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.
Programozás I. 1. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2012. szeptember 10. Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 1 /
RészletesebbenNagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1.
Nagyságrendek Kiegészítő anyag az Algoritmuselmélet tárgyhoz (a Rónyai Ivanyos Szabó: Algoritmusok könyv mellé) Friedl Katalin BME SZIT friedl@cs.bme.hu 018. február 1. Az O, Ω, Θ jelölések Az algoritmusok
RészletesebbenKiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése
Kiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése Dr. Kallós Gábor 2014 2015 1 Az Ordó jelölés Azt mondjuk, hogy az f(n) függvény eleme az Ordó(g(n)) halmaznak, ha van olyan c konstans (c
RészletesebbenLáncolt listák. Egyszerű, rendezett és speciális láncolt listák. Programozás II. előadás. Szénási Sándor
Láncolt listák Egyszerű, rendezett és speciális láncolt listák előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Láncolt
RészletesebbenDinamikus programozás - Szerelőszalag ütemezése
Dinamikus programozás - Szerelőszalag ütemezése A dinamikus programozás minden egyes részfeladatot és annak minden részfeladatát pontosan egyszer oldja meg, az eredményt egy táblázatban tárolja, és ezáltal
RészletesebbenAdatbázis rendszerek Gy: Algoritmusok C-ben
Adatbázis rendszerek 1. 1. Gy: Algoritmusok C-ben 53/1 B ITv: MAN 2015.09.08 Alapalgoritmusok Összegzés Megszámlálás Kiválasztás Kiválasztásos rendezés Összefésülés Szétválogatás Gyorsrendezés 53/2 Összegzés
RészletesebbenProgramozás I. Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu
Programozás I. 3. előadás Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember
RészletesebbenA félév során előkerülő témakörök
A félév során előkerülő témakörök rekurzív algoritmusok rendező algoritmusok alapvető adattípusok, adatszerkezetek, és kapcsolódó algoritmusok dinamikus programozás mohó algoritmusok gráf algoritmusok
Részletesebben17. A 2-3 fák és B-fák. 2-3 fák
17. A 2-3 fák és B-fák 2-3 fák Fontos jelentősége, hogy belőlük fejlődtek ki a B-fák. Def.: Minden belső csúcsnak 2 vagy 3 gyermeke van. A levelek egy szinten helyezkednek el. Az adatrekordok/kulcsok csak
RészletesebbenProgramozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.
Programozás I. 1. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2012. szeptember 10. Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 1 /
RészletesebbenAlgoritmuselmélet 2. előadás
Algoritmuselmélet 2. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu 2002 Február 12. ALGORITMUSELMÉLET 2. ELŐADÁS 1 Buborék-rendezés
RészletesebbenHasító táblázatok. Hasító függvények, kulcsütközés kezelése. Programozás II. előadás. Szénási Sándor
Hasító táblázatok Hasító függvények, kulcsütközés kezelése előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Felépítése
RészletesebbenAlgoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Algoritmizálás Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 0.1. Az algoritmikus tudás szintjei Ismeri (a megoldó algoritmust) Érti Le tudja pontosan
RészletesebbenProgramozás I. Egyszerű programozási tételek. Sergyán Szabolcs
Programozás I. 3. előadás Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember
RészletesebbenPélda Hajtsuk végre az 1 pontból a Dijkstra algoritmust az alábbi gráfra. (A mátrixban a c i j érték az (i, j) él hossza, ha nincs él.
Legrövidebb utak súlyozott gráfokban A feladat egy súlyozott gráfban egy adott pontból kiinduló legrövidebb utak megkeresése. Az input a súlyozott gráf és a kiindulási s pont. Outputként egy legrövidebb
RészletesebbenSpecifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik.
Algoritmus Az algoritmus olyan elemi műveletekből kompozíciós szabályok szerint felépített összetett művelet, amelyet megadott feltételt teljesítő bemeneti adatra végrehajtva, a megkívánt kimeneti adatot
RészletesebbenEgyszerű programozási tételek
Egyszerű programozási tételek 2. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 15. Sergyán (OE NIK) AAO 02 2011. szeptember 15.
RészletesebbenKorlátozás és szétválasztás módszere Holló Csaba 2
Korlátozás és szétválasztás módszere Holló Csaba 2 A módszert Imreh Balázs, Imreh Csanád: Kombinatorikus optimalizálás Novadat, Győr, 25 egyetemi tankönyve alapján, kisebb változtatásokkal fogjuk bemutatni.
RészletesebbenDinamikus programozás vagy Oszd meg, és uralkodj!
Dinamikus programozás Oszd meg, és uralkodj! Mohó stratégia Melyiket válasszuk? Dinamikus programozás vagy Oszd meg, és uralkodj! Háromszögfeladat rekurzívan: c nj := a nj ha 1 j n c ij := a ij + max{c
RészletesebbenAz informatika kulcsfogalmai
Az informatika kulcsfogalmai Kulcsfogalmak Melyek azok a fogalmak, amelyek nagyon sok más fogalommal kapcsolatba hozhatók? Melyek azok a fogalmak, amelyek más-más környezetben újra és újra megjelennek?
RészletesebbenProgramozási módszertan. Dinamikus programozás: A leghosszabb közös részsorozat
PM-07 p. 1/13 Programozási módszertan Dinamikus programozás: A leghosszabb közös részsorozat Werner Ágnes Villamosmérnöki és Információs Rendszerek Tanszék e-mail: werner.agnes@virt.uni-pannon.hu PM-07
RészletesebbenA rész (30 pont) A.1. Vajon mit csinál? (5 pont) A generál(n) algoritmus egy n természetes számot dolgoz fel (0 < n < 100).
BABEŞ-BOLYAI TUDOMÁNYEGYETEM MATEMATIKA-INFORMATIKA KAR Felvételi verseny - szeptember Informatika írásbeli A versenyzők figyelmébe: 1. Minden tömböt 1-től kezdődően indexelünk. 2. A rácstesztekre (A rész)
RészletesebbenElőfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból
ÜTEMTERV Programozás-elmélet c. tárgyhoz (GEMAK233B, GEMAK233-B) BSc gazdaságinformatikus, programtervező informatikus alapszakok számára Óraszám: heti 2+0, (aláírás+kollokvium, 3 kredit) 2019/20-es tanév
Részletesebben2017/ Szegedi Tudományegyetem Informatikai Intézet
Operációkutatás I. 2017/2018-2. Szegedi Tudományegyetem Informatikai Intézet Számítógépes Optimalizálás Tanszék 8. Előadás Bevezetés Egy olyan LP-t, amelyben mindegyik változó egészértékű, tiszta egészértékű
RészletesebbenProgramozási tételek. PPT 2007/2008 tavasz.
Programozási tételek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Strukturált programozás paradigma Alapvető programozási tételek Összetett programozási tételek Programozási
RészletesebbenRendezések. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar október 24.
Rendezések 8. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. október 24. Sergyán (OE NIK) AAO 08 2011. október 24. 1 / 1 Felhasznált irodalom
RészletesebbenProgramozás I. zárthelyi dolgozat
Programozás I. zárthelyi dolgozat 2013. november 11. 2-es szint: Laptopot szeretnénk vásárolni, ezért írunk egy programot, amelynek megadjuk a lehetséges laptopok adatait. A laptopok árát, memória méretét
RészletesebbenAlgoritmusok és adatszerkezetek gyakorlat 07
Algoritmusok és adatszerkezetek gyakorlat 0 Keresőfák Fák Fa: összefüggő, körmentes gráf, melyre igaz, hogy: - (Általában) egy gyökér csúcsa van, melynek 0 vagy több részfája van - Pontosan egy út vezet
RészletesebbenAdatszerkezetek 1. előadás
Adatszerkezetek 1. előadás Irodalom: Lipschutz: Adatszerkezetek Morvay, Sebők: Számítógépes adatkezelés Cormen, Leiserson, Rives, Stein: Új algoritmusok http://it.inf.unideb.hu/~halasz http://it.inf.unideb.hu/adatszerk
RészletesebbenAlkalmazott modul: Programozás 4. előadás. Procedurális programozás: iteratív és rekurzív alprogramok. Alprogramok. Alprogramok.
Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás 4. előadás Procedurális programozás: iteratív és rekurzív alprogramok Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
RészletesebbenAdatszerkezetek I. 7. előadás. (Horváth Gyula anyagai felhasználásával)
Adatszerkezetek I. 7. előadás (Horváth Gyula anyagai felhasználásával) Bináris fa A fa (bináris fa) rekurzív adatszerkezet: BinFa:= Fa := ÜresFa Rekord(Elem,BinFa,BinFa) ÜresFa Rekord(Elem,Fák) 2/37 Bináris
RészletesebbenA programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai
A programozás alapjai 1 1. előadás Híradástechnikai Tanszék Amiről szólesz: A tárgy címe: A programozás alapjai A számítógép részegységei, alacsony- és magasszintű programnyelvek, az imperatív programozási
RészletesebbenAlgoritmusok bonyolultsága
Algoritmusok bonyolultsága 5. előadás http://www.ms.sapientia.ro/~kasa/komplex.htm 1 / 27 Gazdaságos faváz Kruskal-algoritmus Joseph Kruskal (1928 2010) Legyen V = {v 1, v 2,..., v n }, E = {e 1, e 2,...,
RészletesebbenInformatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Mohó stratégia 1. TÁMOP-4.2.3.-12/1/KONV Többféle feladat megoldási stratégia létezik. Közülük az egyik legegyszerűbb a mohó stratégia,
RészletesebbenBináris keresőfa. Felépítés, alapvető műveletek. Programozás II. előadás. Szénási Sándor
Bináris keresőfa Felépítés, alapvető műveletek előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Bináris keresőfa Rekurzív
RészletesebbenProgramozás alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek
Programozás alapjai II. (7. ea) C++ Kiegészítő anyag: speciális adatszerkezetek Szeberényi Imre BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2016.04.05. - 1
RészletesebbenSpeciális adatszerkezetek. Programozás alapjai II. (8. ea) C++ Tömbök. Tömbök/2. N dimenziós tömb. Nagyméretű ritka tömbök
Programozás alapjai II. (8. ea) C++ Kiegészítő anyag: speciális adatszerkezetek Szeberényi Imre BME IIT Speciális adatszerkezetek A helyes adatábrázolás választása, a helyes adatszerkezet
RészletesebbenOsztott algoritmusok
Osztott algoritmusok A benzinkutas példa szimulációja Müller Csaba 2010. december 4. 1. Bevezetés Első lépésben talán kezdjük a probléma ismertetésével. Adott két n hosszúságú bináris sorozat (s 1, s 2
RészletesebbenJAVASLAT A TOP-K ELEMCSERÉK KERESÉSÉRE NAGY ONLINE KÖZÖSSÉGEKBEN
JAVASLAT A TOP-K ELEMCSERÉK KERESÉSÉRE NAGY ONLINE KÖZÖSSÉGEKBEN Supporting Top-k item exchange recommendations in large online communities Barabás Gábor Nagy Dávid Nemes Tamás Probléma Cserekereskedelem
RészletesebbenBABEŞ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR BBTE Matek-Infó verseny 1. tételsor INFORMATIKA írásbeli. A versenyzők figyelmébe:
BABEŞ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR BBTE Matek-Infó verseny 1. tételsor INFORMATIKA írásbeli A versenyzők figyelmébe: 1. A tömböket 1-től kezdődően indexeljük. 2. A rácstesztekre
RészletesebbenBánsághi Anna 2014 Bánsághi Anna 1 of 68
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 3. ELŐADÁS - PROGRAMOZÁSI TÉTELEK 2014 Bánsághi Anna 1 of 68 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív
Részletesebben11. Előadás. 11. előadás Bevezetés a lineáris programozásba
11. Előadás Gondolkodnivalók Sajátérték, Kvadratikus alak 1. Gondolkodnivaló Adjuk meg, hogy az alábbi A mátrixnak mely α értékekre lesz sajátértéke a 5. Ezen α-ák esetén határozzuk meg a 5 sajátértékhez
RészletesebbenEgyszerű programozási tételek
Egyszerű programozási tételek Sorozatszámítás tétele Például az X tömbben kövek súlyát tároljuk. Ha ki kellene számolni az összsúlyt, akkor az S = f(s, X(i)) helyére S = S + X(i) kell írni. Az f0 tartalmazza
RészletesebbenMohó stratégia. Feladat: Megoldás:
I. Feladat: Egy kábelhálózat különböző csatornáin N filmet játszanak. Ismerjük mindegyik film kezdési és végidejét. Egyszerre csak 1 filmet tudunk nézni. Add meg, hogy maximum hány filmet nézhetünk végig!
RészletesebbenJava programozási nyelv
Java programozási nyelv 2. rész Vezérlő szerkezetek Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/23 Tartalomjegyzék
RészletesebbenAdatszerkezetek II. 6. előadás
Adatszerkezetek II. 6. előadás Feladat: Egy kábelhálózat különböző csatornáin N filmet játszanak. Ismerjük mindegyik film kezdési és végidejét. Egyszerre csak 1 filmet tudunk nézni. Add meg, hogy maximum
RészletesebbenGyakori elemhalmazok kinyerése
Gyakori elemhalmazok kinyerése Balambér Dávid Budapesti M szaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Számítástudomány szakirány 2011 március 11. Balambér Dávid (BME) Gyakori
RészletesebbenA 2016/2017 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória
Oktatási Hivatal A 2016/2017 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató INFORMATIKA II. (programozás) kategória Kérjük a tisztelt tanár kollégákat, hogy a
RészletesebbenAlgoritmusok és adatszerkezetek II.
Szegedi Tudományegyetem - Természettudományi és Informatikai Kar - Informatikai Tanszékcsoport - Számítógépes Algoritmusok és Mesterséges Intelligencia Tanszék - Németh Tamás Algoritmusok és adatszerkezetek
Részletesebbenbármely másikra el lehessen jutni. A vállalat tudja, hogy tetszőlegesen adott
. Minimális súlyú feszítő fa keresése Képzeljük el, hogy egy útépítő vállalat azt a megbízást kapja, hogy építsen ki egy úthálózatot néhány település között (a települések között jelenleg nincs út). feltétel
RészletesebbenFüggvények növekedési korlátainak jellemzése
17 Függvények növekedési korlátainak jellemzése A jellemzés jól bevált eszközei az Ω, O, Θ, o és ω jelölések. Mivel az igények általában nemnegatívak, ezért az alábbi meghatározásokban mindenütt feltesszük,
RészletesebbenAlgoritmuselmélet. Bonyolultságelmélet. Katona Gyula Y.
Algoritmuselmélet Bonyolultságelmélet Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 12. előadás Katona Gyula Y. (BME SZIT) Algoritmuselmélet
RészletesebbenAlgoritmizálás és adatmodellezés tanítása 2. előadás
Algoritmizálás és adatmodellezés tanítása 2. előadás Tartalom Összegzés vektorra, mátrixra Megszámolás vektorra, mátrixra Maximum-kiválasztás vektorra, mátrixra Eldöntés vektorra, mátrixra Kiválasztás
RészletesebbenAz optimális megoldást adó algoritmusok
Az optimális megoldást adó algoritmusok shop ütemezés esetén Ebben a fejezetben olyan modellekkel foglalkozunk, amelyekben a munkák több műveletből állnak. Speciálisan shop ütemezési problémákat vizsgálunk.
Részletesebben4. Előfeltételek (ha vannak) 4.1 Tantervi Nincs 4.2 Kompetenciabeli Elemi algoritmusok ismerete
A TANTÁRGY ADATLAPJA 1. A képzési program adatai 1.1 Felsőoktatási intézmény Babeș-Bolyai Tudományegyetem 1.2 Kar Matematika és Informatika 1.3 Intézet Magyar Matematika és Informatika 1.4 Szakterület
RészletesebbenProgramozás alapjai II. (7. ea) C++
Programozás alapjai II. (7. ea) C++ Kiegészítő anyag: speciális adatszerkezetek Szeberényi Imre BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2016.04.05. - 1
RészletesebbenKeresési algoritmusok, optimalizáció
Keresési algoritmusok, optimalizáció Az eddig tanultakból a mostani részben gyakran használt (emiatt szükséges az ismeretük) programozási ismeretek: függvények létrehozása, meghívása (ld. 3. óra anyagában)
RészletesebbenDiszkrét Irányítások tervezése. Heurisztika Dr. Bécsi Tamás
Diszkrét Irányítások tervezése Heurisztika Dr. Bécsi Tamás Algoritmusok futásideje Az algoritmus futásideje függ az N bemenő paramétertől. Azonos feladat különböző N értékek esetén más futásidőt igényelnek.
RészletesebbenAdatbázis és szoftverfejlesztés elmélet. Programozási tételek
Adatbázis és szoftverfejlesztés elmélet Témakör 8. 1. Egy sorozathoz egy érték hozzárendelése Az összegzés tétele Összefoglalás Programozási tételek Adott egy számsorozat. Számoljuk és írassuk ki az elemek
RészletesebbenGenetikus algoritmusok
Genetikus algoritmusok Zsolnai Károly - BME CS zsolnai@cs.bme.hu Keresőalgoritmusok osztályai Véletlent használó algoritmusok Keresőalgoritmusok Kimerítő algoritmusok Dinamikus programozás BFS DFS Tabu
Részletesebben2. Visszalépéses keresés
2. Visszalépéses keresés Visszalépéses keresés A visszalépéses keresés egy olyan KR, amely globális munkaterülete: egy út a startcsúcsból az aktuális csúcsba (az útról leágazó még ki nem próbált élekkel
Részletesebben