220 likes | 271 Views
CSELEKVÉSTERVEZÉS (PLANNING). CSELEKVÉSTERVEZÉS. cselekvéstervezés szintézis – kisebb elemekből bonyolultabb objektum valamilyen szabályokkal planning, design, sheduling Probléma: szervezetek, csoportok vagy egyének bizonyos célok elérésére irányuló viselkedésének meghatározása
E N D
CSELEKVÉSTERVEZÉS cselekvéstervezés szintézis – kisebb elemekből bonyolultabb objektum valamilyen szabályokkal planning, design, sheduling Probléma: • szervezetek, csoportok vagy egyének bizonyos célok elérésére irányuló viselkedésének meghatározása • cél: a világ állapota(i) Kérdések: • Miként hatnak a cselekedetek a világra? modellezés, szimuláció • Hogyan tervezhető meg egy összetett cselekvéssor? Megközelítések: • speciális, alkalmazásfüggő tervezés • általános célú, alkalmazásfüggetlen tervezés • situated action
CSELEKVÉSTERVEZÉS - ALAPFELTEVÉSEK • a tervezés és a terv végrehajtása szétválik • a világ: determinisztikus, statikus, teljesen megfigyelhető • van kezdőállapot és elérendő cél(ok) • az akciók: elemi akciók, nem párhuzamosíthatók • a tervező teljes tudással rendelkezik a világról • változásokat csak egy terv végrehajtása idézhet elő – a világot külső ok nem mozgatja • nincs visszahatás a tervezésre
CSELEKVÉSTERVEZÉS – TERVEZÉSI FELADAT adott: • a világ kezdeti állapota (teljesen ismert) • a célállapot jellemzése (részlegesen adott) • a világot módosítani képes akciók keresendő: • egy terv (akciók szervezett együttese), amely • végrehajtható • a világot átviszi egy elérendő célállapotba
CSELEKVÉSTERVEZÉS, MINT KERESÉSI PROBLÉMA • általános célú problémamegoldó (GPS) • elágazási tényező nagy lehet pl. vásárlási terv • módszeres próbálkozás legtöbb cselekedetünk haszontalan lenne • állapotok és akciók közötti kapcsolat akciók hatása • akciók kölcsönhatása előfeltételek megadása • kötött sorrendű akciósorozat kötetlenebb tervreprezentáció • akciók hatása lokális alcélok
CSELEKVÉSTERVEZÉS, MINT LOGIKAI KÖVETKEZTETÉS • szituációkalkulus – a tényeket egy világállapothoz köti • szituáció: adott pillanatban a világ teljes állapotának leírása • akció: állapot másik állapot • keret (frame) axiómák • cselekvéstervezés: tételbizonyítás (axiómák + célállapot) problémák: • sok frame axióma • számítási idő • irreleváns akciók • egymás hatását kioltó akciók
CSELEKVÉSTERVEZÉS ... se egyedül keresés, se egyedül következtetés • ha keresési probléma: • túl nagy elágazási tényező, • csak szekvencia lehet egy terv • ha tételbizonyítás: • irányíthatatlan, • irreleváns lépések a tervben cselekvéstervezés nem pusztán keresési feladat finomabb, gazdagabb reprezentáció szükséges nem lehet olyan általános, mint a logika hatékony következtetésre képes algoritmusok tervező algoritmusok
PÉLDA: KOCKAVILÁG világ: location(block, place) akció: move(what, where) move(block, place) location(block, place) ? move(b, l1) move(b, l2) location(b, l1) location(b, l2) jobb: move(block, place, state) location(block, place, next(state)) jobb: location(block, place, result(move(block, place) state)) előfeltételek ? jobb: clear(block, state) clear(place, state) location(block, place, result(move(block, place) state))
AKCIÓK REPREZENTÁCIÓJA Akciók • Hogyan reprezentájuk az akciókat? előfeltétel hatás • Mit tudunk a világról: akciók reprezentációja Reprezentáció alapkérdései: • a világ nem változó része keret probléma (frame problem) általános alapfeltevés: a változások lokálisak (csak az változik, amit hatásként megadtunk) • mi változik, hogy adható meg hatásterjedés problémája (ramification problem) • tevékenység előfeltételeinek megadása kvalifikációs probléma (qualification problem) nehéz pontosan formalizálni
AKCIÓK REPREZENTÁCIÓJA move(b, l) b l új előfeltétel? megszorítás? b s holds(location(b, b), s)
STRIPS REPREZENTÁCIÓ STRIPS – Stanford Research Institute Problem Solver Elemei: • világ állapota: igaz elemi logikai állítások konjunkciója • cél: elérendő elemi állítások konjunkciója • akciók: operátorok - a • előfeltételek: konjunktív logikai kifejezések - P(a) • hatások: milyen állítások válnak igazzá – A(a) illetve hamissá – D(a) STRIPS feltevések: • minden előfeltétel expliciten adott • ami nincs a hatások között változatlan • a világ csak az akciók során változhat
STRIPS REPREZENTÁCIÓ Kezdeti állapot: • függvénymentes • konstansokkal felépített literálok • határozott világállapot Célállapot: • változók lehetnek • nem teljes világleírás Akciósorozat: • kezdőállapotból egy végállapotba viszi a világot
STRIPS REPREZENTÁCIÓ Def: „a” akció sikeres (succeeds)/végrehajtható S állapotban iff P(a) S. Def: „a” akció eredménye: result(a, S) = S \ D(a) A(a) Def: a1, . . . , an akciósorozat, S állapot, S0 = S és Si = result(ai, Si-1) i=1, . . . , n a1, . . . , an akciósorozat sikeres, ha ai sikeres és teljesíti G célt, ha G Sn.
STRIPS REPREZENTÁCIÓ A STRIPS keresési tér: gyökér node: ( , G) akciósorozat, függő célok cél node: ( a1, . . . ,an, Z), Z Sn node kiterjesztése a akcióval: ( a1, . . . ,an, Z) A(a) Z és D(a) Z ( a, a1, . . . ,an, (Z \ A(a)) P(a)) új részcél
RÉSZLEGES SORRENDŰ TERVEZÉS (PARTIAL ORDER PLANNING) Terv: • legyen végrehajtható és vezessen a célhoz • részben rendezett akciók • legkisebb elkötelezettség Reprezentáció: • akció példányok A={A1, A2, .., An}halmaza • akció példányok közti Ai Aj előzési korlátozások Ohalmaza • változó lekötésekre vonatkozó korlátozások V halmaza • a korlátozások v = x ill. v ≠ x formában adottak, ahol v egy változó, x pedig egy másik változó vagy egy konstans • L az oksági kapcsolatok halmaza Ap q Ac formában • Ap azért van a tervben, hogy előállítsa Ac egyik, q előfeltételét. Az oksági kapcsolat egyben korlátozás: előírja, hogy Ap és Ac között, bármilyen más akció is legyen köztük végrehajtva, q igaz kell, hogy maradjon
RÉSZLEGES SORRENDŰ TERVEZÉS részleges terv: A, O, V, L A: tervben szereplő akciók halmaza O: előzési korlátozások halmaza V: változólekötésekre vonatkozó korlátozások halmaza L: oksági kapcsolatok halmaza kezdeti állapot: A = A0, A O = A0 A V = L = oksági kapcsolatok (casual links): Ap, Q, Ac Ap: termelő akció (producer) Ac: fogyasztó akció (consumer) Q: előfeltétel, Ap eredménye, Ac feltétele korlátozás: Ap és Ac között bármely akciót végrehajtva Q igaz maradjon
RÉSZLEGES SORRENDŰ TERVEZÉS Def: egy Ap, Q, Ac oksági kapcsolatot fenyeget At A akció, melyre megengedett az Ap At Ac részleges sorrend és melynek hatása tagadhatja Q-t. fenyegetés elhárítása: • előzési korlátozások megadása • At Ap előzési korlátozás (demotion) • Ac At előzési korlátozás (promotion) • változólekötés At egyik hatása sem tagadhatja Q-t egy terv megoldás, ha: • az összes akció előfeltételeit egy-egy oksági kapcsolat támogat • egyetlen oksági kapcsolatot sem ér fenyegetés
RÉSZLEGES SORRENDŰ TERVEZÉS pillanatnyi célok halmaza (agenda): Ag = Q, Ai , . . . Ai A Q: Ai egy még nem teljesített előfeltétele kettősökből áll: mit kell létrehozni, mi előtt – elemi részcélok pl: Ag = on(a, b), A , on(b, c), A
RÉSZLEGES SORRENDŰ TERVEZÉS ALGORITMUSA P: kezdeti terv A, O, V, L, Ag: pillanatnyi célhalmaz • Ag = kész • részcél választása: Q, Ai Ag • akció választása: Aj képes előállítani Q-t új/tervben szereplő akció: A' = A Aj / A' = A O' = O Aj Ai V' = V Aj változóinak lekötése, hogy eredmény Q legyen L' = L Aj, Q, Ai • agenda frissítése: ha Aj A: Ag' = Ag \ Q, Ai ha Aj A: Ag' = Ag \ Q, Ai P(Aj), Aj • fenyegetések elhárítása: újabb előzési korlátok (promotion, demotion) • ha P' terv inkonzisztens, kudarc, egyébként P' és Ag' visszaadása.
GYAKORLATI TERVEZÉS Hierarchikus tervezés • vázlatok, kevesebb előfetétel, dekompozíció • részletek kitöltése részfeladatok nem mindig egyesíthetők Tervezés / végrehajtás tervezés: célállapot kezdőállapot végrehajtás: kezdőállapot célállapot plan debugging Gyakorlati tervezés • gazdagabb idő fogalom (intervallumok, akciók időtartama) • erőforrások szerepe (tartós, fogyasztható) • kifinomultabb célok (elérendő, fenntartandó, elkerülendő, időbeli) • felhasználó közreműködése • korlátozáskielégítés, operációkutatás