Mesterséges Intelligencia MI

Hasonló dokumentumok
Mesterséges Intelligencia MI

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

Mesterséges intelligencia 2. laborgyakorlat

Mesterséges Intelligencia MI

Intelligens Rendszerek Elmélete IRE 4/32/1

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

Mesterséges Intelligencia MI

Intelligens Rendszerek I. Problémamegoldás kereséssel: informált kereső eljárások (Heurisztikus keresés)

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

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

Mesterséges Intelligencia MI

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

Mesterséges Intelligencia MI

Mesterséges intelligencia 1 előadások

Mesterséges intelligencia 3. laborgyakorlat

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

2. Visszalépéses keresés

Mesterséges Intelligencia MI

ULTIMATE TIC TAC TOE. Serfőző Péter

SZAKDOLGOZAT. Nagy Gábor

Adatszerkezetek II. 2. előadás

2. Visszalépéses stratégia

Intelligens Rendszerek I. Problémamegoldás kereséssel: nem informált keresés (blind search)

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

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

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

Gráfok bejárása. Szlávi Péter, Zsakó László: Gráfok II :17

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

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

Adatszerkezetek 2. Dr. Iványi Péter

Függvények növekedési korlátainak jellemzése

Mesterséges Intelligencia MI

SZOFTVERES SZEMLÉLTETÉS A MESTERSÉGES INTELLIGENCIA OKTATÁSÁBAN _ Jeszenszky Péter Debreceni Egyetem, Informatikai Kar jeszenszky.peter@inf.unideb.

Visszalépéses keresés

A mesterséges intelligencia alapjai

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

1: Bevezetés: Internet, rétegmodell Alapok: aszimptótika, gráfok. HálózatokII, 2007

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

A szimplex tábla. p. 1

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

Elérhetőségi analízis Petri hálók dinamikus tulajdonságai

GROVER-algoritmus. Sinkovicz Péter. ELTE, MSc II dec.15.

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

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

Modellellenőrzés. dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

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

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

Számítógép hálózatok, osztott rendszerek 2009

Összefoglalás és gyakorlás

Elemi adatszerkezetek

Építésikivitelezés-Vállalkozás / 2: Gráftechnikai alapfogalmak VÁLLALKOZÁS. javított háttöltés

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

Gráf-algoritmusok Legrövidebb utak

Algoritmusok és adatszerkezetek gyakorlat 07

R ++ -tree: an efficient spatial access method for highly redundant point data - Martin Šumák, Peter Gurský

A szimplex algoritmus

Szimuláció RICHARD M. KARP és AVI WIGDERSON. (Készítette: Domoszlai László)

A számítástudomány alapjai

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.

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

Állapottér reprezentáció/level1

Mesterséges Intelligencia MI

Készítette: Trosztel Mátyás Konzulens: Hajós Gergely

Adaptív dinamikus szegmentálás idősorok indexeléséhez

Térinformatikai algoritmusok Elemi algoritmusok

angolul: greedy algorithms, románul: algoritmi greedy

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

Navigáci. stervezés. Algoritmusok és alkalmazásaik. Osváth Róbert Sorbán Sámuel

Fák 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

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

Mesterséges Intelligencia MI

Adaptív menetrendezés ADP algoritmus alkalmazásával

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

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

Mesterséges Intelligencia 1

Adatszerkezetek 7a. Dr. IványiPéter

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

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

Algoritmusok és adatszerkezetek 2.

2. csoport, 8. tétel: Gráfok

Hálózati Folyamok Alkalmazásai. Mályusz Levente BME Építéskivitelezési és Szervezési Tanszék

A mesterséges intelligencia alapjai

GONDOLKODÁS ÉS NYELV

III. Gráfok. 1. Irányítatlan gráfok:

Bevezetés az informatikába

Térinformatikai algoritmusok Elemi algoritmusok

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat

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

Adatszerkezetek 1. Dr. Iványi Péter

26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA

5/1. tétel: Optimalis feszítőfák, Prim és Kruskal algorithmusa. Legrövidebb utak graphokban, negatív súlyú élek, Dijkstra és Bellman Ford algorithmus.

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai

Mesterséges Intelligencia MI

, , A

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

19. AZ ÖSSZEHASONLÍTÁSOS RENDEZÉSEK MŰVELETIGÉNYÉNEK ALSÓ KORLÁTJAI





Átírás:

Mesterséges Intelligencia MI Problémamegoldás kereséssel vakon http://mialmanach.mit.bme.hu/aima/ch03s03 3. fejezet 3.4 alfejezet Pataki Béla, (Hullám Gábor) BME I.E. 414, 463-26-79 pataki@mit.bme.hu, http://www.mit.bme.hu/general/staff/pataki

S K S S S Intelligens Rendszer K Á s K,cél s cél s kezdeti s K,kezdeti S Á s Á,kezdeti s Á,cél

Keressük meg azt a jó trajektóriát (utat), ami a kezdeti állapotból a célállapotba visz, a lehető legkisebb költséggel! A feladat könnyűnek tűnik, de ha nagyon sok állapot van, sokféle átmenet lehet egyikből a másikba, és nem látjuk át felülről az állapotteret, akkor bajba kerülhetünk.

Melyik a jó keresési eljárás? Részben az elért eredmény, részben annak megtalálási költsége minősíti. A szokásos értékelési szempontok: 1. Teljesség (completeness) - ha van megoldás, biztosan megtalálja 2. Időigény (time complexity) mennyi idő a megoldás megtalálása? 3. Tárigény (space complexity) mennyi tárhely kell 4. Optimalitás (optimality) ha több megoldás van, megtaláljuk-e a legjobbat? (mi a legjobb? sokszor izgalmas kérdés!)

A Russel-Norvig könyv példája: el akarunk jutni Aradról Bukarestbe...

Milyen utat találunk meg? Például ezt?

Keresési stratégiák 1 Nem informált keresések (un. gyenge, vagy vak keresések) a. tudjuk: hogy néz ki a célállapot b. egyáltalán nincs infónk arról: milyen költségű az aktuálisból a célállapotba vezető út A vak (nem informált) keresési stratégiákat a csomópontok kifejtési sorrendje különbözteti meg. Ez a különbség óriási jelentőséggel bírhat. Múlt óra végén: 1. Szélességi keresés (width first search) 2. Egyenletes költségű keresés (uniform cost search best first search) 3. Mélységi keresés (depth first search)

A keresés folyamatát az ún. keresési fával ragadjuk meg. A gráf csomópontjainak adatszerkezete (pl.): 1. az állapottérnek a csomóponthoz tartozó állapota 2. szülő csomópont 3. a csomópontot generáló operátor 4. a gyökértől eddig a csomópontig vezető út csomópontjainak száma (mélység depth) 5. (a csomópontig tartó útköltség) Arad Szeben Temesvár Nagyzerénd Nagyvárad Fontos fogalmak: kifejtés (expand) (átl.) elágazási tényező b (branching factor) mélység d (depth) hullámfront (frontier) Nagyvárad Arad Egyetlen Nagyvárad állapot van, de több csomóponthoz is tartozhat ez az állapot.

Mélységi keresés rohanás előre, egy ág mentén, de a visszalépés lehetőségével (pl. sakk: d2-d4-el nyitunk, és először kizárólag a sötét d7-d5 válaszát bontjuk ki, annak is egy alváltozatát, al-alváltozatát stb.) Mélységkorlátozott keresés az utak maximális mélységére egy vágási korlátot ad. Románia jelen egyszerűsített térképe: 20 város. Ha létezik egy megoldás, az maximálisan 19 lépés hosszú lehet. Minden város bármelyik városból legfeljebb 9 lépésben elérhető: az állapottér átmérője = jobb mélységkorlát. A mélységi korlát elérésénél a keresés visszalép. A megoldást, amennyiben létezik és a mélységkorlátnál sekélyebben fekszik, garantáltan megtaláljuk. De semmi garancia nincs arra, hogy a legkisebb költségű (itt: legrövidebb út) megoldást találjuk meg. Amennyiben túl kis mélységkorlátot választunk, akkor a mélységkorlátozott keresés még csak teljes sem lesz.

A híd (logikai feladvány) Egy ködös este 4 hallgató megrekedt a Borzalmas Titkok Szigetén, ahonnan a szárazföldre csak egy rozoga híd vezetett át. Az éjszakát a szigeten életveszélyes volna eltölteni, a rothadó híd egyszerre csak 2 személyt bír el és sötétben nem járható. Viszont a közelgő sötétséghez csak egy zseblámpájuk volt, melynek eleme még 17 perc világításra volt elég. Dani, a maratonfutó, 1 perc alatt menne át a túlsó oldalra. Cili, a biciklista, 2 perc alatt végig tudná futni a hidat. A jó tornász Bercel 5 perc alatt kocogná végig. Viszont Andrásnak, az erős dohányosnak, 10 percre lenne szüksége. Sikerül-e mindannyiuknak megmenekülni a szigetről? Ha nem, miért nem, ha igen, hogyan? Megoldás: a táblán (mélységkorlátozott kereséssel)

Iteratívan mélyülő keresés Pár percen belül kvíz!!! Slate és Atkin (1977): CHESS 4.5 sakkprogram. - mélységkorlátozott keresés - egy jó mélységkorlát megválasztása? A legtöbb esetben azonban mindaddig nem tudunk jó mélységkorlátot adni, amíg meg nem oldottuk a problémát. A legjobb mélységkorlát mechanikus kiválasztása: - kipróbálja az összes lehetséges mélységkorlátot: először 0, majd 1, majd 2, stb. - mélységkorláttal végez mélységkorlátozott keresést.

Kvíz Iteratívan mélyülő keresést végzünk, és a keresési fában minden csomópontunknak 4 gyermek-csomópontja van. Ha 10 mélységben találjuk meg a megoldást (a lehető leghosszabb lépésszám után), akkor hányszor több csomópontkifejtést végeztünk, mint ha egyszerű mélységkorlátozott keresést végeztünk volna 10 mélységkorláttal? A. Nagyságrendileg másfélszer több csomópontkifejtést B. Nagyságrendileg tízszer több csomópontkifejtést C. Nagyságrendileg ezerszer több csomópontkifejtést D. Nagyságrendileg tízezerszer több csomópontkifejtést

Iteratívan mélyülő keresés gyakorlatilag ötvözi a szélességi és mélységi keresés előnyös tulajdonságait A szélességi kereséshez hasonlóan optimális és teljes, de csak a mélységi keresés szerény memória igényével rendelkezik. De bizonyos állapotokat az algoritmus többször is kifejt! Tékozló? - egy exponenciális keresési fában majdnem az összes csomópont a legmélyebb szinten található d mélységben a megoldás, b elágazási tényező: szélességi/mélységi keresésnél a kifejtések száma: 1 + b + b 2 +... + b d-2 + b d-1 + b d pl. b =10 és d = 5 esetén ez a szám: 1 + 10 + 100 +... + 100000 = 111.111 az iteratívan mélyülő keresésnél a kifejtések teljes száma: (d+1)1 + (d)b + (d -1)b 2 +... + 3b d-2 + 2b d-1 + 1b d b = 10 és d = 5 esetén: 6 1+ 5 10 +4 100 +... + 1 100.000 = 123.456 (csak +23,5%) minél nagyobb az elágazási tényező, annál kisebb a többletmunka (pl. b = 2 elég rossz, de ott is csak kb. 200%, kb. kétszerese a szélességi/mélységinek!)

Kétirányú keresés - egyszerre előrefelé a kiinduló állapotból, illetve hátrafelé a cél állapotból - a keresés akkor fejeződik be, ha a két keresés valahol találkozik O(2 x b d/2 )=O(b d/2 ) Például: b = 10, d = 6: a szélességi/mélységi keresés = 1.111.111 csomópont, a kétirányú keresés mindkét irányban 3 mélységnél ér célba = 2.222 csomópontot generál. Elméletben nagyon jó, az implementálás nem triviális. Célállapotból hátrafelé keresni? Az n csomópont előd csomópontjai azon csomópontok, amelyek követő csomópontjalehet n. A hátrafelé keresés a cél csomópontból indulva az előd csomópontok egymást követő generálását jelenti. Megfordítható-e a folyamat? (Összerakható-e Csernobil a romokból?) Pl. sakk, nagyon sok célállapot, melyikből induljunk visszafele?

Ha az összes operátor reverzibilis, akkor az előd és követő halmazok azonosak. Néhány probléma esetén azonban az elődök meghatározása nagyon nehéz. Mi van, ha nagyon sok cél állapot létezik? a cél állapotok egy explicit listája a cél állapotok egy leírása Például a sakkban mik a sakk-matt célállapotok (nem egy célállapot van!) megelőző állapotai? Hatékony módszer kell arra, hogy: egy frissen generált csomópont megjelenik-e már a másik fél keresési fájában. El kell tudni dönteni, hogy az egyes félrészekben milyen keresésre fog sor kerülni. O(b d/2 ) komplexitás feltételezi, hogy a két hullámfront metszésének megállapítása konstans idő alatt elvégezhető(?) Hogy a két keresés találkozzon, legalább az egyik keresés összes csomópontját memóriában kell tartani = tár O(b d/2 ).

A neminformált keresési stratégiák összehasonlítása b - elágazási tényező, m - a keresési fa maximális mélysége, d - a megoldás mélysége, l - a mélység korlát. Jellemző SzK EgyKK MK MKK IMK KK Időigény Tárigény b d b d b m b l b d b d/2 b d b d bm bl bd b d/2 Opt.? Igen (ha ) Igen Nem Nem Igen Igen Teljes? Igen Igen Nem Igen, ha l d Igen Igen

A neminformált keresési stratégiák összehasonlítása b - elágazási tényező, d - a megoldás mélysége, m - a keresési fa maximális mélysége, l - a mélység korlát. Krit. SzK EgyKK MK MKK IMK KK Idő igény Tár igény b d b d b m b l b d b d/2 b d b d bm bl bd b d/2 Opt.? Igen Igen Nem Nem Igen Igen Teljes? Igen Igen Nem Igen, ha l d Igen Igen Az exponenciális tár-, illetve időigény komoly problémát jelent! Jobb módszerek kellenek!