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



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

Mesterséges intelligencia

SZAKDOLGOZAT. Nagy Gábor

Mesterséges Intelligencia MI

Gyakorló feladatok ZH-ra

Mesterséges Intelligencia I. gyakorlat

Mesterséges intelligencia 2. laborgyakorlat

Mesterséges intelligencia 1 előadások

Mesterséges Intelligencia I. előadásjegyzet (vázlat)

Mapping Sequencing Reads to a Reference Genome

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Gráfelmélet II. Gráfok végigjárása

A rosszindulatú daganatos halálozás változása 1975 és 2001 között Magyarországon

Csima Judit május 10.

Más viszonylatban (például Badacsonyból Füredre, vagy Tapolcáról közvetlenül Fonyódra, stb.) a szállítás értelmetlen, ezért nem lehetséges.

Nemzeti alaptanterv 2012 MATEMATIKA

Operációs rendszerek. 3. előadás Ütemezés

XML adatkezelés. 11. témakör. Az XQuery nyelv alapjai. XQuery. XQuery célja egy imperatív lekérdező nyelv biztosítása. XQuery.

MEZŐGAZDASÁGI HULLADÉKOT FELDOLGOZÓ PELLETÁLÓ ÜZEM LÉTESÍTÉSÉNEK FELTÉTELEI

Alkalmazott modul: Programozás

Varlogic NR6/NR12. teljesítménytényezô szabályozó automatika. Kezelési és üzembe helyezési útmutató

Mesterséges Intelligencia I. (I602, IB602)

LEKÉRDEZÉSEK SQL-BEN. A relációs algebra A SELECT utasítás Összesítés és csoportosítás Speciális feltételek

Keresőeljárások kétszemélyes játékokhoz

ADATBÁZISKEZELÉS ADATBÁZIS

KIEGÉSZÍTŽ FELADATOK. Készlet Bud. Kap. Pápa Sopr. Veszp. Kecsk Pécs Szomb Igény

RavaszNégyzet egy kombinatorikai játék

MATEMATIKA 1-2.osztály

Programozás I. Metódusok C#-ban Egyszerű programozási tételek. Sergyán Szabolcs

Performance Modeling of Intelligent Car Parking Systems

Mesterséges Intelligencia (Artificial Intelligence)

(NGB_TA024_1) MÉRÉSI JEGYZŐKÖNYV

Anyagmérnöki Tudományok, 37. kötet, 1. szám (2012), pp

Adatbázisok* tulajdonságai

Mesterséges intelligencia alkalmazása

különösen a média közleményeiben való reális tájékozódást. Mindehhez elengedhetetlen egyszerű matematikai szövegek értelmezése, elemzése.

különösen a média közleményeiben való reális tájékozódást. Mindehhez elengedhetetlen egyszerű matematikai szövegek értelmezése, elemzése.

Legrövidebb utat kereső algoritmusok. BFS (szélességi keresés)

Phenotype. Genotype. It is like any other experiment! What is a bioinformatics experiment? Remember the Goal. Infectious Disease Paradigm

Intelligens Rendszerek Elmélete IRE 4/32/1

Apor Vilmos Katolikus Iskolaközpont. Helyi tanterv. Matematika. készült. a 51/2012. (XII. 21.) EMMI rendelet 1. sz. melléklet 1-4./1.2.3.

Lehet vagy nem? Konstrukciók és lehetetlenségi bizonyítások Dr. Katz Sándor, Bonyhád

Mesterséges Intelligencia MI

Adattípusok. Max. 2GByte

VERSENYKIÍRÁS HÉTPRÓBÁSOK BAJNOKSÁGA 2016 ORSZÁGOS EGYÉNI ÉS CSAPAT DIÁKVERSENY 2015/2016-OS TANÉV

Máté: Számítógép architektúrák

Please stay here. Peter asked me to stay there. He asked me if I could do it then. Can you do it now?

Adattípusok. Max. 2GByte

On The Number Of Slim Semimodular Lattices

A programozás alapfogalmai

különösen a média közleményeiben való reális tájékozódást. Mindehhez elengedhetetlen egyszerű matematikai szövegek értelmezése, elemzése.

Gyarmati Dezső Sport Általános Iskola MATEMATIKA HELYI TANTERV 1-4. OSZTÁLY

A ROBBANÓANYAGOK KEZELÉSBIZTOSSÁGÁRÓL

Cluster Analysis. Potyó László

Adatbázis-kezelés ODBC driverrel

Munkafüzet megoldások 7. osztályos tanulók számára. Makara Ágnes Bankáné Mező Katalin Argayné Magyar Bernadette Vépy-Benyhe Judit

Fordítóprogramok felépítése, az egyes programok feladata. A következő jelölésmódot használjuk: program(bemenet)(kimenet)

Mesterséges Intelligencia MI

GYÁRTÓ VÁLLALAT VEVŐI AUDITJA

EMMI kerettanterv 51/2012. (XII. 21.) EMMI rendelet 2. sz. melléklet Matematika az általános iskolák 5 8.

EMMI kerettanterv 51/2012. (XII. 21.) EMMI rendelet 1. sz. melléklet Matematika az általános iskolák 1 4. évfolyama számára

HELYI TANTERV MATEMATIKA (emelt szintű csoportoknak) Alapelvek, célok

MATEMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Miskolci Egyetem Gazdaságtudományi Kar Üzleti Információgazdálkodási és Módszertani Intézet Nonparametric Tests

Matematika évfolyam. Vass Lajos Általános Iskola Helyi tanterv Matematika 1 4. osztály

Matematika felvételi feladatok bővített levezetése 2013 (8. osztályosoknak)

1. Bevezetés. A számítógéptudomány ezt a problémát a feladat elvégzéséhez szükséges erőforrások (idő, tár, program,... ) mennyiségével méri.

3. Öt alma és hat narancs 20Ft-tal kerül többe, mint hat alma és öt narancs. Hány forinttal kerül többe egy narancs egy

STUDENT LOGBOOK. 1 week general practice course for the 6 th year medical students SEMMELWEIS EGYETEM. Name of the student:

képességgel és készséggel, hogy alkalmazni tudják matematikai tudásukat, és felismerjék, hogy a megismert fogalmakat és tételeket változatos

Félévi időbeosztás (nagyjából) házi feladat beadási határidőkkel (pontosan) Valószínűségszámítás 2. matematikusoknak és fizikusoknak, 2009 tavasz

Csak felvételi vizsga: csak záróvizsga: közös vizsga: Mérnökinformatikus szak BME Villamosmérnöki és Informatikai Kar május 27.

Adatbázisok II. Jánosi-Rancz Katalin Tünde 327A

A100F DIGITÁLIS HÚSKEMÉNYSÉGMÉRŐ KÉSZÜLÉK

KEZEK - Észak-Magyarország felsőoktatási intézményeinek együttműködése TÁMOP C-12/1/KONV. V. alprogram: Minőségirányítási rendszer fejlesztése

Adatok szűrése, rendezése

Rátz László Matematikai kvízverseny 5. osztály

TANMENETJAVASLAT AZ ÚJ KERETTANTERVHEZ MATEMATIKA 1. ÉVFOLYAM KÉSZÍTETTÉK: KURUCZNÉ BORBÉLY MÁRTA ÉS VARGA LÍVIA TANKÖNYVSZERZŐK 2013

A magyar racka juh tejének beltartalmi változása a laktáció alatt


PÁNTYA RÓBERT MESTERSÉGES INTELLIGENCIA ELEMEKKEL TÁMOGATOTT PROGRAMOZÁS OKTATÁSA

értelmezéséhez, leírásához és kezeléséhez. Ezért a tanulóknak rendelkezniük kell azzal a képességgel és készséggel, hogy alkalmazni tudják

B I T M A N B I v: T M A N

ű Ö ű ű Ú Ú ű

23. Kombinatorika, gráfok

Programozási módszertan. Dinamikus programozás: Nyomtatási feladat A leghosszabb közös részsorozat

FELADATOK ÉS MEGOLDÁSOK

FÖLDRAJZ ANGOL NYELVEN

Expansion of Red Deer and afforestation in Hungary

Hibatűrő TDMA ütemezés tervezése ciklikus vezeték nélküli hálózatokban. Orosz Ákos, Róth Gergő, Simon Gyula. Pannon Egyetem

évi nyári olimpiai játékok

8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:

MATEMATIKA TAGOZAT 5-8. BEVEZETŐ. 5. évfolyam

Matematikai és matematikai statisztikai alapismeretek

Teszt generálás webes alkalmazásokhoz

Véletlenített algoritmusok. 4. előadás

Szójegyzék/műszaki lexikon

Széchenyi István Egyetem

1. Melyek azok a kétjegyű számok, amelyek oszthatók számjegyeik

Spike Trade napló_1.1 használati útmutató

A DERIVE kezelése. 1. A DERIVE ablaka. Amikor elindítod a DERIVE-ot ez az ablak jelenik meg:

Átírás:

Intelligens Rendszerek I. Problémamegoldás kereséssel: nem informált keresés (blind search) 2007/2008. tanév, I. félév Dr. Kovács Szilveszter E-mail: szkovacs@iit.uni-miskolc.hu Miskolci Egyetem Informatikai Intézet 106. sz. szoba Tel: (46) 565-111 / 21-06 mellék

Ágens Az ágens olyan rendszer, amely környezetbe ágyazott, reaktív: érzékel és reagál, racionális: helyesen cselekszik. Lehet autonóm: saját tapasztalatai alapján, emberi beavatkozás nélkül működik. Ágenstípusok Egyszerű reflexszerű ágensek A világot nyomon követő ágensek Célorientált ágensek Hasznosságorientált ágensek Dr. Kovács Szilveszter M.I. 4. / 2.

Egyszerű reflexszerű ágens feltétel-cselekvés szabály (condition-action rule) (produkciós szabályok) Működése észleli a jelenlegi állapotot keres egy ehhez illeszkedő szabályt végrehajtja a szabályhoz illeszkedő cselekvést Nem gondolkodik előre, nem tud tervezni! Dr. Kovács Szilveszter M.I. 4. / 3.

Célorientált ágens A környezet pillanatnyi állapotának ismerete nem mindig elegendő a cselekvés meghatározásához A cél (goal) alapján történő döntés magába foglalja a jövő figyelembevételét A lehetséges cselekvések által elérhető új állapotok becslése alapján cselekvési tervet készít Dr. Kovács Szilveszter M.I. 4. / 4.

A célorientált ágens struktúrája Korábbi állapot Érzékelők Hogyan változik a világ? A cselekvések hatása Hogyan néz ki most a világ? (becsült állapot) Hogyan fog kinézni, ha az A cselekvést hajtom végre? Környzet Célok Cselekvés kiválasztás Ágens Beavatkozók Dr. Kovács Szilveszter M.I. 4. / 5.

Célorientált ágens Az ágens célját elérő cselekvéssorozat: keresés a jövő figyelembevétele tervkészítés (új cél új viselkedés) Dr. Kovács Szilveszter M.I. 4. / 6.

élorientált ágens - Problémamegoldó ágens A célorientált ágens egy típusa (problem solving agent) A probléma: A cél és azon eszközök halmaza, amelyekkel a célt elérjük A probléma megoldása: Keresés: Olyan cselekvéssorozatokat keresnek, melyek a kívánt (cél) állapotba vezetnek. Végrehajtási fázis (execution): a talált cselekvéssorozat végrehajtása. Dr. Kovács Szilveszter M.I. 4. / 7.

Problémamegoldás kereséssel Keresés (search): Több különböző lehetséges cselekvéssorozat közül, melyek ismert értékű állapotba vezetnek, a lehető legjobb kiválasztása. A keresési algoritmus bemenete egy probléma, a kimenete pedig cselekvéssorozat: megoldás. probléma keresési algoritmus megoldás Dr. Kovács Szilveszter M.I. 4. / 8.

Problémamegoldás kereséssel Célmegfogalmazás (goal formulation): A cél a világ állapotainak olyan halmaza, amelyben a cél teljesül. Cselekvések (action): Tevékenységek, melyek hatására a világ állapotai között állapotátmenetek mennek végbe. Problémamegfogalmazás (problem formulation): A cél megfogalmazását követően meghatározzuk, hogy mely cselekvéseket és állapotokat vegyük figyelembe (absztrakció) Gond: az ágens nem biztos, hogy ismeri állapotait és cselekvései eredményeit Dr. Kovács Szilveszter M.I. 4. / 9.

Problématípusok Az ágens és a környezetének kapcsolata alapján: Egyállapotú (single-state) (hozzáférhető környezet) Többállapotú (multiple-state) Ismeri a cselekvéseinek hatását, de csak korlátozottan fér hozzá a világ állapotához Eshetőségi (contingency) Ha a környezet nem determinisztikus Felderítési (exploration) Ha nincs semmilyen információja cselekvései hatásáról és a létező állapotokról kísérleteznie kell: a valós világban, nem pedig a modellben keres Dr. Kovács Szilveszter M.I. 4. / 10.

kereséssel történő problémamegoldás lépései A probléma megfogalmazása: A probléma ismeretek gyűjteménye, amit az ágens annak a meghatározására használ, hogy mit tegyen a cél elérésének érdekében (célok, állapotok, cselekvések) A probléma megoldása: Kereső eljárás alkalmazása, a célállapotot elérő cselekvéssorozatok keresése Végrehajtás Dr. Kovács Szilveszter M.I. 4. / 11.

Probléma megfogalmazás Milyen szinten vegyük figyelembe a cselekvéseket és az állapotokat? Teljes részletességgel: a kormánykereket hat fokkal tekerd balra > a feladat megoldhatatlan A feladat lényegét kiemelve: (absztrakció) melyik útvonalat válassza? > a feladat megoldható Dr. Kovács Szilveszter M.I. 4. / 12.

Probléma megfogalmazás Erősen befolyásolja a keresés hatékonyságát, hogy mit értünk lehetséges állapotokon cselekvéseken pl. 20*20-as amőba játék. Lehetséges lépésként az összes mezőt vizsgáljuk: az első lépéseknél 100-as nagyságrend, nagyon nagy elágazási tényezőjű (b: branching factor) fagráf (kombinatorikus robbanás) Csak az első lépés környezetében levő üres helyeket vizsgáljuk egy 9*9-es mezőben, mivel az utolsónak lerakott jel csak ebben a részben alkothat nyerő ötöst b:max. 80 Csak az előző lépésre illesztett csillag alakzat üres helyeire végezzük a vizsgálatot b:max. 32 Dr. Kovács Szilveszter M.I. 4. / 13.

Pl. amőba játék, állapot reprezentációk X X X O X X O O O O X O Dr. Kovács Szilveszter M.I. 4. / 14.

Probléma megfogalmazás formálisan (egyállapotú probléma esetén) A kiinduló állapot (initial state) meghatározása (ebből indul) A lehetséges cselekvések halmazának meghatározása: Operátorok: cselekvések, melyek hatására az ágens egy adott állapotból egy másik állapotba kerül S(x) következő állapotfüggvény: egy adott x állapotban valamely cselekvés végrehajtásával elérhető állapotok halmaza Állapottér: azon állapotok halmaza, amely a kiinduló állapotból valamilyen cselekvéssorozattal elérhetők Az állapottér egy útja: egy állapotból a másikba vezető cselekvéssorozat Dr. Kovács Szilveszter M.I. 4. / 15.

Probléma megfogalmazás formálisan (egyállapotú probléma esetén) Célteszt: amely alapján egy állapotról az ágens el tudja dönteni, hogy az célállapot-e egyszerű eset: a jelenlegi állapot eleme-e a célállapotok halmazának? bonyolult eset: a cél egy absztrakt tulajdonság pl. sakk matt Útköltség: függvény, amely egy úthoz hozzárendel egy költséget Pl. az utat alkotó cselekvések költségeinek összege Megoldás: a kiinduló állapotból egy olyan állapotba vezető út, ami teljesíti a céltesztet Dr. Kovács Szilveszter M.I. 4. / 16.

Pl: Amőba játék Állapotok: lehetséges lépésekkel kialakuló helyzetek Operátorok: lépések Célteszt: öt egyforma jel folyamatosan egy sorban, egy oszlopban vagy átlósan Útköltség: nulla Megoldás: egy út (lépés sorozat) a kiinduló és a céltesztet teljesítő állapot között Dr. Kovács Szilveszter M.I. 4. / 17.

Pl: Utazás Aradról Bukarestbe Pl: ágensünk nyer egy kéthetes all-inclusive nyaralást a romániai Bukarestben, az egyetlen feltétel az, hogy másnap délre odaérjen, de este 10 előtt nem tud elindulni, és ágensünk kell vezesse az autót. Kiindulási állapot: Aradról indul Cél: Bukarestbe eljutni Minden olyan cselekvést, ami nem ezt eredményezi el kell dobni Dr. Kovács Szilveszter M.I. 4. / 18.

Utazási példa: Románia térkép Dr. Kovács Szilveszter M.I. 4. / 19.

Utazási példa: Románia a probléma megfogalmazása kiinduló állapot: Arad célteszt: ez a város Bukarest? állapottér: a városok, ahova Aradról el lehet jutni (állapot: város ahol vagyok) operátorok: városok közötti utakon történő vezetés útköltség függvény: városok távolsága km-ben megoldás: egy útvonal Aradról Bukarestbe Dr. Kovács Szilveszter M.I. 4. / 20.

Keresés Térkép - állapotok, ahova az ágens eljuthat - végrehajtható cselekvések Ágens - megvizsgálja a lehetséges cselekvés sorozatokat, amelyek a célhoz vezetnek - kiválasztja a legjobbat (útiköltség) valamely keresési stratégiával Végrehajtás A megtalált cselekvéssorozat megvalósítása Dr. Kovács Szilveszter M.I. 4. / 21.

Operátorok: balra jobbra porszívás Cél: az összes szemét eltakarítása célállapot: {7,8} Útköltség: minden cselekvés költsége: 1, additív Példa: porszívóvilág Dr. Kovács Szilveszter M.I. 4. / 22.

Porszívóvilág: mint egyállapotú probléma Az érzékelők megadják, hogy melyik állapotban van (melyik négyzet, szemetes-e a padló?) Pontosan tudja, hogy cselekvései mit eredményeznek pl. kiinduló állapot {5} megoldás: [jobb, porszívás] Dr. Kovács Szilveszter M.I. 4. / 23.

Vacuum world state space graph (állapottér gráf) states? integer dirt and robot location actions? Left, Right, Suck goal test? no dirt at all locations path cost? 1 per action Dr. Kovács Szilveszter M.I. 4. / 24.

Porszívóvilág: mint többállapotú probléma Nem tudja, hogy melyik állapotban van (melyik négyzet, ott szemetes-e a padló?) Pontosan tudja, hogy cselekvései mit eredményeznek (ha a falnak ütközne, akkor a cselekvés nem hajtódik végre) Következtetés állapothalmazokkal Kiinduló állapot: {1,2,3,4,5,6,7,8} Megoldás: pl: [jobb, porszívás, bal, porszívás] Dr. Kovács Szilveszter M.I. 4. / 25.

Porszívóvilág: mint többállapotú probléma Következtetés állapothalmazokkal Dr. Kovács Szilveszter M.I. 4. / 26.

Porszívóvilág: mint eshetőségi probléma Módosítás: tiszta szoba esetén a porszívózás koszt csinál (Murphy) Tudja, hogy melyik négyzetben van pl. {1,3} kiinduló állapot De nem tudja, hogy szemetes-e a szomszéd négyzet Nem létezik rögzített cselekvéssorozat, ami garantálja a megoldást Megoldás: Érzékelésre van szükség a végrehajtási fázisban (ettől többállapotú probléma lesz) Pl. érzékeli az adott négyzeten belül a szemetet [porszívás, jobbra,?] csak akkor takarít, ha koszos a szőnyeg Dr. Kovács Szilveszter M.I. 4. / 27.

Felderítési probléma Az ágens nem ismeri előre cselekvései hatását és a létező állapotokat Kísérletezés: cselekvései hatásainak, és létező állapotok fokozatos feltérképezése A valós világban, nem pedig a modellben keres Tanulás tapasztalatok útján pl. Újszülött Dr. Kovács Szilveszter M.I. 4. / 28.

Játék problémák nyolcas kirakójáték 8 királynő probléma betűaritmetika porszívóvilág hittérítők és kannibálok Dr. Kovács Szilveszter M.I. 4. / 29.

Példa: nyolcas kirakójáték (8-puzzle) states? locations of tiles actions? move blank left, right, up, down goal test? = goal state (given) path cost? 1 per move [Note: optimal solution of n-puzzle family is NP-hard] Dr. Kovács Szilveszter M.I. 4. / 30.

Példa: 8 királynő probléma Állapotok: 8 királynő a táblán, minden oszlopban egy-egy Operátorok: minden támadott királynőt a saját oszlopában mozgasd Célteszt: támadják-e egymást? Útköltség: 0 Dr. Kovács Szilveszter M.I. 4. / 31.

Betűaritmetika FORTY 29786 F=2 TEN 850 O=9 TEN 850 R=7 stb. SIXTY 31486 Állapotok: betűaritmetikai feladvány, néhány betűt már szám helyettesíthet Operátorok: egy betű minden előfordulását cseréld le Célteszt: csak számok, helyes Útköltség: 0, minden megoldás jó Dr. Kovács Szilveszter M.I. 4. / 32.

Hittérítők és kannibálok 3H+3K+1 csónak Feladat: Átkelési mód úgy, hogy a kannibálok sehol ne legyenek túlsúlyban. A csónakba max. 2 személy fér, a csónak nem kellhet át üresen Állapotok: (H,K,Cs) az indulási oldalon oldalon; kiinduló: (3,3,1) Operátor: vigyük át a csónakban Célteszt: (0,0,0) Útköltség: átkelések száma Dr. Kovács Szilveszter M.I. 4. / 33.

Jól definiált problémák Játék problémák: különböző problémamegoldó módszereket illusztrálnak vagy gyakoroltatnak tömör és pontos leírás Valósvilágbeli problémák: nehezen kezelhető nem létezik egységes, elfogadott leírás Dr. Kovács Szilveszter M.I. 4. / 34.

Valósvilágbeli problémák útkeresés: pl. számítógép hálózatok, légi útvonal keresés utazó ügynök: minden városba legalább egyszer, vagy csak egyszer furatok készítésénél automatikus fúrómozgás chip tervezés cellaelrendezés, huzalozás cél: felület és összeköttetéskor minimalizálás alkatrészek összeszerelési sorrendjének megkeresése Dr. Kovács Szilveszter M.I. 4. / 35.

Example: robotic assembly states?: real-valued coordinates of robot joint angles parts of the object to be assembled actions?: continuous motions of robot joints goal test?: complete assembly path cost?: time to execute Dr. Kovács Szilveszter M.I. 4. / 36.

Megoldások keresése Cselekvéssorozatok generálása Keresési fa (search tree) adatszerkezete Keresési stratégiák Dr. Kovács Szilveszter M.I. 4. / 37.

Utazási példa: Románia Dr. Kovács Szilveszter M.I. 4. / 38.

Keresési fa Dr. Kovács Szilveszter M.I. 4. / 39.

Keresési fa Dr. Kovács Szilveszter M.I. 4. / 40.

Keresési fa Dr. Kovács Szilveszter M.I. 4. / 41.

Állapottér Keresési fa Az egyes állapotok a keresési fa csomópontjai S 1 5 A B 10 5 15 C 5 G S A B C 1 5 15 G G G 11 10 20 0. szint 1. szint 2. szint Dr. Kovács Szilveszter M.I. 4. / 42.

Keresési fa - terminológia Fa, melynek csúcsa a kiinduló állapot, valamelyik levele a célállapot, ha létezik megoldás Állapot kifejtése: valamely állapotból egyetlen lépéssel elérhető állapotok meghatározása. Perem (fringe), vagy hullámfront (frontier): a kifejtésre váró csomópontok (állapotok) halmaza A keresési módszer nem más mint a kifejtésre váró csomópontok kifejtési sorrendjének meghatározása Dr. Kovács Szilveszter M.I. 4. / 43.

Keresési fa - terminológia Elágazási tényező (branching factor: b): egy állapot kifejtésekor keletkező új állapotok maximális száma A keresési fa mélysége (m): a fa gyökerétől a legtávolabbi levélig vezető út csomópontjainak száma A megoldás mélysége (depth: d): a fa gyökerétől a legközelebbi megoldásig vezető út csomópontjainak száma Mélységi korlát (l): a leghosszabb kifejtett utak csomópontjainak száma Az n. állapotba vezető út költsége g(n) Dr. Kovács Szilveszter M.I. 4. / 44.

A keresés értékelése Teljesség: ha van megoldás, azt az eljárás megtalálja Optimalitás: ha több megoldás létezik, akkor megtalálja a legjobbat (a legalacsonyabb költségűt) Időigény: mennyi időre van szükség a megoldás megkereséséhez Tárigény: mennyi memóriára van szükség a megoldás megkereséséhez Dr. Kovács Szilveszter M.I. 4. / 45.

Keresési költség Statikus környezetben: nulla Szemidinamikus környezetben (pl., ha sürgős az utazás) függhet a számítási időtől Dinamikus környezet: egyértelmű függés az időtől - a pontos kapcsolat problémafüggő Dr. Kovács Szilveszter M.I. 4. / 46.

Keresési módszerek Nem informált (non informed, blind (vak) search): szélességi, egyenletes költségű, mélységi, mélységkorlátozott, iteratívan mélyülő, kétirányú keresés Informált (heurisztikus keresés): globális információra (heurisztikára) támaszkodó eljárások: legjobbat először, A, A*, iteratív A* lokális információra támaszkodó eljárások: hegymászó keresés, szimulált lehűtés, tabu keresés Dr. Kovács Szilveszter M.I. 4. / 47.

Példák kereséssel megoldható feladatokra útkeresés két város között bűvös kocka hogyan lehet 31 dominóval lefedni egy, az átellenes sarkain csonka sakktáblát? hittérítők és kannibálok nyolcas kirakójáték Dr. Kovács Szilveszter M.I. 4. / 48.

Nyolcas kirakójáték Dr. Kovács Szilveszter M.I. 4. / 49.

Nem informált keresési módszerek A nem informált keresési módszerek csak a probléma definícióban megfogalmazott információra támaszkodhatnak. Az egyes keresési módszerek csak a kifejtésre váró csomópontok kifejtési sorrendjében térnek el egymástól: Szélességi, (Breadth-first search) egyenletes költségű, (Uniform-cost search) mélységi, (Depth-first search) mélységkorlátozott, (Depth-limited search) iteratívan mélyülő, (Iterative deepening search) kétirányú keresés (Bidirectional search). Dr. Kovács Szilveszter M.I. 4. / 50.

Szélességi keresés Mindig a legsekélyebben fekvő kifejtésre váró csomópontot fejti ki először Implementation: fringe is a FIFO queue, i.e., new successors go at end Dr. Kovács Szilveszter M.I. 4. / 51.

Szélességi keresés Mindig a legsekélyebben fekvő kifejtésre váró csomópontot fejti ki először Implementation: fringe is a FIFO queue, i.e., new successors go at end Dr. Kovács Szilveszter M.I. 4. / 52.

Szélességi keresés Mindig a legsekélyebben fekvő kifejtésre váró csomópontot fejti ki először Implementation: fringe is a FIFO queue, i.e., new successors go at end Dr. Kovács Szilveszter M.I. 4. / 53.

Szélességi keresés Mindig a legsekélyebben fekvő kifejtésre váró csomópontot fejti ki először Implementation: fringe is a FIFO queue, i.e., new successors go at end Dr. Kovács Szilveszter M.I. 4. / 54.

A szélességi keresés tulajdonságai Mindig a legsekélyebben fekvő (legkevesebb lépéssel elérhető) megoldást találja meg Teljesség? Igen (ha b véges) Idő? 1+b+b 2 +b 3 + +b d = O(b d ) (minden csomópontból b darab irányba mehetünk tovább (elágazási tényező) és a célig d lépést kell megtenni) Hely? O(b d ) (keeps every node in memory) Optimalitás? Igen Feltéve, hogy az útiköltség a csomópontszám költségnek nem csökkenő függvénye (mélyebben csak drágábbak lehetnek) (e.g. if cost = 1 per step) A helyigény a nagyobb probléma, nem az időigény Dr. Kovács Szilveszter M.I. 4. / 55.

Bonyolultságanalízis O( ) Aszimptotikus elemzés (asymptotik analysis): T(n): O(f(n)) mértékű, ha T(n) k. f(n)) valamilyen k-ra, minden n>n 0 esetén. Pl. Ha n aszimptotikusan tart a végtelenhez, egy O(n) algoritmus jobb mint egy O(n 2 ), vagy egy O(m n ). (Hosszú távon rosszabb, pl. ha műveletszám, akkor van olyan n, amitől kezdve többet kell számolni) O( ) jó az algoritmusok számítási komplexitásának (pl. műveletszám) összevetésére, mert független a műveletek egzakt számától (k) és a bemenetek egzakt tartalmától (csupán n nagyságát figyelembe véve absztrahál). Dr. Kovács Szilveszter M.I. 4. / 56.

Breadth-first search; evaluation Two lessons: Memory requirements are a bigger problem than its execution time. Exponential complexity search problems cannot be solved by uninformed search methods for any but the smallest instances. DEPTH2 NODES TIME MEMORY 2 1100 0.11 seconds 1 megabyte 4 111100 11 seconds 106 megabytes 6 10 7 19 minutes 10 gigabytes 8 10 9 31 hours 1 terabyte 10 10 11 129 days 101 terabytes 12 10 13 35 years 10 petabytes 14 10 15 3523 years 1 exabyte Dr. Kovács Szilveszter M.I. 4. / 57.

Egyenletes költségű keresés A hullámfront legkisebb költségű ahova a legolcsóbban lehet eljutni - csomópontját fejti ki először Addig folytatja, míg a hullámfront nem tartalmaz a talált megoldásnál kisebb értéket. Megtalálja a legolcsóbb megoldást, ha az útköltség egy út bejárása során soha sem csökkenhet A (nincs negatív részköltség) S 1 10 5 B 5 G 15 C 5 Dr. Kovács Szilveszter M.I. 4. / 58.

Példa az egyenletes költségű keresésre S 0 S A B C 1 5 15 S A B C 5 15 S A B C 15 S A 1 5 B 10 5 G 1 G 11 G 1 G 2 11 10 15 C 5 Dr. Kovács Szilveszter M.I. 4. / 59.

Az egyenletes költségű keresés tulajdonságai Expand least-cost unexpanded node Implementation: fringe = queue ordered by path cost Amennyiben a lépésköltségek egyenlők, azonos a szélességi kereséssel. Teljesség? Igen, ha step cost ε ( ε > 0) Idő? # of nodes with g cost of optimal solution, O(b (C*/ ε) ) where C * is the cost of the optimal solution Hely? # of nodes with g cost of optimal solution, O(b (C*/ ε) ) Optimalitás? Igen nodes expanded in increasing order of g(n) Dr. Kovács Szilveszter M.I. 4. / 60.

Mélységi keresés Mindig a keresési fa legmélyebben fekvő csomópontjainak egyikét fejti ki A keresés csak akkor lép vissza és fejt ki magasabb szinten lévő csomópontokat, ha zsákutcába fut (olyan csomópont, melynek üres halmaz a kifejtése és amely nem cél csomópont) A frissen generált csomópontok mindig a sor elejére kerülnek (LIFO Last in First Out) Az első találatig megy (az útköltséget nem veszi figyelembe a döntéseknél) Dr. Kovács Szilveszter M.I. 4. / 61.

Mélységi keresés Mindig a keresési fa legmélyebben fekvő csomópontjainak egyikét fejti ki Implementation: fringe = LIFO queue, i.e., put successors at front Dr. Kovács Szilveszter M.I. 4. / 62.

Mélységi keresés Mindig a keresési fa legmélyebben fekvő csomópontjainak egyikét fejti ki Implementation: fringe = LIFO queue, i.e., put successors at front Dr. Kovács Szilveszter M.I. 4. / 63.

Mélységi keresés Mindig a keresési fa legmélyebben fekvő csomópontjainak egyikét fejti ki Implementation: fringe = LIFO queue, i.e., put successors at front Dr. Kovács Szilveszter M.I. 4. / 64.

Mélységi keresés Mindig a keresési fa legmélyebben fekvő csomópontjainak egyikét fejti ki Implementation: fringe = LIFO queue, i.e., put successors at front Dr. Kovács Szilveszter M.I. 4. / 65.

Mélységi keresés Mindig a keresési fa legmélyebben fekvő csomópontjainak egyikét fejti ki Implementation: fringe = LIFO queue, i.e., put successors at front Dr. Kovács Szilveszter M.I. 4. / 66.

Mélységi keresés Mindig a keresési fa legmélyebben fekvő csomópontjainak egyikét fejti ki Implementation: fringe = LIFO queue, i.e., put successors at front Dr. Kovács Szilveszter M.I. 4. / 67.

Mélységi keresés Mindig a keresési fa legmélyebben fekvő csomópontjainak egyikét fejti ki Implementation: fringe = LIFO queue, i.e., put successors at front Dr. Kovács Szilveszter M.I. 4. / 68.

Mélységi keresés Mindig a keresési fa legmélyebben fekvő csomópontjainak egyikét fejti ki Implementation: fringe = LIFO queue, i.e., put successors at front Dr. Kovács Szilveszter M.I. 4. / 69.

Mélységi keresés Mindig a keresési fa legmélyebben fekvő csomópontjainak egyikét fejti ki Implementation: fringe = LIFO queue, i.e., put successors at front Dr. Kovács Szilveszter M.I. 4. / 70.

Mélységi keresés Mindig a keresési fa legmélyebben fekvő csomópontjainak egyikét fejti ki Implementation: fringe = LIFO queue, i.e., put successors at front Dr. Kovács Szilveszter M.I. 4. / 71.

Mélységi keresés Mindig a keresési fa legmélyebben fekvő csomópontjainak egyikét fejti ki Implementation: fringe = LIFO queue, i.e., put successors at front Dr. Kovács Szilveszter M.I. 4. / 72.

Mélységi keresés Mindig a keresési fa legmélyebben fekvő csomópontjainak egyikét fejti ki Implementation: fringe = LIFO queue, i.e., put successors at front Dr. Kovács Szilveszter M.I. 4. / 73.

Mélységi keresés tulajdonságai Teljesség? Nem: elvész a végtelen mélységekben és hurkokban El kell kerülni az út mentén ismétlődő állapotokat véges fa esetén teljes! a keresési fa mélysége a megoldás mélysége Idő? O(b m ): nagyon rossz, ha m sokkal nagyobb mint d ha sűrűn vannak a megoldások, akkor sokkal gyorsabb is lehet mint a szélességi keresés Hely? O(bm), azaz, lineáris a hely komplexitás! m a fa maximális mélysége és csak a levélcsomópontig vezető utat és az útközben kifejtetlen csomópontokat kell eltárolni. Optimalitás? Nem Ha vannak végtelen mély ágak, akkor nem teljes és nem optimális. Dr. Kovács Szilveszter M.I. 4. / 74.

Mélységkorlátozott keresés Mélységi keresés, de egy adott mélységnél nem mehetünk tovább a keresési fában. A legelső talált megoldásnál megáll. pl. Kecskemét Poreč övezetben n (n=29) város található - ha a lépések száma eléri az n-t, és nem értünk célba, akkor nincs értelme a folytatásnak. Dr. Kovács Szilveszter M.I. 4. / 75.

Mélységkorlátozott keresés tulajdonságai Teljesség? Nem teljes ha l < d (Csak akkor lenne teljes, ha előre tudnánk a megoldás maximális mélységét) Optimalitás? Nem optimális pl. ha l > d (lehet, hogy mélyebben talál egy megoldást) Idő? Időigény b l -el arányos: O(b l ) Hely? Tárigény b*l-el arányos: O(bl) Ahol l a mélységi korlát Dr. Kovács Szilveszter M.I. 4. / 76.

Iteratívan mélyülő keresés A legjobb mélységkorlát iteratív meghatározása Az összes lehetséges mélységkorlát kipróbálása Exponenciális keresési fa esetén viszonylag kis többletmunka Dr. Kovács Szilveszter M.I. 4. / 77.

Iteratívan mélyülő keresés l =0 Dr. Kovács Szilveszter M.I. 4. / 78.

Iteratívan mélyülő keresés l =1 Dr. Kovács Szilveszter M.I. 4. / 79.

Iteratívan mélyülő keresés l =2 Dr. Kovács Szilveszter M.I. 4. / 80.

Iteratívan mélyülő keresés l =3 Dr. Kovács Szilveszter M.I. 4. / 81.

Az iteratívan mélyülő keresés tulajdonságai Number of nodes generated in a depth-limited search to depth d with branching factor b: N DLS = b 0 + b 1 + b 2 + + b d-2 + b d-1 + b d Number of nodes generated in an iterative deepening search to depth d with branching factor b: N IDS = (d+1)b 0 + d b 1 + (d-1)b 2 + + 3b d-2 +2b d-1 + 1b d For b = 10, d = 5, N DLS = 1 + 10 + 100 + 1,000 + 10,000 + 100,000 = 111,111 N IDS = 6 + 50 + 400 + 3,000 + 20,000 + 100,000 = 123,456 Overhead = (123,456-111,111)/111,111 = 11% A legtöbb csomópont a fa alján van Dr. Kovács Szilveszter M.I. 4. / 82.

Az iteratívan mélyülő keresés tulajdonságai Teljesség? Igen Idő? (d+1)b 0 + d b 1 + (d-1)b 2 + + b d = O(b d ) Hely? O(bd) Optimalitás? Igen, feltéve, hogy az útiköltség a csomópontszám költségnek nem csökkenő függvénye (mélyebben csak drágábbak lehetnek) (e.g. if cost = 1 per step) Dr. Kovács Szilveszter M.I. 4. / 83.

Szakirodalmi ajánlás Nagy keresési térrel rendelkező problémák esetén, és ha a megoldás mélysége nem ismert, az iteratívan mélyülő keresés alkalmazását javasolja. Dr. Kovács Szilveszter M.I. 4. / 84.

Kétirányú keresés Keresés indítása egyszerre - a kiinduló állapotból és - a célállapotból Leállás: a két keresés találkozásánál Dr. Kovács Szilveszter M.I. 4. / 85.

Bidirectional search Két egyidejű keresés, egy a kiindulási, egy a célállapotból. Motiváció: b d /2 + b d /2 b d Check whether the node belongs to the other fringe before expansion. Space complexity is the most significant weakness. Teljes és optimális, ha mindkét keresés szélességi keresés. Dr. Kovács Szilveszter M.I. 4. / 86.

How to search backwards? The predecessor of each node should be efficiently computable. When actions are easily reversible. Dr. Kovács Szilveszter M.I. 4. / 87.

Summary of algorithms Criterion Uniformcost Breadth- First Depthlimited Depth- First Iterative deepening Bidirectio nal search Complete? YES* YES* NO YES, if l d YES YES* Time b d b C*/e b m b l b d b d/2 Space b d b C*/e bm bl bd b d/2 Optimal? YES* YES* NO NO YES YES Dr. Kovács Szilveszter M.I. 4. / 88.

Ismételt állapotok elkerülése Failure to detect repeated states can turn a solvable problems into unsolvable ones Módszerek: Ne térjen vissza a megelőző állapotba Ne hozz létre kört tartalmazó utat Ne generálj már korábban legenerált állapotot (valamennyi korábbi állapot tárolása O(b d ) tárigény) Dr. Kovács Szilveszter M.I. 4. / 89.

Ajánlott irodalom Jelen előadás fóliái részben az alábbi források alapján készültek: Stuart J. Russel Peter Norvig: Mesterséges Intelligencia modern megközelítésben, Panem- Prentice-Hall, Budapest, 2000, ISBN 963 545 241 1 Dr. Dudás László: Mesterséges Intelligencia Módszerek, Miskolci Egyetem, Alkalmazott Informatikai Tanszék, http://www.ait.iit.uni-miskolc.hu/~dudas/mieaok Dr. Kovács Szilveszter M.I. 4. / 90.