Optimalizációs stratégiák 2.
|
|
- Kristóf Magyar
- 7 évvel ezelőtt
- Látták:
Átírás
1 Optimalizációs stratégiák 2. Visszalépéses keresés, szétválasztás és korlátozás előadás Szénási Sándor Óbudai Egyetem,Neumann János Informatikai Kar
2 Optimalizációs stratégiák 2. Visszalépéses keresés Visszalépéses kereséssel optimalizálás Szétválasztás és korlátozás
3 3 Bevezető feladat Egy építkezésen több egymástól független munkafázist kell elvégezni. Osszuk szét a munkákat az arra alkalmas személyek között (úgy, hogy mindenki csak egyet vállalhat)! Géza Miklós Miklós András Zsolt Géza Miklós Klaudia András Zsolt Palika András Géza Szponzor Irányítás Alap Végigpróbálgathatjuk az összes lehetséges változatot, (amelyekből összesen = 96 db van), ezek túlnyomó többsége azonban nem megoldása a feladatnak Olyan algoritmust keresünk, ami a megoldás keresése során eleve nem folytat olyan utakat, amelyek láthatóan nem vezethetnek megoldáshoz Fal Engedély Lefizetés
4 Feladat általánosítása 4 N darab részeredményt keresünk (E 1, E 2... E N ) Mindegyikhez ismerjük a véges értékkészletet (pl. E 1 -hez ennek mérete M 1, elemei: R 1,1, R 1,2,... R 1,M1 ) M 1 =2 M 2 =2 M 3 =2 R 2,1 R 3,1 M 4 =3 R 4,1 R 4,2 M 5 =2 M 6 =2 R 1,2 R 2,2 R 3,2 R 4,3 R 1,1 R 6,2 R 5,1 R 6,1 R 5,2 E 1 E 2 E 3 E 4 E 5 E 6 N=6 A visszalépéses keresés olyan feladat típusoknál alkalmazható hatékonyan, ahol A megoldandó feladat több, egymástól csak közvetve függő részfeladat megoldásából áll Már a részfeladatok egy részéből is lehet arra következtetni, hogy az azokra adott részmegoldásokkal biztosan nem érhető el a teljes megoldás
5 5 Visszalépéses keresés paraméterei Keresés bemenete: N megoldandó részfeladatok száma M szint szint-edik részfeladat lehetséges részmegoldásainak a száma R szint,i szint-edik részfeladat i. lehetséges részmegoldása Keresés kimenete: van van-e teljes megoldás? E részmegoldásokat tartalmazó vektor (E i az i. részmegoldás értéke) A feladattól függő szabályokat általában két függvény segítségével adjuk meg: F t (szint, s) Egy függvény, ami azt határozza meg, hogy a szint-edik részfeladat esetében lehetséges megoldás-e az s? F k (szint, s, E) Azt határozza meg, hogy a szint-edik részfeladat esetében választhatjuk-e az s részmegoldást, amennyiben az előző szinteken az E vektorban található részmegoldásokat választottuk? Az előző példa esetében az F t mindig igaz (hiszen csak olyanokat soroltunk fel, akik megfelelnek az adott feladatra), az F k pedig akkor igaz, ha a megadott embert még nem választottuk más munkára
6 6 Rekurzív visszalépéses keresés Visszalépéses keresés egy lehetséges megvalósítása eljárás VisszalépésesKeresés(szint, címsz. E, címsz. van) i 0 ciklus amíg van i < M szint i i + 1 ha F t (szint, R szint,i ) akkor ha F k (szint, R szint,i, E) akkor E szint R szint,i ha szint = N akkor van igaz különben VisszalépésesKeresés(szint + 1, E, van) ciklus vége eljárás vége van hamis VisszalépésesKeresés(1, E, van)
7 7 Rekurzív visszalépéses keresés egymást kizáró részmegoldásokkal Amennyiben az egyes részeredmények páronként kizáróak eljárás VisszalépésesKeresés(szint, címsz. E, címsz. van) i 0 ciklus amíg van i < M szint i i + 1 ha F t (szint, R szint,i ) akkor k 1 ciklus amíg k < szint F k (szint, R szint,i, k, E k ) k k + 1 ciklus vége ha k = szint akkor E szint R szint,i ha szint = N akkor van igaz különben VisszalépésesKeresés(szint + 1, E, van) ciklus vége eljárás vége van hamis VisszalépésesKeresés(1, E, van)
8 8 Visszalépéses kereséssel kezelhető problémák osztályozása Részfeladatok egymást kizárják igen (ilyenkor használható az általános algoritmus) nem (erre láttuk a második algoritmust) Részmegoldások száma logikai változók minden részfeladatnál két lehetőség közül választhatunk M darab több előre rögzített feltétel közül választhatunk előzményfüggő egy adott helyen a lehetséges választások száma attól függ, hogy az előző szinteken milyen értékeket választottunk (ilyenkor úgy kell az F t függvényt módosítani, hogy az is hozzáférjen az eddigi részeredményekhez) Logikai átfedések, időzítés Backtrack Kölcsönösen kizáró Összetett feltétel M darab Előzményfüggő Logikai M darab Előzményfüggő 8 királynő, sudoku, feladat kioszt. szólánc hátizsák pakolás összetett feladatkiosztás optimális útkeresés, huszár útja
9 9 Problématér átalakítása A visszalépéses keresés általunk vizsgált algoritmusa egy vektor elemeinek keresi az értékét A feladatok azonban gyakran több dimenzióban vannak meghatározva, pl. töltsünk ki egy sudoku táblát helyezzünk el egy sakktáblán királynőket járjunk be egy sakktáblát egy huszárral Megoldási lehetőségek algoritmus módosítása: az i ciklus cseréje egy két vagy többdimenziós teret bejáró egymásba ágyazott ciklusokkal problématér átalakítása: az eredetileg többdimenziós problémát felírjuk egydimenziós formában (erre látunk példákat a következő diákon) 1,1 1,2 1,3 szint N = 6 2,1 2,2 2,3 1,1 1,2 1,3 2,1 2,2 2,3 3,1 3,2 3,3 3,1 3,2 3,3
10 10 8 királynő a sakktáblán Klasszikus feladat: helyezzünk el úgy 8 királynőt a sakktáblán, hogy azok ne üssék egymást A lehetséges elhelyezések száma meglehetősen nagy: ,78 * A visszalépéses keresés jól használható, mivel ha bármelyik két már lerakott királynő üti egymást, akkor nem is kell vizsgálni a többieket Problématér átalakítása: minden oszlopba pontosan egy királynőt kell elhelyeznünk, így valójában 8 darab 1..8 közötti számot keresünk, ez már egyszerű egydimenziós probléma A kölcsönösen kizáró algoritmus így már alkalmazható: N = 8 M i = 8 ; R i,j = j (i=1..8 ; j = 1..8) F t (i, r) = igaz F k (i, r, j, q) = akkor igaz, ha a sakk szabályai szerint az i,r és a j,q pozícióban lévő királynők nem ütik egymást
11 11 8 királynő a sakktáblán (2) Egy lehetséges elhelyezés F k megvalósítása: (x 1,y 1 ) és (x 2, y 2 ) helyen álló királynők akkor ütik egymást, ha az alábbiak közül bármelyik teljesül: x 1 = x 2 y 1 = y 2 x 1 - x 2 = y 1 - y 2
12 12 Huszár útja a sakktáblán Klasszikus feladat: egy fix kezdőpontból be lehet járni egy huszárral az egész táblát úgy, hogy minden mezőt pontosan egyszer érintünk? Egy huszár 8 irányba tud lépni, így az ellenőrizendő kombinációk száma: kb ,84 * Visszalépéses keresés jól használható, mivel egy n-edik rossz lépés után nem kell foglalkozni az utána következő (63-n) darabbal Problématér átalakítása: tudjuk, hogy 63 lépésünk lesz, így a feladat valójában a 63 megfelelő irány megtalálása (minden lépésnél 8 lehetőség közül választhatunk) Az algoritmus előzményfüggő változata használható: N = 63 M i = 8 ; R i,j = a j. lehetséges lépés iránya (pl. 2 fel+1 balra, 2 fel+1 jobbra, stb.) F t megadott helyre léphet-e a huszár (táblán belül marad?). Mivel ez egy előzményfüggő feladat, itt az F t is megkapja az előző lépések értékét (E vektor), ami alapján tudja hogy épp hol jár, és ez alapján tud dönteni F k az előző lépések nem zárják-e ki az új helyet? (járt már ott?)
13 13 Sudoku feladat megoldó Egy 9x9-es táblázat tartalmaz előre beírt és üres mezőket. Az n darab üres mezőt kell kitölteni az alábbi szabályok szerint minden üres helyre egy szám írható 1..9 között egy sorban, illetve egy oszlopban nem szerepelhet kétszer ugyanaz a szám a tábla 3x3-as blokkokra oszlik, egy blokkon belül nem lehet kétszer ugyanaz Lineáris kereséssel a lépésszám: kb. n 9 Visszalépéses keresés jól használható, mivel ha két mezőbe beírt érték kizárja egymást, akkor a többi mezőt nem is kell vizsgálni Problématér átalakítása: maga a tábla kétdimenziós, azonban egy listába felsorolhatjuk az üres mezőket. Így megfelelően n darab részfeladatunk lesz, amelyekbe 1..9 közötti értéket keresünk Az algoritmus előzményfüggő változata használható: N = üres mezők száma M i = 9 ; R i,j = j (i=1..n ; j = 1..9) F t (i, j) az i. számú üres mezőbe beírható-e a j érték (a fix mezők alapján) F k (i,r,j,q) az i. üres mezőbe írt r szám nem zárja ki a j. üres mezőbe írt q-t
14 14 Sudoku feladat megoldó Kétdimenziós tábla átalakítása egydimenziós szerkezetté Ezzel a módszerrel jelentősen kibővíthető a visszalépéses kereséssel megoldható feladatok köre Fix mezők: Üres mezők: (0,0) (0,2) (0,3) (1,0) (0,1) (0,4) (1,2) (1,3) Az egyes szinteknek az egyes üres mezők felelnek meg, ezek között kell keresni megfelelő számokat 1..9 között
15 Optimalizációs stratégiák 2. Visszalépéses keresés Visszalépéses kereséssel optimalizálás Szétválasztás és korlátozás
16 16 Minden megoldás kiválogatása Az első megoldás után nem állunk meg, keressük a többit eljárás VisszalépésesKeresés(szint, címsz. E, címsz. van, címsz. MIND) i 0 ciklus amíg van i < M szint i i + 1 ha F t (szint, R szint,i ) akkor ha F k (szint, R szint,i, E) akkor E szint R szint,i ha szint = N akkor van igaz MIND MIND E különben VisszalépésesKeresés(szint + 1, E, van, MIND) ciklus vége eljárás vége van hamis MIND VisszalépésesKeresés(1, E, van, MIND)
17 17 Optimális megoldás keresése Keresés helyett tulajdonképpen minimumkiválasztás eljárás VisszalépésesKeresés(szint, címsz. E, címsz. van, címsz. OPT) i 0 ciklus amíg van i < M szint i i + 1 ha F t (szint, R szint,i ) akkor ha F k (szint, R szint,i, E) akkor E szint R szint,i ha szint = N akkor ha van Jóság(E) > Jóság(OPT) akkor OPT E van igaz különben VisszalépésesKeresés(szint + 1, E, van, OPT) ciklus vége eljárás vége van hamis VisszalépésesKeresés(1, E, van, OPT)
18 18 Hátizsák probléma 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
19 19 Hátizsákba pakolás A visszalépéses keresés használható: ha néhány tárgy együtt nem fér a hátizsákba, akkor az ezen az úton nem kell tovább vizsgálódni Az algoritmus előzményfüggő változata használható: N = tárgyak száma M i = 2 ; R i,1 = igaz (adott tárgy bekerül), R i,2 = hamis (adott tárgy nem kerül be) F t igaz, ha a tárgy önmagában belefér a zsákba F k igaz, ha az előző tárgyakkal együtt sem lépte túl a maximális méretet Az összehasonlíthatóság érdekében egyszerűsített algoritmust írunk Nincs külön M i és R i, hiszen minden szinten két részmegoldás van csak Az F t -t mindig igaznak tekintjük így el is hagyhatjuk (ha egy tárgy mégse férne be a zsákba, akkor az F k úgyis hamis lesz) A VAN változóra sincs szükség, mivel a kiinduló állapot (semmit se rakunk a zsákba) egy biztosan érvényes pakolást tartalmaz. Megállási feltételre pedig nincs szükség az optimalizáció miatt.
20 0-1 hátizsák probléma megoldása visszalépéses keresés segítségével 20 függvény F k (szint, E) vissza ÖsszSúly(E) W max függvény vége eljárás Backtrack(szint, címsz. E, címsz. OPT) ciklus i 0-tól 1-ig E[szint] (i = 0) ha F k (szint, E) akkor ha szint = N akkor ha ÖsszÉrték(E) > ÖsszÉrték(OPT) akkor OPT E különben Backtrack(szint + 1, E, OPT) ciklus vége eljárás vége függvény HátizsákBT E [hamis,hamis,,hamis]; OPT [hamis,hamis,,hamis] Backtrack(1, E, OPT) vissza ÖsszÉrték(OPT) függvény vége
21 21 A visszalépéses keresés módszer értékelése Előnyei Jól áttekinthető, általánosan használható módszer Az oszd meg és uralkodj módszerhez hasonlóan a nyilvánvalóan felesleges részfeladatok vizsgálatát elkerüli Hátrányai A rekurzív hívások miatt az erőforrásigénye nagy lehet (persze megírható a backtrack iteratív formában is) Az átfedő részfeladatok esetén elképzelhető, hogy többször megoldja ugyanazt a részfeladatot Bizonyos feladatokra találhatunk jobb megoldást is
22 Optimalizációs stratégiák 2. Visszalépéses keresés Visszalépéses kereséssel optimalizálás Szétválasztás és korlátozás
23 23 Szétválasztás és korlátozás (branch and bound) Bizonyos feladatoknál a keresés közben nem csak azt tudjuk megállapítani, hogy egy úton lehet-e megoldás, hanem azt is, hogy ez a megoldás lehet-e jobb mint az eddig talált legjobb Ilyenkor használható jól a szétválasztás és korlátozás technika, amely során az alábbi két függvényre van szükség: Szétválasztási függvény: ennek szerepe, hogy egy bonyolult feladatot szétbontson egyszerűbb részfeladatokra (ez már ismerős lehet az eddigi technikákból) Korlátozó függvény: ez próbálja megmondani, hogy egy részfeladat megoldásának érdemes-e nekiállni. Általában egy felső becslést ad arra, hogy a megadott részfeladatnak mi lehet a legjobb eredménye. Ha még ezzel se járunk jobban, mint az eddigi optimum, akkor nem is kezd bele a vizsgálatba A hátizsákpakolásnál pl. megnézhetjük, hogy ha az összes hátralévő tárgyat bele tudjuk rakni a megmaradt szabad helyre, akkor jobb megoldást kapunk-e mint az eddigi legjobb ez egy felső becslés, ha már ez se igaz, akkor nem is érdemes vizsgálódni erre ha nem, akkor folytatni kell a rekurziót, hogy mi a tényleges részmegoldás erre
24 0-1 hátizsák probléma megoldása szétválasztás és korlátozás -sal függvény F b (szint, E) pfk 0 ciklus i szint + 1-től N-ig ha ÖsszSúly(E) + w i < W max akkor pfk pfk + p i ciklus vége vissza pfk függvény vége eljárás Backtrack(szint, címsz. E, címsz. OPT) ciklus i 0-tól 1-ig E[szint] (i = 0) ha F k (szint, E) akkor ha szint = N akkor ha ÖsszÉrték(E) > ÖsszÉrték(OPT) akkor OPT E különben ha ÖsszÉrték(E) + F b (szint,e) > ÖsszÉrték(OPT) akkor Backtrack(szint + 1, E, OPT) ciklus vége eljárás vége Az algoritmus többi része megegyezik az előző megoldással szenasi.sandor@nik.uni-obuda.hu 24
25 25 A szétválasztás és korlátozás módszer értékelése Előnyei A fentieknek megfelelően egy kellőképpen finomhangolt algoritmus nagyon sok felesleges lépést meg tud spórolni Nem csak a már rögzített részeredményeken alapul a továbblépés, hanem a még fel nem dolgozott részproblémákat is figyelembe veszi Hátrányai Csak megfelelően kiválasztott szétválasztó és korlátozó függvények esetében működik Megjegyzés A példaprogramban a visszalépéses keresés által adott algoritmust módosítottuk úgy, hogy egy korlátozó függvény is legyen benne. Ez természetesen más technikáknál is lehetséges Bár nehéz egyértelműen összehasonlítani az egyes technikákat, talán ezt tekinthetjük a leghatékonyabbnak, hiszen ez előrefele is néz a keresés során
26 26 Irodalomjegyzék Javasolt/felhasznált irodalom Pap, Szlávi, Zsakó: μlógia4 Módszeres programozás: Rekurzió, ELTE TTK, 2004 Rónyai, Ivanyos, Szabó: Algoritmusok, Typotex, 2005 Cormen, Leiserson, Rivest: Algoritmusok, Műszaki Könyvkiadó, 1997 Mehlhorn, Sanders: Algorithms and Data Structures, Springer, 2008 Szénási: Algoritmusok, adatszerkezetek II., Óbudai Egyetem, 2014
Visszalé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észletesebbenOptimalizációs stratégiák 1.
Optimalizációs stratégiák 1. Nyers erő, Oszd meg és uralkodj, Feljegyzéses, Dinamikus, Mohó 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
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észletesebbenRekurzió. Témakörök. Rekurzió alapelve. Rekurzió alapjai Rekurzív algoritmusok végrehajtása Visszalépéses keresés Programtranszformációk
Rekurzió szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Rekurzió alapjai Rekurzív algoritmusok végrehajtása Visszalépéses keresés Programtranszformációk 2 Rekurzió alapelve
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á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é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é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é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é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é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é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é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észletesebbenInformatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: isszalépéses keresés TÁMOP-4.2.3.-12/1/KON A visszalépéses keresés (backtrack) a problémamegoldás igen széles területén alkalmazható
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é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 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észletesebben29. Visszalépéses keresés 1.
29. Visszalépéses keresés 1. A visszalépéses keresés algoritmusa Az eddig megismert algoritmusok bizonyos értelemben nyílegyenesen haladtak elôre. Tudtuk, hogy merre kell mennünk, és minden egyes lépéssel
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észletesebbenAlgoritmusok és adatszerkezetek I. 1. előadás
Algoritmusok és adatszerkezetek I 1 előadás Típusok osztályozása Összetettség (strukturáltság) szempontjából: elemi (vagy skalár, vagy strukturálatlan) összetett (más szóval strukturált) Strukturálási
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észletesebbenBACKTRACKING Visszalépéses keresés
BACKTRACKING Visszalépéses keresés I. rész A wiki.prog.hu weboldal az alábbi leírással vezeti fel a visszalépéses keresés algoritmus bemutatását: A visszalépéses keresés (Backtracking) olyan esetekben
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é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é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é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é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é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é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észletesebbenStruktúra nélküli adatszerkezetek
Struktúra nélküli adatszerkezetek Homogén adatszerkezetek (minden adatelem azonos típusú) osztályozása Struktúra nélküli (Nincs kapcsolat az adatelemek között.) Halmaz Multihalmaz Asszociatív 20:24 1 A
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észletesebbenBevezetés a programozásba. 5. Előadás: Tömbök
Bevezetés a programozásba 5. Előadás: Tömbök ISMÉTLÉS Specifikáció Előfeltétel: milyen körülmények között követelünk helyes működést Utófeltétel: mit várunk a kimenettől, mi az összefüggés a kimenet és
RészletesebbenVisszalépéses kiválogatás
elépő a tudás közösségébe Informatika szakköri segédanyag Heizlerné akonyi iktória, Horváth Győző, Menyhárt László, Szlávi Péter, Törley Gábor, Zsakó László Szerkesztő: Abonyi-Tóth Andor, Zsakó László
RészletesebbenRekurzió. Dr. Iványi Péter
Rekurzió Dr. Iványi Péter 1 Függvényhívás void f3(int a3) { printf( %d,a3); } void f2(int a2) { f3(a2); a2 = (a2+1); } void f1() { int a1 = 1; int b1; b1 = f2(a1); } 2 Függvényhívás void f3(int a3) { printf(
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észletesebbenAlgoritmusok, adatszerkezetek II.
NEUMANN JÁNOS INFORMATIKAI KAR Szénási Sándor Algoritmusok, adatszerkezetek II. ÓE-NIK 50 Budaest, 05. Készült az Óbudai Egyetem án az ÓE-NIK 50. sz. jegyzetszerz dés keretein belül 04-ben. Szerz : Dr.
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észletesebbenInformatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: isszalépéses kiválogatás TÁMOP-4.2.3.-12/1/KON isszalépéses kiválogatás 1. Az összes lehetséges sorrend Sokszor előfordul feladatként,
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é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é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é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é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észletesebbenFEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI
FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI statisztika 10 X. SZIMULÁCIÓ 1. VÉLETLEN számok A véletlen számok fontos szerepet játszanak a véletlen helyzetek generálásában (pénzérme, dobókocka,
RészletesebbenDiszkrét, egészértékű és 0/1 LP feladatok
Diszkrét, egészértékű és 0/1 LP feladatok In English Integer Programming - IP Zero/One (boolean) programming 2007.03.12 Dr. Bajalinov Erik, NyF MII 1 Diszkrét és egészértékű változókat tartalmazó feladatok
RészletesebbenHORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport
10-es Keressünk egy egész számokat tartalmazó négyzetes mátrixban olyan oszlopot, ahol a főátló alatti elemek mind nullák! Megolda si terv: Specifika cio : A = (mat: Z n m,ind: N, l: L) Ef =(mat = mat`)
RészletesebbenProgramozási nyelvek a közoktatásban alapfogalmak I. előadás
Programozási nyelvek a közoktatásban alapfogalmak I. előadás Szempontok Programozási nyelvek osztályozása Felhasználói kör (amatőr, professzionális) Emberközelség (gépi nyelvektől a természetes nyelvekig)
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é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észletesebbenAlgoritmusok és adatszerkezetek 2.
Algoritmusok és adatszerkezetek 2. Varga Balázs gyakorlata alapján Készítette: Nagy Krisztián 1. gyakorlat Nyílt címzéses hash-elés A nyílt címzésű hash táblákban a láncolással ellentétben egy indexen
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é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é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észletesebbenKorlátozás és szétválasztás elve. ADAGOLO adattípus
Korlátozás és szétválasztás elve ADAGOLO adattípus Értékhalmaz: E Adagolo : A E Műveletek: A : Adagolo, x : E {Igaz} Letesit(A) {A = /0} {A = A} Megszuntet(A) {Igaz} {A = A} Uresit(A) {A = /0} {A = A}
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á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é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é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é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észletesebbenA 2013/2014 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 2013/2014 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató INFORMTIK II. (programozás) kategória Kérjük a tisztelt tanár kollégákat, hogy a dolgozatokat
RészletesebbenBevezetés a programozásba I 3. gyakorlat. PLanG: Programozási tételek. Programozási tételek Algoritmusok
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 3. gyakorlat PLanG: 2011.09.27. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Algoritmusok
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észletesebbenBevezetés az informatikába
Bevezetés az informatikába 6. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.
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é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é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észletesebbenPermutáció n = 3 esetében: Eredmény: permutációk száma: P n = n! romámul: permutări, angolul: permutation
Visszalépéses módszer (Backtracking) folytatás Permutáció n = 3 esetében: 1 2 3 2 3 1 3 1 2 Eredmény: 3 2 3 1 2 1 123 132 213 231 312 321 permutációk száma: P n = n! romámul: permutări, angolul: permutation
RészletesebbenFák 2009.04.06. Témakörök. Fa definíciója. Rekurzív típusok, fa adatszerkezet Bináris keresőfa, bejárások Bináris keresőfa, módosítás B-fa
Fák szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Rekurzív típusok, fa adatszerkezet Bináris keresőfa, bejárások Bináris keresőfa, módosítás B-fa Témakörök 2 Fa (Tree): csomópontok
RészletesebbenMiskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék
Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék 2016/17 2. félév 8. Előadás Dr. Kulcsár Gyula egyetemi docens Kereső algoritmusok alkalmazása
RészletesebbenProblémamegoldási stratégiák
Problémamegoldási stratégiák Kumulatív összegzés Algoritmusok kumulatív összegzés Adott egy N elemű számsorozat, adjuk meg a sorozat azon [a,b] intervallumát, ahol az elemek összege maximális! Bemenet:
RészletesebbenInformatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Visszalépéses maximumkiválasztás TÁMOP-4.2.3.-12/1/KONV 1. Munkásfelvétel: N állás N jelentkező Egy vállalkozás N különböző állásra
RészletesebbenOptimalizálás alapfeladata Legmeredekebb lejtő Lagrange függvény Log-barrier módszer Büntetőfüggvény módszer 2017/
Operációkutatás I. 2017/2018-2. Szegedi Tudományegyetem Informatikai Intézet Számítógépes Optimalizálás Tanszék 9. Előadás Az optimalizálás alapfeladata Keressük f függvény maximumát ahol f : R n R és
RészletesebbenAlgoritmusok és adatszerkezetek I. 3. előadás
Algoritmusok és adatszerkezetek I. 3. előadás Kupac A kupac olyan véges elemsokaság, amely rendelkezik az alábbi tulajdonságokkal: 1. Minden elemnek legfeljebb két rákövetkezője (leszármazottja) lehet.
RészletesebbenInformatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Visszalépéses keresés korlátozással TÁMOP-4.2.3.-12/1/KONV A visszalépéses keresés (backtrack) a problémamegoldás igen széles területén
RészletesebbenÖsszetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.
Összetett programozási tételek Sorozathoz sorozatot relő feladatokkal foglalkozunk. A bemenő sorozatot le kell másolni, s közben az elemekre vonatkozó átalakításokat lehet végezni rajta: Input : n N 0,
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észletesebben2. Visszalépéses stratégia
2. Visszalépéses stratégia A visszalépéses keres rendszer olyan KR, amely globális munkaterülete: út a startcsúcsból az aktuális csúcsba (ezen kívül a még ki nem próbált élek nyilvántartása) keresés szabályai:
RészletesebbenKereső algoritmusok a diszkrét optimalizálás problémájához
Kereső algoritmusok a diszkrét optimalizálás problémájához A. Grama, A. Gupta, G. Karypis és V. Kumar: Introduction to Parallel Computing, Addison Wesley, 2003. könyv anyaga alapján A kereső eljárások
RészletesebbenGROVER-algoritmus. Sinkovicz Péter. ELTE, MSc II dec.15.
ELTE, MSc II. 2011.dec.15. Áttekintés Feladat Algoritmus Kvantum keresési algoritmus áttekintése Input: N = 2 n elemű tömb, Ψ 1 = 0 1 kezdőállapot, f x0 (x) orákulum függvény. Output: x 0 keresett elem
RészletesebbenDualitás Dualitási tételek Általános LP feladat Komplementáris lazaság 2017/ 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 7. Előadás Árazási interpretáció Tekintsük újra az erőforrás allokációs problémát (vonat
RészletesebbenVisszalépéses keresés korlátozással
Belépő a tudás közösségébe Informatika szakköri segédanyag Visszalépéses keresés korlátozással Heizlerné Bakonyi Viktória, Horváth Győző, Menyhárt László, Szlávi Péter, Törley Gábor, Zsakó László Szerkesztő:
RészletesebbenKereső algoritmusok a diszkrét optimalizálás problémájához
Kereső algoritmusok a diszkrét optimalizálás problémájához A. Grama, A. Gupta, G. Karypis és V. Kumar: Introduction to Parallel Computing, Addison Wesley, 2003. könyv anyaga alapján A kereső eljárások
RészletesebbenSzámítógép és programozás 2
Számítógép és programozás 2 11. Előadás Halmazkeresések, dinamikus programozás http://digitus.itk.ppke.hu/~flugi/ A keresési feladat megoldása Legyen a lehetséges megoldások halmaza M ciklus { X legyen
RészletesebbenA programozás alapjai előadás. [<struktúra változó azonosítók>] ; Dinamikus adatszerkezetek:
A programozás alapjai 1 Dinamikus adatszerkezetek:. előadás Híradástechnikai Tanszék Dinamikus adatszerkezetek: Adott építőelemekből, adott szabályok szerint felépített, de nem rögzített méretű adatszerkezetek.
RészletesebbenAdatszerkezetek 7a. Dr. IványiPéter
Adatszerkezetek 7a. Dr. IványiPéter 1 Fák Fákat akkor használunk, ha az adatok között valamilyen alá- és fölérendeltség van. Pl. könyvtárszerkezet gyökér () Nincsennek hurkok!!! 2 Bináris fák Azokat a
RészletesebbenMesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008
Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 007/008 Az Előadások Témái Bevezető: mi a mesterséges intelligencia... Tudás reprezentáció i stratégiák Szemantikus hálók / Keretrendszerek
RészletesebbenAlgoritmusok pszeudókód... 1
Tartalomjegyzék Algoritmusok pszeudókód... 1 Abszolút érték... 1 Hányados ismételt kivonással... 1 Legnagyobb közös osztó... 2 Páros számok szűrése... 2 Palindrom számok... 2 Orosz szorzás... 3 Minimum
Részletesebben5. Hét Sorrendi hálózatok
5. Hét Sorrendi hálózatok Digitális technika 2015/2016 Bevezető példák Példa 1: Italautomata Legyen az általunk vizsgált rendszer egy italautomata, amelyről az alábbi dolgokat tudjuk: 150 Ft egy üdítő
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észletesebbenMesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008
Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008 Az Előadások Témái Bevezető: mi a mesterséges intelligencia... Tudás reprezentáció Gráfkeresési stratégiák Szemantikus hálók
RészletesebbenAlgoritmusok és adatszerkezetek I. 4. előadás
Algoritmusok és adatszerkezetek I. 4. előadás A lista olyan sorozat, amelyben műveleteket egy kiválasztott, az ún. aktuális elemmel lehet végezni. A lista rendelkezik az alábbi műveletekkel: Üres: Lista
Részletesebben1/ gyakorlat. Lineáris Programozási feladatok megoldása szimplex módszerrel. Pécsi Tudományegyetem PTI
/ Operációkutatás. gyakorlat Lineáris Programozási feladatok megoldása szimplex módszerrel Pécsi Tudományegyetem PTI /. Legyen adott az alábbi LP-feladat: x + 4x + x 9 x + x x + x + x 6 x, x, x x + x +
RészletesebbenTartalomjegyzék Algoritmusok - pszeudókód... 1 42
Tartalomjegyzék Algoritmusok - pszeudókód... 1 42 Abszolút érték...1 Hányados ismételt kivonással...1 Legnagyobb közös osztó... 1 2 Páros számok szűrése...2 Palindrom számok... 2 3 Orosz szorzás...3 Minimum
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észletesebbenÜtemezési problémák. Kis Tamás 1. ELTE Problémamegoldó Szeminárium, ősz 1 MTA SZTAKI. valamint ELTE, Operációkutatási Tanszék
Ütemezési problémák Kis Tamás 1 1 MTA SZTAKI valamint ELTE, Operációkutatási Tanszék ELTE Problémamegoldó Szeminárium, 2012. ősz Kivonat Alapfogalmak Mit is értünk ütemezésen? Gépütemezés 1 L max 1 rm
RészletesebbenAdatszerkezetek II. 1. előadás
Adatszerkezetek II. 1. előadás Gráfok A gráf fogalma: Gráf(P,E): P pontok (csúcsok) és E P P élek halmaza Fogalmak: Irányított gráf : (p 1,p 2 ) E-ből nem következik, hogy (p 2,p 1 ) E Irányítatlan gráf
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észletesebbenVisszalépéses maximumkiválasztás
Belépő a tudás közösségébe Informatika szakköri segédanyag Visszalépéses maximumkiválasztás Heizlerné Bakonyi Viktória, Horváth Győző, Menyhárt László, Szlávi Péter, Törley Gábor, Zsakó László Szerkesztő:
Részletesebben