CSELEKVÉSTERVEZÉS (PLANNING)
-
Upload
steven-edwards -
Category
Documents
-
view
12 -
download
1
description
Transcript of CSELEKVÉSTERVEZÉS (PLANNING)
CSELEKVÉSTERVEZÉS (PLANNING)
CSELEKVÉSTERVEZÉS 2
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 3
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 4
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 5
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 6
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 7
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 feladatfinomabb, gazdagabb reprezentáció szükségesnem lehet olyan általános, mint a logikahatékony következtetésre képes algoritmusoktervező algoritmusok
CSELEKVÉSTERVEZÉS 8
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))
A
C
B C
B
CSELEKVÉSTERVEZÉS 9
AKCIÓK REPREZENTÁCIÓJAAkció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
CSELEKVÉSTERVEZÉS 10
AKCIÓK REPREZENTÁCIÓJA
move(b, l) b l
új előfeltétel?
megszorítás?
b s holds(location(b, b), s)
?
CSELEKVÉSTERVEZÉS 11
STRIPS REPREZENTÁCIÓ
STRIPS – Stanford Research Institute Problem SolverElemei: 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
CSELEKVÉSTERVEZÉS 12
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
CSELEKVÉSTERVEZÉS 13
STRIPS REPREZENTÁCIÓ – PÉLDA
A P(A) A(A) D(A)
move(x, y, z) clear(x)
loc(x, y)
clear(z)
loc(x, z)
clear(y)
loc(x, y)
clear(z)
move_to_table(x, y) clear(x)
loc(x, y)
loc(x, table)
clear(y)
loc(x, y)
CSELEKVÉSTERVEZÉS 14
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.
CSELEKVÉSTERVEZÉS 15
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
CSELEKVÉSTERVEZÉS 16
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 O halmaza 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
CSELEKVÉSTERVEZÉS 17
RÉSZLEGES SORRENDŰ TERVEZÉS
részleges terv: A, O, V, L
A: tervben szereplő akciók halmazaO: előzési korlátozások halmazaV: változólekötésekre vonatkozó korlátozások halmazaL: oksági kapcsolatok halmaza
kezdeti állapot:A = A0, AO = A0 AV = 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
CSELEKVÉSTERVEZÉS 18
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
CSELEKVÉSTERVEZÉS 19
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
CSELEKVÉSTERVEZÉS 20
RÉSZLEGES SORRENDŰ TERVEZÉS ALGORITMUSA
P: kezdeti terv A, O, V, L, Ag: pillanatnyi célhalmaz1. Ag = kész
2. részcél választása: Q, Ai Ag
3. 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 legyenL' = L Aj, Q, Ai
4. agenda frissítése:
ha Aj A: Ag' = Ag \ Q, Ai ha Aj A: Ag' = Ag \ Q, Ai P(Aj), Aj
5. fenyegetések elhárítása:újabb előzési korlátok (promotion, demotion)
6. ha P' terv inkonzisztens, kudarc,egyébként P' és Ag' visszaadása.
CSELEKVÉSTERVEZÉS 21
GYAKORLATI TERVEZÉS
Hierarchikus tervezés vázlatok, kevesebb előfetétel, dekompozíció részletek kitöltéserészfeladatok nem mindig egyesíthetők
Tervezés / végrehajtástervezés: célállapot kezdőállapotvégrehajtás: kezdőállapot célállapotplan 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
CSELEKVÉSTERVEZÉS 22
várakozó fenyegetések erőforrás(al)célok konflikusok
célok fenyegetések erőforráselemzése elemzése analízis
megoldás terv
pillanatnyi terv
kezdeti terv
vezérlés:hiányosság és kezelési módszer választása
hiányosságoknincshiányosság
időbeli változó erőforráskorlátozások lekötések korlátozások kezelése kezelése kezelése
finomítás vagyjavitás