Mesterséges Intelligencia MI

Hasonló dokumentumok
Cselekvési tervek generálása. Máté Annamária

Mesterséges Intelligencia Cselekvéstervezés

, , A

Mesterséges Intelligencia MI

Cselekvési tervek generálása a robotikában

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

Mesterséges Intelligencia MI

Tervkészítés Elméleti segédlet

Mesterséges Intelligencia MI

Mesterséges Intelligencia

Mesterséges Intelligencia MI

Mesterséges Intelligencia MI

Logikai ágensek. Mesterséges intelligencia március 21.

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

Mesterséges Intelligencia MI

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

ÍTÉLETKALKULUS (NULLADRENDŰ LOGIKA)

Mesterséges Intelligencia MI

Mesterséges Intelligencia MI

Mesterséges Intelligencia MI

Mesterséges Intelligencia MI

Mesterséges Intelligencia MI

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.

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

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

Intelligens Elosztott Rendszerek. Dobrowiecki Tadeusz és Eredics Péter, Gönczy László, Pataki Béla és Strausz György közreműködésével

Mesterséges Intelligencia MI

Válogatott fejezetek a logikai programozásból ASP. Answer Set Programming Kelemen Attila

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

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

Szoftver-modellellenőrzés absztrakciós módszerekkel

SAT probléma kielégíthetőségének vizsgálata. masszív parallel. mesterséges neurális hálózat alkalmazásával

Intelligens ágensek Mesterséges Intelligencia rendszertechnikai gyökerei

Alapszintű formalizmusok

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

... fi. ... fk. 6. Fabejáró algoritmusok Rekurzív preorder bejárás (elsőfiú-testvér ábrázolásra)

Mesterséges Intelligencia (Artificial Intelligence)

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

Logika es sz am ıt aselm elet I. r esz Logika 1/36

ALAPFOGALMAK 1. A reláció az program programfüggvénye, ha. Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha

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

Modellkiválasztás és struktúrák tanulása

GONDOLKODÁS ÉS NYELV

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

Hardver és szoftver rendszerek verifikációja Röviden megválaszolható kérdések

Mesterséges Intelligencia MI

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

A modell-ellenőrzés gyakorlata UPPAAL

Mesterséges Intelligencia MI

2. Logika gyakorlat Függvények és a teljes indukció

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Mesterséges intelligencia 2. laborgyakorlat

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

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

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)

2. Visszalépéses stratégia

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

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

BOOLE ALGEBRA Logika: A konjunkció és diszjunkció tulajdonságai

Megerősítéses tanulási módszerek és alkalmazásaik

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

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

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

Mesterséges Intelligencia MI

Üzemszervezés. Projekt tervezés. Dr. Juhász János

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

Monoton Engedmény Protokoll N-M multilaterális tárgyalás

Predikátumkalkulus. 1. Bevezet. 2. Predikátumkalkulus, formalizálás. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák.

A dec. 19-i vizsga jellegzetes hibái:

Programozási nyelvek 6. előadás

Bevezetés az informatikába

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

Intelligens Rendszerek Elmélete IRE 4/32/1

Elsőrendű logika. Mesterséges intelligencia március 28.

Mit látnak a robotok? Bányai Mihály Matemorfózis, 2017.

Mesterséges Intelligencia (MI)

Ágensek bevezető áttekintés:

... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak.

Adatszerkezetek 1. előadás

Gépi tanulás. Féligellenőrzött tanulás. Pataki Béla (Bolgár Bence)

Mesterséges intelligencia 1 előadások

Intelligens beágyazott rendszer üvegházak irányításában

Diszkrét matematika I.

Parametrikus tervezés

Adatszerkezetek 2. Dr. Iványi Péter

Csima Judit október 24.

30. ERŐSEN ÜSSZEFÜGGŐ KOMPONENSEK

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

Algoritmusok és adatszerkezetek gyakorlat 07

Mesterséges Intelligencia MI

Jason platform. Intelligens Elosztott Rendszerek BME-MIT, 2018

Bevezetés az informatikába

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

5. SOR. Üres: S Sorba: S E S Sorból: S S E Első: S E

Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs rendszerek Tanszék. Neurális hálók. Pataki Béla

Megerősítéses tanulás

Gépi tanulás. Hány tanítómintára van szükség? VKH. Pataki Béla (Bolgár Bence)

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

Átírás:

Mesterséges Intelligencia MI Tervkészítés Dobrowiecki Tadeusz Eredics Péter, és mások BME I.E. 437, 463-28-99 dobrowiecki@mit.bme.hu, http://www.mit.bme.hu/general/staff/tade

Utasítsuk a háztartási robotunkat: "Vegyél egy liter tejet, egy kiló banánt és egy akkumulátoros fúrót!" Komplexitás kérdése: O(b d ) 4-féle cselekvés, terv 10 lépésben 100-féle cselekvés, terv 50 lépésben O(4 10 ) = 10 6 O(100 50 ) = 10 100 Reális-e a probléma? = gazdag cselekvéskészlet + komplex célok? Robotok valós környezetben Csapatmozgatások Gyártástervezés Űrhajó szerelése..

Egy hatékony tervkészítő (un. Planner) input: tervkészítési probléma = rendszer képességei, kezdeti helyzet, cél output: terv (cs1, cs2,, csn), ill. un. klasszikus tervkészítés minden véges, teljesen hozzáférhető determinisztikus, csak ágens cselekvése, ismert explicit célok, szekvenciális tervek implicit idő, off-line tervkészítés doménfüggő (konkrét feladatra kifejlesztett) konfigurálható Hierarchikus Taszk Háló doménfüggetlen STRIPS, ADL, PDDL keresés szituációk terében keresés bizonyítás transzformáció (ítéletlogikai kielégíthetőség) SAT, int. progr. keresés tervek terében részben rendezett (POP) tervgráf (Graphplan) heurisztikák hierarchikus, eshetőségi, végrehajtás és monitorozás

A keresés baja: a tudás nem hatékony használata Cselekvések leírása: csak a követő állapotgeneráláshoz. Állapotleírások: csak a követő állapotok generálásakor, heurisztika kiértékelésekor és a célállapot vizsgálatakor. ok leírása: csak a célállapot vizsgálatára. Tervek leírása: cselekvések végrehajtási sorrendje kötött, a kezdeti állapottól (vagy a célállapotból) indulnak Heurisztika: csak a lehetséges állapotok közül választ, de a vizsgálandó cselekvések körét nem tudja szűkíteni. Ágensnek már a kezdeti állapotban el kell döntenie, merre induljon, de gyakorlatilag semmit sem tud, merre érdemes. Alapgondolat Ha a cél része van(tej) predikátum, és pl. Vesz(Tej) cselekvéssel van(tej) teljesül, akkor célszerű olyan tervet készíteni, amelyben szerepel Vesz(Tej) cselekvés. Vesz(Tej) a terv első lépése? Utolsó lépése? Hányadik lépése legyen? Nem tudni! De a terv készítését érdemes ezzel kezdeni!

A tervkészítés gyakorlatiassá tétele Leíró nyelv korlátozása: logika, de korlátos, a teljes körű bizonyítás nem lesz használható. Speciális tervkészítő (planner) az általános célú tételbizonyító helyett. ca. 1970 STRIPS (Stanford Research Institute Problem Solver) Állapotok, célok: függvénymentes rögzített literálok konjunkciói helyszín(otthon) van(tej) van(banán) van(fúró) Cselekvés: STRIPS operátor előfeltétel: atomi formulák konjunkciója, igaznak kell lennie az operátor alkalmazhatóságához. következmény: (poz. vagy neg.) literálok konjunkciója, megadja, hogyan változik meg a szituáció az operátor alkalmazásakor. szituációváltozó nélkül is nem monoton, mert nem teljes körű logika Fontos gondolat: ez a reprezentáció lassan beépül az Informatika egészébe (robotika, ágens kommunikációs nyelvek, információ-feldolgozó rendszerek a világhálón,

Szituációtér és tervtér szituációtérbeli tervkészítő progresszív tervkészítő (nagy elágazási tényező, óriási a keresési tér) Elágazási tényező csökkentése: regresszív tervkészítés: visszafelé keresés a célállapot felől. váltsunk absztrakciót és teret, menjünk oda, ahol a komplexitás kisebb!

Keresés a lehetséges tervek terében mit nyerünk? Indulás: egyszerű, befejezetlen, részleges (kezdetben üres ) terv. Részleges terv bővítése újabb cselekvésekkel, míg el nem érünk egy teljes tervet, amely már az egész problémát megoldja. A keresés operátorai most a terveken végezhető finomító/ módosító műveletek: - egy új cselekvés hozzáadása, cselekvés elhagyása - valamilyen rendezési feltételek előírása - egy-egy érték kötése a változókhoz, stb. A megoldás az utolsó lépésben előálló terv (azaz az ágens cselekvéssorozata, a hozzá vezető út érdektelen. Tervtérben sokkal kevesebb (tip. 5-10) a lehetséges művelet, mint az ágens cselekvéskészlete! A legkisebb megkötés elvű Részben Rendezett Tervkészítő RRT (Partial Order Planning POP) Az adott pillanatban fontos dolgokat dönti el, az összes többit később. A lépések sorrendjét nem kell mesterségesen előre rögzíteni. Ha egy gráf keletkezik, lehet azt utólag sorba rendezni, avagy linearizálni.

Egy terv formálisan: 1. A terv lépései: minden lépés a problémához kapcsolódó ágenscselekvés. 2. A lépések sorrendjére vonatkozó kényszerek: Si Sj Si megelőzi Sj-t, Si végrehajtásának Sj végrehajtása előtt kell megtörténnie, de nem szükségszerűen közvetlenül előtte. 3. A változó értékeinek lekötése: v = x, ahol v egy adott lépésben szereplő változó, és x egy konstans, vagy egy másik változó. 4. Okozati kapcsolatok: Si -- c --> Sj (un. védett kapcsolatok) "Si előállítja c-t Sj számára" - az egyes lépések tervbeli rendeltetését rögzítik: Si rendeltetése, hogy előállítsa Sj számára a c előfeltételét. Az eredeti probléma becsomagolása : a kezdeti üres terv a még nem megoldott problémát írja le: - fiktív Start és lépések. Egyik lépéshez sem tartozik cselekvés, a kész tervből a végrehajtása előtt elhagyandók. - Start-nak nincsenek előfeltételei, a következménye a kiinduló állapot. - lépés előfeltétele a végállapot, és nincsenek következményei.

Egy üres terv A tervkészítés által visszaadott megoldás: - az ágens által végrehajtható (helyes) - garantálja a cél elérését (teljes) Teljes: Minden tervbeli Sj lépés minden c előfeltétele, vagy igaz a kezdeti állapotban, vagy létezik a tervben egy olyan Si lépés, amely az Sj lépés c előfeltételét előállítja, azaz: c az Si lépés egyik következménye, és az adott előfeltételt egyetlen másik lépés sem szünteti meg: (1) Si < Sj és c Köv(Si) (2) Nincs olyan Sk lépés, melyre ( c) Köv(Sk), ahol teljesül a Si < Sk < Sj a terv bizonyos sorba rendezésében. Konzisztens: nincs benne ellentmondó sorba rendezés vagy lekötés.

Vissza a példához Op(Cselekvés: Következmény: Op(Cselekvés: Előfeltétel: Op(Cselekvés: Előfeltétel: Következmény: Op(Cselekvés: Előfeltétel: Következmény: Start, helyszín(otthon) árusít(szb, Fúró) árusít(éb,tej) árusít(éb, Banán)), van(fúró) van(tej) van(banán) helyszín(otthon)) Megy(ott), helyszín(itt), helyszín(ott) helyszín(itt)) Vesz(x), helyszín(bolt) árusít(bolt,x), van(x)) Start H(O) Á(SzB,F) Á(ÉB,T) Á(ÉB,B) V(F) V(T) V(B) H(O)

Start Az algoritmus vadászik (a) a még nem teljesített előfeltételekre, (b) a fenyegető Si < Sk < Sj beszúrt cselekvésekre (ld. a teljesség definíciója). Alkalmazott ellenszer = (a) meglévő operátorok újszerű felhasználása, új operátor hozzáadása, (b) új rendezési kényszerek (ld. a teljesség definíciója).

Start célállapot-teszt? beszúrás H(b) Á(b,x) V(x) x/f, b/szb

Start célállapot-teszt? lekötés H(SzB) Á(SzB,F) V(F)

Start célállapot-teszt? beszúrás lekötés H(SzB) Á(SzB,F) V(F) H(ÉB) Á(ÉB,T) Vesz(T) V(T)

Start célállapot-teszt? beszúrás lekötés H(SzB) Á(SzB,F) V(F) H(ÉB) Á(ÉB,T) Vesz(T) V(T) H(ÉB) Á(ÉB,B) Vesz(B) V(B)

újrafelhasználás Start célállapot-teszt? H(SzB) Á(SzB,F) V(F) H(ÉB) Á(ÉB,T) Vesz(T) V(T) H(ÉB) Á(ÉB,B) Vesz(B) V(B)

Start célállapot-teszt? beszúrás H(i) Megy(x) H(o) H(i) H(SzB) Á(SzB,F) V(F) H(ÉB) Á(ÉB,T) Vesz(T) V(T) H(ÉB) Á(ÉB,B) Vesz(B) V(B)

Start célállapot-teszt? lekötés H(i) Megy(SzB) H(SzB) H(i) H(SzB) Á(SzB,F) V(F) H(ÉB) Á(ÉB,T) Vesz(T) V(T) H(ÉB) Á(ÉB,B) Vesz(B) V(B)

Start célállapot-teszt? beszúrás lekötés H(i) Megy(SzB) H(SzB) H(i) H(i) Megy(ÉB) H(ÉB) H(i) H(SzB) Á(SzB,F) V(F) H(ÉB) Á(ÉB,T) Vesz(T) V(T) H(ÉB) Á(ÉB,B) Vesz(B) V(B)

Start célállapot-teszt? lekötés H(O) Megy(SzB) H(SzB) H(O) H(O) Megy(ÉB) H(ÉB) H(O) H(SzB) Á(SzB,F) V(F) H(ÉB) Á(ÉB,T) Vesz(T) V(T) H(ÉB) Á(ÉB,B) Vesz(B) V(B)

Start célállapot-teszt? újrafelhasználás H(O) Megy(SzB) H(SzB) H(O) H(O) Megy(ÉB) H(ÉB) H(O) H(SzB) Á(SzB,F) V(F) H(ÉB) Á(ÉB,T) Vesz(T) V(T) H(ÉB) Á(ÉB,B) Vesz(B) V(B)

Start célállapot-teszt? H(O) Megy(SzB) H(SzB) H(O) H(O) Megy(ÉB) H(ÉB) H(O) H(SzB) Á(SzB,F) V(F) H(ÉB) Á(ÉB,T) Vesz(T) V(T) H(ÉB) Á(ÉB,B) Vesz(B) V(B) Fenyegetés!

Start célállapot-teszt? H(O) Megy(SzB) H(SzB) H(O) H(O) Megy(ÉB) H(ÉB) H(O) Egy lépés következménye elrontja egy másik lépés előfeltételét. Igaz, hogy parallel ágban, de majd sorba kell rendezni. H(SzB) Á(SzB,F) És akkor ne legyen baj. H(ÉB) Á(ÉB,T) H(ÉB) Á(ÉB,B) V(F) Vesz(T) V(T) Vesz(B) V(B) Fenyegetés!

Védett kapcsolatok: hátramozdítás, előremozdítás

Start célállapot-teszt? rendezések H(O) Megy(SzB) H(SzB) H(O) H(SzB) Megy(ÉB) H(ÉB) H(SzB) H(SzB) Á(SzB,F) V(F) H(ÉB) Á(ÉB,T) Vesz(T) V(T) H(ÉB) Á(ÉB,B) Vesz(B) V(B)

Start célállapot-teszt? rendezések H(O) Megy(SzB) H(SzB) H(O) H(SzB) Megy(ÉB) H(ÉB) H(SzB) H(SzB) Á(SzB,F) V(F) H(ÉB) Á(ÉB,T) Vesz(T) V(T) H(ÉB) Á(ÉB,B) Vesz(B) V(B)

Start célállapot-teszt? H(O) Megy(SzB) H(SzB) H(O) H(SzB) Megy(ÉB) H(ÉB) H(SzB) H(SzB) Á(SzB,F) V(F) H(ÉB) Á(ÉB,T) Vesz(T) V(T) H(ÉB) Á(ÉB,B) Vesz(B) V(B) előremozdítás hátramozdítás

Start célállapot-teszt? beszúrás H(O) Megy(SzB) H(SzB) H(O) H(SzB) Megy(ÉB) H(ÉB) H(SzB) H(SzB) Á(SzB,F) V(F) H(ÉB) Á(ÉB,T) Vesz(T) V(T) H(ÉB) Á(ÉB,B) Vesz(B) V(B) H(x) Megy(O) H(O) H(x)

Start célállapot-teszt? lekötés H(O) Megy(SzB) H(SzB) H(O) H(SzB) Megy(ÉB) H(ÉB) H(SzB) H(SzB) Á(SzB,F) V(F) H(ÉB) Á(ÉB,T) Vesz(T) V(T) H(ÉB) Á(ÉB,B) Vesz(B) V(B) X = O? X = SzB? X = ÉB? H(x) Megy(O) H(O) H(x)

Start célállapot-teszt? lekötés H(O) Megy(SzB) H(SzB) H(O) H(SzB) Megy(ÉB) H(ÉB) H(SzB) H(SzB) Á(SzB,F) V(F) H(ÉB) Á(ÉB,T) Vesz(T) V(T) H(ÉB) Á(ÉB,B) Vesz(B) V(B) H(ÉB) Megy(O) H(O) H(ÉB)

Fenyegetés! Start célállapot-teszt? H(O) Megy(SzB) H(SzB) H(O) H(SzB) Megy(ÉB) H(ÉB) H(SzB) H(SzB) Á(SzB,F) V(F) H(ÉB) Á(ÉB,T) Vesz(T) V(T) H(ÉB) Á(ÉB,B) Vesz(B) V(B) H(ÉB) Megy(O) H(O) H(ÉB)

Start célállapot-teszt? rendezések H(O) Megy(SzB) H(SzB) H(O) H(SzB) Megy(ÉB) H(ÉB) H(SzB) H(SzB) Á(SzB,F) V(F) H(ÉB) Á(ÉB,T) Vesz(T) V(T) H(ÉB) Á(ÉB,B) Vesz(B) V(B) H(ÉB) Megy(O) H(O) H(ÉB)

Start célállapot-teszt! H(O) Megy(SzB) H(SzB) H(O) H(SzB) Megy(ÉB) H(ÉB) H(SzB) H(SzB) Á(SzB,F) V(F) H(ÉB) Á(ÉB,T) Vesz(T) V(T) H(ÉB) Á(ÉB,B) Vesz(B) V(B) H(ÉB) Megy(O) H(O) H(ÉB)

És kész is! a. Az előfeltételek elfogytak. Le kell állni. b. Minden előfeltétel biztosított más lépés által (a Start-ot) beleértve. c. Nincs nem konzisztens változólekötés. d. Minden védett kapcsolat meg van védve. Mi a terv? A lényeg a rendező kényszerek megfelelő figyelembe vétele Lépés Lépés Lépés Lépés Lépés Lépés

Start H(O) Megy(SzB) H(SzB) H(O) H(SzB) Megy(ÉB) H(ÉB) H(SzB) H(SzB) Á(SzB,F) V(F) H(ÉB) Á(ÉB,T) Vesz(T) V(T) H(ÉB) Á(ÉB,B) Vesz(B) V(B) H(ÉB) Megy(O) H(O) H(ÉB)

Start H(O) Megy(SzB) H(SzB) H(O) H(SzB) Megy(ÉB) H(ÉB) H(SzB) H(SzB) Á(SzB,F) V(F) H(ÉB) Á(ÉB,T) Vesz(T) V(T) H(ÉB) Á(ÉB,B) Vesz(B) V(B) H(ÉB) Megy(O) H(O) H(ÉB)

Start H(O) Megy(SzB) H(SzB) H(O) H(SzB) Megy(ÉB) H(ÉB) H(SzB) H(SzB) Á(SzB,F) V(F) H(ÉB) Á(ÉB,T) Vesz(T) V(T) H(ÉB) Á(ÉB,B) Vesz(B) V(B) H(ÉB) Megy(O) H(O) H(ÉB)

Start H(O) Megy(SzB) H(SzB) H(O) H(SzB) Megy(ÉB) H(ÉB) H(SzB) H(SzB) Á(SzB,F) V(F) H(ÉB) Á(ÉB,T) Vesz(T) V(T) H(ÉB) Á(ÉB,B) Vesz(B) V(B) H(ÉB) Megy(O) H(O) H(ÉB)

Start H(O) Megy(SzB) H(SzB) H(O) H(SzB) Megy(ÉB) H(ÉB) H(SzB) H(SzB) Á(SzB,F) V(F) H(ÉB) Á(ÉB,T) Vesz(T) V(T) H(ÉB) Á(ÉB,B) Vesz(B) V(B) H(ÉB) Megy(O) H(O) H(ÉB)

Start H(O) Megy(SzB) H(SzB) H(O) H(SzB) Megy(ÉB) H(ÉB) H(SzB) H(SzB) Á(SzB,F) V(F) H(ÉB) Á(ÉB,T) Vesz(T) V(T) H(ÉB) Á(ÉB,B) Vesz(B) V(B) H(ÉB) Megy(O) H(O) H(ÉB)

Start H(O) Megy(SzB) H(SzB) H(O) H(SzB) Megy(ÉB) H(ÉB) H(SzB) H(SzB) Á(SzB,F) V(F) H(ÉB) Á(ÉB,T) Vesz(T) V(T) H(ÉB) Á(ÉB,B) Vesz(B) V(B) H(ÉB) Megy(O) H(O) H(ÉB)

Start H(O) Megy(SzB) H(SzB) H(O) H(SzB) Megy(ÉB) H(ÉB) H(SzB) H(SzB) Á(SzB,F) V(F) H(ÉB) Á(ÉB,T) Vesz(T) V(T) H(ÉB) Á(ÉB,B) Vesz(B) V(B) H(ÉB) Megy(O) H(O) H(ÉB)

Start H(O) Megy(SzB) H(SzB) H(O) H(SzB) Megy(ÉB) H(ÉB) H(SzB) H(SzB) Á(SzB,F) V(F) H(ÉB) Á(ÉB,T) Vesz(T) V(T) H(ÉB) Á(ÉB,B) Vesz(B) V(B) H(ÉB) Megy(O) H(O) H(ÉB)

Start H(O) Megy(SzB) H(SzB) H(O) H(SzB) Megy(ÉB) H(ÉB) H(SzB) H(SzB) Á(SzB,F) V(F) H(ÉB) Á(ÉB,T) Vesz(T) V(T) H(ÉB) Á(ÉB,B) Vesz(B) V(B) H(ÉB) Megy(O) H(O) H(ÉB)

Start Aminek sorrendjét meg kellett kötni, az megtörtént. Megy(SzB) Megy(ÉB) De aminek sorrendjére a feladatban információ nincs, ez a tervre nincs rákényszerítve. Vesz(T) Vesz(B) és egy kérdés, amit egyelőre félreteszünk: tervkészítés közben keresés történik, de valóban milyen algoritmussal? Megy(O)

PDDL Planning Domain Definition Language ADL Action Description Language, Domain fogalmak, STRIPS-szerű cselekvések (define (domain ) Problem kezdeti állapot, cél állapot (define (problem...) (:domain...) (:objects...) (:init...) (:goal...)) Int. Conf. on Automated Planning and Scheduling (ICAPS) Int. Planning Competition (IPC) http://www.icaps-conference.org/ http://zeus.ing.unibs.it/lpg/ LPG Local search for Planning Graphs

Utasítsuk a háztartási robotunkat: Vegyél egy liter tejet, egy kiló banánt és egy szabályozható fordulatszámú akkumulátoros fúrót!" (define (domain fbb) (:requirements :strips) (:predicates (hely?h) (helyszin?h) (arusit?b?a)(van?v) (aru?aa)) ) (:action megy :parameters (?itt?ott) :precondition (and (hely?itt) (hely?ott) (helyszin?itt)) :effect (and (helyszin?ott) (not (helyszin?itt))) ) (:action vesz :parameters (?b?a) :precondition (and (helyszin?b) (aru?a) (arusit?b?a)) :effect (van?a) )

Utasítsuk a háztartási robotunkat: Vegyél egy liter tejet, egy kiló banánt és egy szabályozható fordulatszámú akkumulátoros fúrót!" (define (problem fbb) (:domain fbb) (:objects tej banan furo elelmiszer vasaru otthon) (:init (hely otthon) (hely elelmiszer) (hely vasaru) (helyszin otthon) (arusit elelmiszer banan) (arusit elelmiszer tej) (arusit vasaru furo) (aru tej) (aru banan) (aru furo)) (:goal (and (helyszin otthon) (van tej) (van banan) (van furo)) ) )

Utasítsuk a háztartási robotunkat: Vegyél egy liter tejet, egy kiló banánt és egy szabályozható fordulatszámú akkumulátoros fúrót!" ; Version LPG-td-1.0 ; Command line: lpg-td-1.0 -o fbb-domain.pddl -f fbb-problem.pddl -speed ; Problem fbb-problem.pddl ; Actions having STRIPS duration ; Time 0.05 ; Search time 0.01 ; Parsing time 0.02 ; Mutex time 0.00 ; Quality 6 0: (MEGY OTTHON ELELMISZER) 1: (VESZ ELELMISZER TEJ) 1: (VESZ ELELMISZER BANAN) 2: (MEGY ELELMISZER VASARU) 3: (VESZ VASARU FURO) 4: (MEGY VASARU OTTHON) ; Time 0.05 ; Search time 0.03 ; Parsing time 0.00 ; Mutex time 0.00 ; Quality 6 0: (MEGY OTTHON VASARU) 1: (VESZ VASARU FURO) 2: (MEGY VASARU ELELMISZER) 3: (VESZ ELELMISZER BANAN) 3: (VESZ ELELMISZER TEJ) 4: (MEGY ELELMISZER OTTHON)

Heurisztika tervkészítéshez: tervkészítési gráfok - Graphplan Lehetséges cselekvések Kezdeti állapot Kiegyenlítés (fixpont) tervgráf Kölcsönös kizárások cselekvésekben, állapotokban mutual exclusion - mutex predikátumok kiegyenlített állapot megoldás nincs predikátumok teljesülnek, és célpredikátumok mutex megoldás lehet A gráfból, mint a keresési térből, ki kell nyerni, ehhez gráf jó heurisztikát ad. A tervek keresési terének egyfajta tömör kódolása Start

Graphplan Cselekvés mutex-ek Inkonzisztens hatások Követk(Cs1) = Követk(Cs2) Interferencia (védett kapcsolat fenyegetése) Követk(Cs1) = Előfelt(Cs2) Versenyhelyzet Előfelt(Cs1) = Előfelt(Cs2) Állítás mutex-ek Ha nincs nem mutex cselekvés, aminek hatása lehetne

Graphplan Op(Cselekvés: Start Előfeltétel: - Követk: Van(Süti) Op(Cselekvés: Előfeltétel: Van(Süti) Megevett(Süti) Op(Cselekvés: Eszik(Süti) Előfeltétel: Van(Süti) Követk: Van(Süti) Megevett(Süti) Op(Cselekvés: Süt(Süti) Előfeltétel: Van(Süti) Követk: Van(Süti) 52

Graphplan Op(Cselekvés: Start Előfeltétel: - Követk: Van(Süti) Op(Cselekvés: Előfeltétel: Van(Süti) Megevett(Süti) Op(Cselekvés: Eszik(Süti) Előfeltétel: Van(Süti) Követk: Van(Süti) Megevett(Süti) Op(Cselekvés: Süt(Süti) Előfeltétel: Van(Süti) Követk: Van(Süti) megőrző cselekvés zárt világ tényleges cselekvés kiegyenlítés (u.a) bővítés mutex nem mutex 53

Graphplan Op(Cselekvés: Start Előfeltétel: - Követk: Van(Süti) Op(Cselekvés: Előfeltétel: Van(Süti) Megevett(Süti) Op(Cselekvés: Eszik(Süti) Előfeltétel: Van(Süti) Követk: Van(Süti) Megevett(Süti) Op(Cselekvés: Süt(Süti) Előfeltétel: Van(Süti) Követk: Van(Süti) Kiegyenlített állapotban igaz a cél és nem mutex = a tervet valahogy ki kell nyerni! 54

Graphplan Op(Cselekvés: Start Előfeltétel: - Követk: Van(Süti) Op(Cselekvés: Előfeltétel: Van(Süti) Megevett(Süti) Op(Cselekvés: Eszik(Süti) Előfeltétel: Van(Süti) Követk: Van(Süti) Megevett(Süti) Op(Cselekvés: Süt(Süti) Előfeltétel: Van(Süti) Követk: Van(Süti) 55

Graphplan Op(Cselekvés: Start Előfeltétel: - Követk: Van(Süti) Op(Cselekvés: Előfeltétel: Van(Süti) Megevett(Süti) Op(Cselekvés: Eszik(Süti) Előfeltétel: Van(Süti) Követk: Van(Süti) Megevett(Süti) Op(Cselekvés: Süt(Süti) Előfeltétel: Van(Süti) Követk: Van(Süti) 56

Graphplan Op(Cselekvés: Start Előfeltétel: - Követk: Van(Süti) Op(Cselekvés: Előfeltétel: Van(Süti) Megevett(Süti) Op(Cselekvés: Eszik(Süti) Előfeltétel: Van(Süti) Követk: Van(Süti) Megevett(Süti) Op(Cselekvés: Süt(Süti) Előfeltétel: Van(Süti) Követk: Van(Süti) 57

Graphplan Op(Cselekvés: Start Előfeltétel: - Követk: Van(Süti) Op(Cselekvés: Előfeltétel: Van(Süti) Megevett(Süti) Op(Cselekvés: Eszik(Süti) Előfeltétel: Van(Süti) Követk: Van(Süti) Megevett(Süti) Op(Cselekvés: Süt(Süti) Előfeltétel: Van(Süti) Követk: Van(Süti) 58

Graphplan Op(Cselekvés: Start Előfeltétel: - Követk: Van(Süti) Op(Cselekvés: Előfeltétel: Van(Süti) Megevett(Süti) Op(Cselekvés: Eszik(Süti) Előfeltétel: Van(Süti) Követk: Van(Süti) Megevett(Süti) Op(Cselekvés: Süt(Süti) Előfeltétel: Van(Süti) Követk: Van(Süti) 59

Graphplan Op(Cselekvés: Start Előfeltétel: - Követk: Van(Süti) Op(Cselekvés: Előfeltétel: Van(Süti) Megevett(Süti) Op(Cselekvés: Eszik(Süti) Előfeltétel: Van(Süti) Követk: Van(Süti) Megevett(Süti) Op(Cselekvés: Süt(Süti) Előfeltétel: Van(Süti) Követk: Van(Süti) 60

Graphplan LPG - Local search for Planning Graphs - tervgráf elkészítése - üres tervből indul (gráf végétől) - terv módosítás lokális kereséssel aktuális részterv környezetében - cselekvés beválasztása/kiiktatása (tervgráf alapján, tervgráf bekötéseket figyelembe véve) - heurisztika: szabad előfeltételek és még meglévő mutexek súlyozott összegéből - lokálisan szimulált lehűtés jelleg, globális optimum reményében 61

Tervkészítés nem determinisztikus problémakörben Végrehajtás felügyelete Egyszerű tervkészítő ágens a tervet "csukott szemmel" hajtja végre, a soron következő cselekvés kiválasztásánál nem használja föl a megfigyeléseit. Nagyon sérülékeny stratégia! - a terv végrehajtása közben bekövetkező események nyomon követése - az ágens fel tudja fedni, ha valamit elhibáz, ha közben a világ megváltozott - ezután újratervezést hajthat végre, hogy a megváltozott helyzetből az eredeti célt elérje. Monitorozás, megtorpanás, P helyett O, javítás megtervezése, javítás végrehajtása, az eredeti terv további végrehajtása újratervezési stratégiák 62

Érdekes előadások zh-s hetekre (nem ZH anyag) XI. 29. kedd, 10.15-12, E1B Bolgár Bence: "Neurális hálók állatkertje" XII. 6. kedd, 10.15-12, E1B Engedy István: "Mély (deep) megerősítéses tanulás alkalmazásai" XII. 7. szerda, 10.15-11, Q-I Mészáros Tamás: "Beszélj a robotodhoz!" XII. 7. szerda, 11.15-12, Q-I Pataki Béla: "Tudás és tudatlanság fúziója"