Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

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.

Hasonló előadás


Az előadások a következő témára: "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."— Előadás másolata:

1 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

2 IRE 4 /32/ 2 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – 4.1.2 http://nik.uni-obuda.hu/mobil Problémamegoldás kereséssel

3 IRE 4 /32/ 3 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – 4.1.2 ”Egyszerű” lények intelligenciája? http://www.youtube.com/watch?v=tLO2n3YMcXw&NR=1

4 IRE 4 /32/ 4 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – 4.1.2 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.

5 IRE 4 /32/ 5 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – 4.1.2 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

6 IRE 4 /32/ 6 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – 4.1.2 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: 35 90  Ha egy erős játékos minden állásban 1.76 lépést tart jónak, akkor 1.76 90 tehát 1.25 * 10 22 kiértékelendő csúcs adódik  4.6 milliárd év ~ 10 18 másodperc   Ha egy másodperc alatt 10 000 á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

7 IRE 4 /32/ 7 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – 4.1.2 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 10181 440 206.08 * 10 16 304.42 * 10 30 A C D B S Kombinatorikus robbanás !!!

8 IRE 4 /32/ 8 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – 4.1.2 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)

9 IRE 4 /32/ 9 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – 4.1.2 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.

10 IRE 4 /32/ 10 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – 4.1.2 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

11 IRE 4 /32/ 11 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – 4.1.2 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)

12 IRE 4 /32/ 12 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – 4.1.2 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

13 IRE 4 /32/ 13 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – 4.1.2 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,

14 IRE 4 /32/ 14 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – 4.1.2 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

15 IRE 4 /32/ 15 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – 4.1.2 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)

16 IRE 4 /32/ 16 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – 4.1.2 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

17 IRE 4 /32/ 17 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – 4.1.2 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

18 IRE 4 /32/ 18 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – 4.1.2 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

19 IRE 4 /32/ 19 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – 4.1.2 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 )

20 IRE 4 /32/ 20 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – 4.1.2 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.

21 IRE 4 /32/ 21 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – 4.1.2 Példa optimális megoldás keresésre gráfon S A B c1CD Ec2 2 5 3 3 3 2 2 1 1 1 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)

22 IRE 4 /32/ 22 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – 4.1.2 Gyakorló feladat optimális megoldás keresésre gráfon S A B c1CD Ec2 25 2 4 2 5 10 16 9 24 23

23 IRE 4 /32/ 23 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – 4.1.2 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

24 IRE 4 /32/ 24 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – 4.1.2 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:

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

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

27 IRE 4 /32/ 27 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – 4.1.2 „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

28 IRE 4 /32/ 28 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – 4.1.2 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)

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

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

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

32 IRE 4 /32/ 32 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – 4.1.2 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?


Letölteni ppt "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."

Hasonló előadás


Google Hirdetések