Számítógép és programozás 2

Hasonló dokumentumok
Számítógép és programozás 2

Számítógép és programozás 2

Kiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése

Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás

Diszkrét Irányítások tervezése. Heurisztika Dr. Bécsi Tamás

Algoritmuselmélet. Bonyolultságelmélet. Katona Gyula Y.

Mesterséges Intelligencia MI

Mesterséges Intelligencia MI

A Számítástudomány alapjai

NP-teljesség röviden

Branch-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.

Algoritmuselmélet. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 13.

Keresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Gépi tanulás Gregorics Tibor Mesterséges intelligencia

definiálunk. Legyen egy konfiguráció, ahol és. A következő három esetet különböztetjük meg. 1. Ha, akkor 2. Ha, akkor, ahol, ha, és egyébként.

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék

JAVASLAT A TOP-K ELEMCSERÉK KERESÉSÉRE NAGY ONLINE KÖZÖSSÉGEKBEN

Regresszió. Csorba János. Nagyméretű adathalmazok kezelése március 31.

Számítógépes képelemzés 7. előadás. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Bonyolultságelmélet. Thursday 1 st December, 2016, 22:21

Algoritmusok bonyolultsága

Formális nyelvek - 9.

Keresések Gregorics Tibor Mesterséges intelligencia

Modern irányzatok a bonyolultságelméletben: éles korlátok és dichotómia tételek

Tesztkérdések az ALGORITMUSELMÉLET tárgyból, 2001/ félév

Totális Unimodularitás és LP dualitás. Tapolcai János

Kereső algoritmusok a diszkrét optimalizálás problémájához

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje

Képrekonstrukció 9. előadás

Kereső algoritmusok a diszkrét optimalizálás problémájához

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

Gépi tanulás a gyakorlatban. Lineáris regresszió

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2010/2011 1/363

Intelligens Rendszerek Elmélete IRE 4/32/1

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 4. kurzus. 3. Előadás: A mohó algoritmus

Számítógépes döntéstámogatás. Genetikus algoritmusok

angolul: greedy algorithms, románul: algoritmi greedy

Programozási módszertan. Mohó algoritmusok

Visszalépéses keresés

Bevezetés az informatikába

Logika és számításelmélet. 10. előadás

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

Automaták mint elfogadók (akceptorok)

Az optimális megoldást adó algoritmusok

Algoritmuselmé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.

TANULÁS. I. Logikai formulák tanulása. Tanulási módok. Miért m ködik jól az induktív tanulás? Induktív tanulás

Algoritmizálás, adatmodellezés tanítása 8. előadás

Bonyolultságelmélet. Monday 26 th September, 2016, 18:50

Teljesítmény Mérés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Teljesítmény Mérés / 20

A lineáris programozás alapjai

Mesterséges intelligencia. Gregorics Tibor people.inf.elte.hu/gt/mi

HÁLÓZATSZERŰEN MŰKÖDŐ LOGISZTIKÁVAL INTEGRÁLT TERMELÉSÜTEMEZÉS MEGOLDÁSA GENETIKUS ALGORITMUS ALKALMAZÁSÁVAL. OLÁH Béla

Korlátozás és szétválasztás módszere Holló Csaba 2

Bevezetés az informatikába

Általános algoritmustervezési módszerek

Kétszemélyes játékok Gregorics Tibor Mesterséges intelligencia

Hidraulikus hálózatok robusztusságának növelése

Genetikus algoritmusok

Problémamegoldás kereséssel. Mesterséges intelligencia március 7.

Formális nyelvek és automaták vizsgához statisztikailag igazolt várható vizsgakérdések

Optimalizációs stratégiák 1.

Tartalomjegyzék. Tartalomjegyzék... 3 Előszó... 9

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

Nem-lineáris programozási feladatok

ALAPFOGALMAK 1. A reláció az program programfüggvénye, ha. Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha

Tanulás az idegrendszerben. Structure Dynamics Implementation Algorithm Computation - Function

Bonyolultságelmélet. Monday 10 th October, 2016, 17:44

Dr. Schuster György február / 32

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

2. Visszalépéses keresés

Turing-gép május 31. Turing-gép 1. 1

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.

Approximációs algoritmusok

Turing-gépek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz VIII. Friedl Katalin BME SZIT március 18.

Algoritmizálás, adatmodellezés tanítása 6. előadás

Deníciók és tételek a beugró vizsgára

Algoritmusok bonyolultsága

Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs

Megerősítéses tanulás 7. előadás

Bevezetés a programozásba I 3. gyakorlat. PLanG: Programozási tételek. Programozási tételek Algoritmusok

Számításelmélet. Második előadás

A félév során előkerülő témakörök

Algoritmizálás és adatmodellezés tanítása 2. előadás

Algoritmuselmélet. Hashelés. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem

Algoritmuselmélet. Függvények nagyságrendje, elágazás és korlátozás, dinamikus programozás. Katona Gyula Y.

Algoritmuselmélet. Függvények nagyságrendje, elágazás és korlátozás, dinamikus programozás. Katona Gyula Y.

Online algoritmusok. Algoritmusok és bonyolultságuk. Horváth Bálint március 30. Horváth Bálint Online algoritmusok március 30.

V. Kétszemélyes játékok

Logika és számításelmélet

MŰSZAKKIOSZTÁSI PROBLÉMÁK A KÖZÖSSÉGI KÖZLEKEDÉSBEN

Algoritmuselmélet 12. előadás

Evolúciós algoritmusok

Algoritmusok bonyolultsága

Heurisztikák algoritmusok ütemezési problémákra. 1. Állapottér és a megoldások kezelése

Bonyolultságelmélet. Monday 26 th September, 2016, 18:28

Hasonlósági keresés molekulagráfokon: legnagyobb közös részgráf keresése

Alkalmazott modul: Programozás. Programozási tételek, rendezések. Programozási tételek Algoritmusok és programozási tételek

Bevezetés. Dr. Iványi Péter

Mesterséges intelligencia

Turing-gépek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT augusztus 16.

Átírás:

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, amiket nem lehet megoldani programmal Vagyis olyan elő- és utófeltétel pár, amire belátható, hogy algoritmus nem garantálhatja a teljesülést Ma arról lesz szó, hogy amit meg lehet oldani, azt mennyire nehéz megoldani

Emlékeztető O(f(n)) jelölés: egy algoritmust jellemez, hogy a futásidejét hogyan lehet becsülni az adat egy paramétere alapján maximumkeresés: O(n) maximumkiválasztásos rendezés: O(n 2 ) quicksort: O(log 2 n) Most futásidő mellett memóriaigényre is használni fogjuk

Emlékeztető Chomsky nyelvosztályok L3, reguláris: lineáris időben eldönthető a szóprobléma L2, környezetfüggetlen: köbös időben eldönthető a szóprobléma L1, hosszúságot nem csökkentő szabályok: exponenciális időben eldönthető a szóprobléma L0, tetszőleges szabályok: parciálisan rekurzív, csak akkor ad választ az algoritmus, ha a szóprobléma megoldása az igaz

Döntési probléma Minden feladat, aminek a kimenete egyetlen logikai érték Példák: szóprobléma prímszám-e terminálási probléma Sok feladat átfogalmazható döntési feladatra, de van, ami nem, pl. optimalizálási feladatok

Keresési/optimalizálási feladatok Az algoritmus bemenete egy halmaz (leírása) Kimenete egy elem a halmazból, amire teljesül a feltétel (optimalizálásnál egy szélsőértéke a célfüggvénynek) Példák: rendezések: melyik az a permutáció, amelyikre igaz a rendezettség Rubik kocka kirakásához szükséges lépéssorozat minimális?

P vs NP A döntés folyamata szerint a megoldó algoritmus P, ha determinisztikus és polinomiális időben végez NP, ha nemdeterminisztikus, és polinomiális időben választ adhat Kitérő: nemdeterminisztikus algoritmus előre nem megadott lépések, véletlenszerű választások, a lehetőségek között ha van kedvező, akkor a lehetőség miatt a megoldás útjának ez tekinthető pl. nemdeterminisztikus automata és a szóprobléma

P vs NP P részhalmaza NP-nek Az, hogy P =?= NP, jelenleg nyitott kérdés Sokak szerint a válasz nem, de nincs bizonyítva NP-teljes problémák: olyan problémák, amikre létezik ismert NP megoldás, és egymásra levezethetőek O(n) időben vagyis, ha egyikről kiderül, hogy P, akkor a többi is.

Híres NP-teljes problémák Hamilton kör léte Utazó ügynök probléma Pakolási probléma Részösszeg probléma Izomorfizmus gráfokban Gráf színezés (több mint 3000 másik) Sudoku, aknakereső, stb

NP-teljes problémák Pozitív: megoldhatóak Negatív: lassan, általános esetben Sok esetben felismerhető egy-egy speciális eset, amivel könnyen választható egyszerűbb megoldás tipikusan gyakran a rejtvényújság Sudoku rejtvényei lineáris időben megfejthetőek pakolási probléma és a váltópénz minimális darabszáma is jó példa: a váltópénz címleteit szándékosan úgy választják meg, hogy a lineáris idejű megoldás optimális legyen

NP-teljes problémák Máskor a megoldás minőségével szembeni követelményeket enyhítik Pakolási probléma operációs rendszer munkafolyamatain a memóriában mindig az igényelt memóriánál legkevésbé nagyobb helyet adni: O(n) nem optimális, de nem sokkal rosszabb Heurisztika: gyakorlati tapasztalatból adódó, feltételezésekre építő elem az algoritmusban

A keresési feladat megoldása Legyen a lehetséges megoldások halmaza M ciklus { X legyen egy tetszőleges eleme M-nek } amíg X nem megoldás Kicsit lassú Viszont minden keresési feladat őse A keresési feladatok csak abban különböznek, hogy milyen stratégia szerint vizsgálnak meg egy elemet előbb, vagy később

Ingyen leves tétel Nincs ingyen leves: nincs mindenre jó keresési stratégia Tetszőleges, egyébként egy részterületen kiváló keresési stratégiához létezik olyan másik részterület, ahol nem jó P(A talál n lépésben) = P(B talál n lépésben) Más szavakkal: az adott részterület sajátságainak kihasználása nélkül pont olyan hatékony minden algoritmus (pl. az előző is)

Az ingyen leves tétel következménye Egy használható keresési-optimalizálási megoldásnak rendelkeznie kell ismerettel a problémáról Heurisztika Tanulás reprezentáció

Genetikus algoritmus Van egy fit(x) függvényünk, ami a feladat célfüggvénye legyen P egy részhalmaz M-ből ciklus amíg nem vagyunk elégedettek P legjobbjával P elemei közül a nagyobb fit() értékűekhez hasonlókat szaporítunk, az alacsonyabbakat töröljük néhány elemet P-ben véletlenszerűen megváltoztatunk ciklus vége

Genetikus algoritmus Mit használunk ki? A fit függvény adott A hasonló szaporítása reprezentációját már heurisztikusan választhatjuk A mutációt is heurisztikusan választhatjuk A múltbeli ismereteinket használjuk, körről körre az eddigi jó megoldásokat megtartjuk feltételezzük, hogy a legjobb megoldáshoz vezető úton jobb és jobb megoldásokon keresztül megyünk a választott heurisztikákkal

Genetikus algoritmus példa Hegymászás: adott egy hegy, aminek nem tudjuk hol a csúcsa, de azt tudjuk, hogy nincs másik lokális maximumpont szaporításnál a szülő(k) környékén véletlenszerűen választhatunk így garantálva van, hogy a mindenkori legmagasabban levő példány van legközelebb az optimumhoz Nagyon ritkán ilyen könnyű a feladat erre más megoldások, kiegészítések: maximális meredekség (gradiens), szimulált hűtés

Összefoglalás A keresési és döntési feladatokat három osztályba sorolhatjuk: megoldhatatlan lassan megoldható (pl. NP-teljes) polinomiális időben megoldható Az NP-teljes problémák kezelése a brute force mellett heurisztikus megközelítések enyhített feltételek

Utazó ügynök probléma