IRE 4 /32/ 1 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – 4.1.2 I ntelligens R endszerek E lmélete 4.

Slides:



Advertisements
Hasonló előadás
A Floyd-Warshall algoritmus
Advertisements

Nevezetes algoritmusok
„Esélyteremtés és értékalakulás” Konferencia Megyeháza Kaposvár, 2009
MESTERSÉGES INTELLIGENCIA (ARTIFICIAL INTELLIGENCE)
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
Pac-Man játék tanulása Megerősítéses Tanulással Mesterséges Intelligencia algoritmusok tesztelése játékokon Gyenes Viktor Eötvös Loránd Tudományegyetem.
IRE 8 /38/ 1 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – I ntelligens R endszerek E lmélete 8.
DAG topologikus rendezése
Szélességi bejárás Párhuzamosítása.
Gráfok szélességi bejárása
Gráf Szélességi bejárás
MI 2003/ Alakfelismerés - még egy megközelítés: még kevesebbet tudunk. Csak a mintánk adott, de címkék nélkül. Csoportosítás (klaszterezés, clustering).
Minimax és problémaredukció, egyszerű példák INCK431 Előadó: Dr. Nagy Benedek Norbert Gyakorlatvezető: Kovács Zita 2011/2012. II. félév A MESTERSÉGES INTELLIGENCIA.
Készítette: Pető László
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
IRE 5 /18/ 1 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – I ntelligens R endszerek E lmélete 5.
Kétszemélyes játékok Előadó: Nagy Sára.
Prím algoritmus.
1 Györgyi Tamás – GYTNAAI.ELTE 2007 Április 03 Algoritmusok És Adatszerkezetek 2 Gráfalgoritmus Bellman-Ford Algoritmusa S a b d e
Dijkstra algoritmusa Egy csúcsból a többibe vezető legkisebb költségű út megkeresése Az algoritmus működésének leírása és bemutatása LL.
Szélességi bejárás A szélességi bejárással egy irányított vagy irányítás nélküli véges gráfot járhatunk be a kezdőcsúcstól való távolságuk növekvő sorrendjében.
KERESÉS (SEARCH).
Nevezetes algoritmusok Beszúrás Van egy n-1 elemű rendezett tömbünk. Be akarunk szúrni egy n-edik elemet. Egyik lehetőség, hogy végigszaladunk a tömbön,
Gráf szélességi bejárása
Listák, Vermek és Várakozási Sorok. Vermek Def: Egy sajátos lista amelyben minden beszúrási illetve törlési művelet csak a lista egyik végén történik.
Listák, Vermek és Várakozási Sorok
Hierarchikus lista Kétféle értelemezése van:
Lineáris programozás.
Lokális optimalizáció Feladat: f(x) lokális minimumának meghatározása 0.Adott egy kezdeti pont: x 0 1.Jelöljünk ki egy új x i pontot, ahol (lehetőleg)
Optimalizáció modell kalibrációja Adott az M modell, és p a paraméter vektora. Hogyan állítsuk be p -t hogy a modell kimenete az x bemenő adatokon a legjobban.
Gráf Szélességi bejárás/keresés algoritmusa
Fák.
Gráf szélességi bejárása SzB(G,p). Tetszőleges gráf, melyben a p csúcsot választottam kiindulónak: A gráfnak megfelelő fa:
Valós idejű adaptív útvonalkeresés
Előadó: Nagy Sára Mesterséges intelligencia Kereső rendszerek.
1 Szélességi Bejárás Györgyi Tamás – GYTNAAI.ELTE 2007 Március 22 Algoritmusok És Adatszerkezetek 2 Gráfalgoritmus S b a d e f h g c.
Kruskal-algoritmus.
BINÁRIS FA Definició: A fa olyanösszefüggő gráf, amelyben nincs kör
Szélességi bejárás. Kezdőcsúcs felvétele Innen haladunk egy szinttel lejebb, itt felvesszük az összes olyan csúcsot, amit elérünk Ha elfogytak, akkor.
Útkeresések.
SZÉLESSÉGI BEJÁRÁS Pap Imre DVX468. A bejárás Meglátogatjuk az első csúcsot, majd ennek a csúcsnak az összes szomszédját. Aztán ezen szomszédok összes.
Diszjunkt halmazok adatszerkezete A diszjunkt halmaz adatszerkezet diszjunkt dinamikus halmazok S={S 1,…,S n } halmaza. Egy halmazt egy képviselője azonosít.
1.  Szerzői:  Panagiotis Bouros (University of Hong Kong),  Shen Ge (University of Hong Kong),  Nikos Mamoulis (University of Hong Kong)  Esemény:
Gráf szélességi bejárása. Cél Az algoritmus célja az, hogy bejárjuk egy véges gráf összes csúcsát és kiírjuk őket a kezdőcsúcstól való távolságuk szerint.
Gráf szélességi bejárása. A szélességi bejárás elmélete Célja egy véges gráf összes csúcsának bejárása a kezdőcsúcstól való távolságuk szerinti növekvő.
Szélességi bejárás Gráf-algoritmusok Algoritmusok és adatszerkezetek II. Gergály Gábor WZBNCH1.
Prim algoritmus Algoritmusok és adatszerkezetek 2. Újvári Zsuzsanna.
Szélességi bejárás. Véges gráf összes csúcsának bejárása a kezdőcsúcstól való távolságuk szerinti növekvő sorrendben Egy csúcsot egyszer járunk be Egyenlő.
Gráf Szélességi bejárás Készítette: Giligor Dávid Neptun : HSYGGS.
3. Feladat Szélességi Bejárás FZGAF0 – Pintér László.
Eötvös Konferencia, 2008 április 26. Kovács Máté 1 Útkeresések optimalizálása számítógépes játékokban.
Mesterséges intelligencia 8. Stratégiai játékok A játék kimenetelére a játékosoknak ellenőrizhető módon van befolyásuk. Pl.: sakk, dáma, póker stb. A.
Gráfok szélességi bejárása Dijkstra algoritmus
Dinamikus adatszerkezetek
Algoritmusok és Adatszerkezetek I.
Mesterséges intelligencia
Nem módosítható keresések
Depth First Search Backtracking
Algoritmusok és Adatszerkezetek I.
Gráfalgoritmusok G=(V,E) gráf ábrázolása
Dijkstra algoritmusa: legrövidebb utak
Dijkstra algoritmusa: legrövidebb utak
Dijkstra algoritmusa: legrövidebb utak
Gráfalgoritmusok G=(V,E) gráf ábrázolása
2-3-fák A 2-3-fa egy gyökeres fa az alábbi tulajdonságokkal:
Algoritmusok és Adatszerkezetek I.
Absztrakt problémák Q  I  S, az absztrakt probléma kétváltozós reláció az esetek (I) és a megoldások (S) halmazán Példa: legrövidebb út Eset: gráf és.
Előadás másolata:

IRE 4 /32/ 1 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – I ntelligens R endszerek E lmélete 4

IRE 4 /32/ 2 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – Problémamegoldás kereséssel

IRE 4 /32/ 3 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – ”Egyszerű” lények intelligenciája?

IRE 4 /32/ 4 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – A problémák csoportosítása a megoldási idő szerint P (Polynomial) „viszonylag egyszerűen megoldható problémák.” P típusú egy probléma ha létezik olyan problémamegoldó algoritmus, melynek időszükséglete legfeljebb N polinomjával függ össze. NP (Non-deterministic Polynomial) „Nehéz problémák.” Azok a problémák, melyek bármely feltételezett megoldása polinomiális idő alatt eldönthető, hogy helyes –e. NP-teljes (NP complete): A legnehezebben megoldható, (nagy változószám esetén megoldhatatlan) problémák. A megoldásához szükséges idő e N (vagy n!) szerint változik.

IRE 4 /32/ 5 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – A problématér matematikai ábrázolása  Minden feladat (probléma) direkt vagy implicit módon meghatároz egy gráfot, (egyszerűbb estben egy fát) melynek:  Kezdőcsúcs: a kiinduló adathalmaz  Élek: az alkalmazható műveletek  Gráfpontok: „levelek”, „gyerek csomópontok”  Általános csúcsok: az adathalmaz egy-egy változatát tartalmazzák, amelyeket a megfelelő élek menti műveletek alkalmazásával kapunk. Fa struktúraGráf struktúra

IRE 4 /32/ 6 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – A keresési tér nagyságának becslése 1. Sakk 1 :  Egy átlagos játszma lépésváltásainak száma 45 ( a fa mélysége 90)  Egy állásban a legális lépések átlagos száma 35  A lehetséges levelek száma:  Ha egy erős játékos minden állásban 1.76 lépést tart jónak, akkor tehát 1.25 * kiértékelendő csúcs adódik  4.6 milliárd év ~ másodperc   Ha egy másodperc alatt állást értékelünk, akkor 4,6 milliárd évre lenne szükség Fekete Gregorics-Nagy: Bevezetés a mesterséges intelligenciába

IRE 4 /32/ 7 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – A keresési tér nagyságának becslése 2. Az utazó ügynök problémája: 1. Minden városba el kell utazni, 2. Minden városba csak egyszer kell elutazni, Felkeresendő városok száma (n) A lehetséges útirányok száma:n!/2n * * A C D B S Kombinatorikus robbanás !!!

IRE 4 /32/ 8 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – Produkciós (kereső) rendszer A produkciós rendszer a klasszikus mesterséges intelligencia egyik alapvető fogalma, egy sajátos probléma megoldási szemléletet tükröző feladat megoldási rendszer. Külön kezeli: A feladat adatait Az adatokon értelmezett műveleteket A műveleteket algoritmussá szervező vezérlési stratégiákat. (pl. keresés)

IRE 4 /32/ 9 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – A produkciós rendszer általános algoritmusa Kezdeti állapot kiválasztása While állapot ≠ célállapot do Begin Az állapotra alkalmazható operátor kiválasztása állapot:=operátor(állapot) End.

IRE 4 /32/ 10 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – A kereséssel kapcsolatos alapfogalmak  Globális optimum  Lokális optimum → „Niche”  Keresés matematikai értelemben = a gráf adott csomópontjából az operátorok segítségével egy másik csomópontba vitele, (kiterjesztése) → „gyermek” csomópontokba  Keresési típusok: Próba-hiba keresés Keresés a költség figyelmen kívül hagyásával Keresés a költség figyelembe vételével Heurisztikus keresések  Listák a vizsgált csomópontok tárolására: „open” lista a megnyitott csomópontok nyilvántartására „closed” lista a megvizsgált csomópontok számontartására Nem informált

IRE 4 /32/ 11 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – Mélységi keresés („depth first”) LIFO adatkezelés: (Last In First Out) „open” lista, az állapotok (csomópontok) tárolására „Mindig a zsák tetejére pakolunk, és onnan is veszünk el” Open lista: (S)(A,B)(C,D,B)(D,B)(B)(E,F)(G,cél,F)(cél,F)

IRE 4 /32/ 12 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – Mélységi keresés algoritmusa Open lista: (S)(A,B)(C,D,B)(D,B)(B)(E,F)(G,cél,F)(cél,F) Fabejárás: 1. tedd a start csomópontot az open listára 2. hurok: IF open=üres lista then kilépés; {! sikertelen, ha az összes csomópontot megvizsgáltuk} 3. n:=első(open); {az open lista első elemének beolvasása} 4.IF cél(n) then {sikeres} kilépés 5.vedd le (n, open); {n levétele az open listáról} 6. terjeszd ki n-t és helyezd az összes "gyermek" csomópontot az open lista elejére 7. Go TO hurok

IRE 4 /32/ 13 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – Példa mélységi keresésre gráfban S A B XCD Ecél open lista: (S)(A S,B S )(X A,C A,B S )(E X,C A,B S ) (C A,B S )(E C,cél C, B S )(cél C,B S ) closed lista S,A S,X A,E X,C A,

IRE 4 /32/ 14 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – Mélységi keresés gráfban 1. tedd a start csomópontot az open listára 2. hurok:IF open=üres THEN kilépés; sikertelen keresés 3. n:=első(open) 4.IF cél(n) THEN sikeres kilépés 5.vedd le (n, open), add hozzá (n, closed) 6.n kiterjesztésével generáld az összes "gyermek" csomópontot. Az open és a closed lista által nem tartalmazott gyermek csomópont az open lista elejére kerül és az n-re irányuló mutatót kap.  GO TO hurok

IRE 4 /32/ 15 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – Szélességi (horizontális) keresés („breadth-first ”) FIFO adatkezelés (First In First Out) „Mindig a cső elejére pakolunk, és a végéről veszünk el” Open lista: (S)(A,B)(B,C,D)(C,D,E,F)(D,E,F)(E,F)(F,G,cél)(G,cél)(cél)

IRE 4 /32/ 16 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – A szélességi keresés algoritmusa fa bejárásnál Open lista (S)(A,B)(B,C,D)(C,D,E,F)(D,E,F)(E,F)(F,G,cél)(G,cél)(cél) 1. tedd a start csomópontot az open listára 2. hurok:IF open=üres THEN kilépés; sikertelen keresés 3.n:=első(open) 4.IF cél(n) THEN sikeres kilépés 5.vedd le (n, open)terjeszd ki n-t és helyezd el az összes "gyermek" csomópontot az open lista végére 6. Go to hurok

IRE 4 /32/ 17 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – A szélességi keresés algoritmusa gráf bejárásnál 1. tedd a start csomópontot az open listára 2. hurok:IF open=üres THEN kilépés; sikertelen keresés 3. n:=első(open) 4.IF cél(n) THEN sikeres kilépés 5.vedd le (n, open), add hozzá (n, closed) n kiterjesztésével generáld az összes "gyermek" csomópontot. Az open és a closed lista által nem tartalmazott gyermek csomópont az open lista végére kerül és az n-re irányuló mutatót kap. 6. Go to hurok

IRE 4 /32/ 18 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – Példa szélességi keresésre gráfban S A B c1CD Ec2 open lista: (S)(A S,B S )(B S,c1 A,C A )(c1 A,C A,D B ) closed lista A S,B S

IRE 4 /32/ 19 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – Optimális (egyenletes) keresés „A kiindulási pontból mindig a minimális költségű csomópontot vizsgáljuk” Open lista: S(0) B S (1)A S (4) E B (3)A S (4),F B (4) A S (4)F B (4)c1 E (6)H E (7) F B (4)C A (5)c1 E (6)D A (6)H E (7) c2 F (5)C A (5)c1 E (6)D A (6)I F (6)H E (7 )

IRE 4 /32/ 20 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – A optimális keresés algoritmusa Fabejárás: 1. tedd a start csomópontot az OPEN listára 2. hurok:IF open=üres THEN kilépés; sikertelen! 3. n:=első(open) 4. IF cél(n) THEN sikeres kilépés 5. vedd le (n, open) 6. ha lehet, n kiterjesztése, minden n-nél a költség kiszámolása. A gyermek csomópontok felírása az open listára majd növekvő "költség" szerint sorrendbe rendezése 7. GO TO hurok Gráf keresésnél : 5. vedd le (n, open), add hozzá (n, closed) 6. az open és closed lista által nem tartalmazott gyermek csomópontok az open listára kerülnek, az n-re irányuló mutatót kapnak, majd növekvő "költség" szerint sorrendbe rendezzük.

IRE 4 /32/ 21 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – Példa optimális megoldás keresésre gráfon S A B c1CD Ec Előzetes open lista S(0) A S (2) B S (3) B S (3) c1 A (7) C A (5) c1 A (7) C A (5) C B (4) D B (6) D B (6) c1 A (7) E C (6) c2 C (5) (rendezett) open lista closed listA S(0) - A S (2) B S (3) S(0) B S (3) C A (5) c1 A (7) S(0) A S (2) C B (4) D B (6) c1 A (7) S(0) A S (2) B S (3) c2 C (5) D B (6) E C (6) c1 A (7) S(0) A S (2) B S (3) C B (4)

IRE 4 /32/ 22 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – Gyakorló feladat optimális megoldás keresésre gráfon S A B c1CD Ec

IRE 4 /32/ 23 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – Heurisztikus keresés Heurisztika : Heuriskein (görög)= felfedező, Archimedes„Heuréka” = megtaláltam a feladatoknak a tapasztalatokra és megalapozott ötletekre épülő próbálkozásokkal történő megoldási módszere. Az utazó ügynök probléma egy lehetséges heurisztikus megoldása: „Minden lépésnél a helyi legjobb alternatíva kiválasztása.” 1. Önkényesen kiválasztani a kezdő várost. 2. Megvizsgálni az összes nem meglátogatott várost és a legközelebbit felkeresni. 3. Ismételni a 2. lépést, amíg az összes várost meg nem látogattuk. A megoldás időszükséglete: n 2 ami << n!/2N

IRE 4 /32/ 24 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – Legjobbat először („best first”) algoritmus 1. tedd a start csomópontot az open listára 2. hurok:IF open=üres then sikertelen kilépés 3.n:=első(open) 4.IF cél(n) THEN sikeres kilépés 5.vedd le (n, open), add hozzá (n, closed) 6.terjeszd ki n-et és generáld az összes gyermek csomópontot. Csak az open és closed listákban nem szereplőket tedd az open listára és kapcsolj hozzájuk n-re irányuló mutatót. Rendezd az open lista csomópontjait növekvő h(n) szerinti sorrendbe 7.GO TO hurok. Edsger Dijkstra „legrövidebb útkereső algoritmusa” Sokat idézett optimunkereső algoritmus:

IRE 4 /32/ 25 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – Nehezen kereshető „ felszínek” 1

IRE 4 /32/ 26 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – Nehezen kereshető „ felszínek” 2

IRE 4 /32/ 27 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – „Hegymászó” algoritmus numerikus analízis -> ~ = gradiens módszer "A cél elérését az ahhoz megjósolhatóan legközelebb álló csomópontok (állapotok) kiválasztásával kísérli meg." h(n) = a csúcs és az n közötti távolság. Cél Start

IRE 4 /32/ 28 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – Helymászó algoritmus 1. n:=start csomópont 2. hurok:IF cél (n) THEN sikeres kilépés 3. terjeszd ki n-et, számold ki h(ni)-t minden gyermek csomópontra és a legkisebb "költségű" (csúcstól való távolságot) vedd a következő n-nek. 4. IF h(n)<h(következő n) then sikertelen kilépés 5. n:=következő n 6.GO TO hurok Problémás:- lokális maximum esetén (több "csúcs" létezése) - "fennsík" esetén (azonos magasságú hely)

IRE 4 /32/ 29 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – Nehezen kereshető „ felszínek” 3.

IRE 4 /32/ 30 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – Nehezen kereshető „ felszínek” 4.

IRE 4 /32/ 31 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – Nehezen kereshető „ felszínek” 5

IRE 4 /32/ 32 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – Kérdések - Miért van szükség kereső algoritmusokra a mesterséges intelligencia létrehozásához? - Tudnak-e heurisztikát alkalmazni a számítógépek? - Miért nehéz probléma eldönteni, hogy az egyes feladatok melyik probléma osztályba tartoznak?