CSELEKVÉSTERVEZÉS (PLANNING)

22
CSELEKVÉSTERVEZÉS (PLANNING)

description

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 - PowerPoint PPT Presentation

Transcript of CSELEKVÉSTERVEZÉS (PLANNING)

Page 1: CSELEKVÉSTERVEZÉS (PLANNING)

CSELEKVÉSTERVEZÉS (PLANNING)

Page 2: 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

Page 3: CSELEKVÉSTERVEZÉS (PLANNING)

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

Page 4: CSELEKVÉSTERVEZÉS (PLANNING)

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

Page 5: CSELEKVÉSTERVEZÉS (PLANNING)

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

Page 6: CSELEKVÉSTERVEZÉS (PLANNING)

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

Page 7: CSELEKVÉSTERVEZÉS (PLANNING)

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

Page 8: CSELEKVÉSTERVEZÉS (PLANNING)

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

Page 9: CSELEKVÉSTERVEZÉS (PLANNING)

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

Page 10: CSELEKVÉSTERVEZÉS (PLANNING)

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)

?

Page 11: CSELEKVÉSTERVEZÉS (PLANNING)

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

Page 12: CSELEKVÉSTERVEZÉS (PLANNING)

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

Page 13: CSELEKVÉSTERVEZÉS (PLANNING)

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)

Page 14: CSELEKVÉSTERVEZÉS (PLANNING)

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.

Page 15: CSELEKVÉSTERVEZÉS (PLANNING)

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

Page 16: CSELEKVÉSTERVEZÉS (PLANNING)

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

Page 17: CSELEKVÉSTERVEZÉS (PLANNING)

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

Page 18: CSELEKVÉSTERVEZÉS (PLANNING)

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

Page 19: CSELEKVÉSTERVEZÉS (PLANNING)

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

Page 20: CSELEKVÉSTERVEZÉS (PLANNING)

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.

Page 21: CSELEKVÉSTERVEZÉS (PLANNING)

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

Page 22: CSELEKVÉSTERVEZÉS (PLANNING)

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