Intelligens Rendszerek Elmélete IRE 4/32/1

Hasonló dokumentumok
Mesterséges Intelligencia MI

Mesterséges intelligencia 2. laborgyakorlat

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

Mesterséges Intelligencia MI

angolul: greedy algorithms, románul: algoritmi greedy

Algoritmusok bonyolultsága

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

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

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

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

Mesterséges Intelligencia MI

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

Adatszerkezetek 2. Dr. Iványi Péter

2. Visszalépéses stratégia

Mesterséges Intelligencia MI

Kétszemélyes játékok

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

Algoritmuselmélet. Gráfok megadása, szélességi bejárás, összefüggőség, párosítás. Katona Gyula Y.

Algoritmuselmélet. Mélységi keresés és alkalmazásai. Katona Gyula Y.

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

1. AZ MI FOGALMA. I. Bevezetés. Tulajdonságok. Kezdet ELIZA. Első szakasz (60-as évek)

Mesterséges intelligencia 3. laborgyakorlat

Gráfok 2. Legrövidebb utak, feszítőfák. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor

Elemi adatszerkezetek

Mesterséges Intelligencia I. (I602, IB602)

Adatszerkezetek 7a. Dr. IványiPéter

Algoritmusok bonyolultsága

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek

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

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

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

2017/ Szegedi Tudományegyetem Informatikai Intézet

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

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

értékel függvény: rátermettségi függvény (tness function)

Programozási segédlet

2. Visszalépéses keresés

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

Programozási módszertan. Mohó algoritmusok

Algoritmuselmélet 18. előadás

SZÁLLÍTÁSI FELADAT KÖRUTAZÁSI MODELL WINDOWS QUANTITATIVE SUPPORT BUSINESS PROGRAMMAL (QSB) JEGYZET Ábragyűjtemény Dr. Réger Béla LÉPÉSRŐL - LÉPÉSRE

HAMILTON KÖR: minden csúcson PONTOSAN egyszer áthaladó kör. Forrás: (

Gráfelméleti feladatok. c f

24. MINIMÁLIS KÖLTSÉGŰ UTAK I.

Euler tétel következménye 1:ha G összefüggő síkgráf és legalább 3 pontja van, akkor: e 3

Mesterséges Intelligencia MI

Programozás alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek

Speciá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

Koordinálás és feladatkiosztás aukciókkal 3.rész. Kooperáció és intelligencia, Dobrowiecki, BME-MIT

Mesterséges intelligencia 1 előadások

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

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

Hálózatszámítási modellek

Gyakori elemhalmazok kinyerése

értékel függvény: rátermettségi függvény (tness function)

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)

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

Mesterséges Intelligencia 1

Programozás alapjai II. (7. ea) C++

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

Keresések Gregorics Tibor Mesterséges intelligencia

bármely másikra el lehessen jutni. A vállalat tudja, hogy tetszőlegesen adott

Dijkstra algoritmusa

Gráfalgoritmusok ismétlés ősz

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

Gráfok 1. Tárolási módok, bejárások. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor

BASH script programozás II. Vezérlési szerkezetek

Mesterséges Intelligencia MI

Algoritmuselmélet 1. előadás

Az optimális megoldást adó algoritmusok

Adatszerkezetek 1. előadás

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar

30. ERŐSEN ÜSSZEFÜGGŐ KOMPONENSEK

NEM-DETERMINISZTIKUS PROGRAMOK HELYESSÉGE. Szekvenciális programok kategóriái. Hoare-Dijkstra-Gries módszere

Algoritmuselmélet 7. előadás

Automaták és formális nyelvek

A számítástudomány alapjai

Algoritmuselmélet. Legrövidebb utak, Bellmann-Ford, Dijkstra. Katona Gyula Y.

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

HAMILTON ÚT: minden csúcson PONTOSAN egyszer áthaladó út

Felvételi vizsga mintatételsor Informatika írásbeli vizsga

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

A programozás alapjai előadás. [<struktúra változó azonosítók>] ; Dinamikus adatszerkezetek:

Algoritmuselmélet 1. előadás

Gyakori elemhalmazok

Adatbázis rendszerek Gy: Algoritmusok C-ben

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

Diszkrét matematika II. gyakorlat

HÁZI FELADAT PROGRAMOZÁS I. évf. Fizikus BSc. 2009/2010. I. félév

Elengedhetetlen a játékokban, mozi produkciós eszközökben Nélküle kvantum hatás lép fel. Az objektumok áthaladnak a többi objektumon

Adott: VPN topológia tervezés. Költségmodell: fix szakaszköltség VPN végpontok

Bevezetés a kvantum informatikába és kommunikációba Féléves házi feladat (2013/2014. tavasz)

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

A gráffogalom fejlődése

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Gráf-algoritmusok Legrövidebb utak

Kontrollcsoport-generálási lehetőségek retrospektív egészségügyi vizsgálatokhoz

Átírás:

Intelligens Rendszerek Elmélete 4 IRE 4/32/1

Problémamegoldás kereséssel http://nik.uni-obuda.hu/mobil IRE 4/32/2

Egyszerű lények intelligenciája? http://www.youtube.com/watch?v=tlo2n3ymcxw&nr=1 IRE 4/32/3

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/4

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úra A S C D E F B Gráf struktúra A S C D E F B G cél G cél IRE 4/32/5

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) Fekete Gregorics-Nagy: Bevezetés a mesterséges intelligenciába 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 IRE 4/32/6

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 10 181 440 20 6.08 * 10 16 30 4.42 * 10 30 Kombinatorikus robbanás!!! S D A B C IRE 4/32/7

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/8

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/9

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 Nem informált 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 IRE 4/32/10

Mélységi keresés ( depth first ) A S B LIFO adatkezelés: (Last In First Out) open lista, az állapotok (csomópontok) tárolására C D E F Open lista: G cél Mindig a zsák tetejére pakolunk, és onnan is veszünk el (S)(A,B)(C,D,B)(D,B)(B)(E,F)(G,cél,F)(cél,F) IRE 4/32/11

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/12

Példa mélységi keresésre gráfban S A B X C D 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 ) E cél closed lista S,A S,X A,E X,C A, IRE 4/32/13

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/14

Szélességi (horizontális) keresés ( breadth-first ) A S B FIFO adatkezelés (First In First Out) C D E F G cél 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/15

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/16

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/17

Példa szélességi keresésre gráfban S open lista: A B (S)(A S,B S )(B S,c1 A,C A )(c1 A,C A,D B ) c1 C D closed lista E c2 A S,B S IRE 4/32/18

Optimális (egyenletes) keresés S 4 1 B A 3 1 2 2 C D E F 4 3 2 1 A kiindulási pontból mindig a minimális költségű csomópontot vizsgáljuk H c1 I c2 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/19

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/20

Példa optimális megoldás keresésre gráfon 2 S 3 A B 5 3 3 1 c1 C D 2 2 1 1 E c2 Előzetes open lista (rendezett) 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) 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/21

Gyakorló feladat optimális megoldás keresésre gráfon 25 S 4 A B 2 5 2 9 c1 C D 10 16 23 24 E c2 IRE 4/32/22

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/23

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. Sokat idézett optimunkereső algoritmus: legrövidebb útkereső algoritmusa Edsger Dijkstra IRE 4/32/24

Nehezen kereshető felszínek 1 IRE 4/32/25

Nehezen kereshető felszínek 2 IRE 4/32/26

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 Cél Start Start IRE 4/32/27

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/28

Nehezen kereshető felszínek 3. IRE 4/32/29

Nehezen kereshető felszínek 4. IRE 4/32/30

Nehezen kereshető felszínek 5 IRE 4/32/31

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? IRE 4/32/32