Part II Methods of AI Chapter 4 Planning






















- Slides: 22
Part II: Methods of AI Chapter 4 - Planning 4. 1 State Space Planning 4. 2 Partial Order Planning 4. 3 Planning in the Real World
Partial Order Planning (POP) See: Russell, Norvig, AI; chapter 11
Partial Plans ► Partial plan: a partially ordered set of operator instances The partial order gives only some constraints on the order in which the operations have to be performed ► Start a dummy operator ► Finish another dummy operator a c a b unstack(? x, a) putdown(? y) pickup(a) b c Start pickup(b) stack(b, c) stack(a, b) Finish
Partial Plans putdown(? y) unstack(? x, a) Start pickup(b) pickup(a) ? x = ? y, ? y = c clear(a) stack(b, c) stack(a, b) Finish ► Partial plans can also contain the following information: ♦ variable binding constraints ? x = ? y, ? y = c ♦ causal links pickup(a) unstack(? x, a) clear(a) often called protected conditions
Transform Partial Order Plan into Total-order Plan: Start Left Sock Right Sock Start Start Right Sock Left Sock Left Sock Right Shoe Left Shoe Right. S hoe Left Sock Right. S hoe Left Shoe Right Shoe Finish Finish Left. Sock. On Right. Sock. On Left Shoe Right Shoe Left. Shoe. On, Right. Shoe. On Finish
- actions - order constraints L – links agenda - set of goals POP(<A, O, L>, agenda) Q - preconds of A 1. Termination: If agenda is empty return <A, O, L> The Poplan Algorithm A O 2. Goal selection: Let <Q, Aneed> be a pair on the agenda 3. Action selection: Let Aadd = choose an action that adds Q if no such action exists, then return failure Let L’= L {Aadd → Aneed}, and let O’ = O {Aadd < Aneed}. If Aadd is newly instantiated, then A’ = A {Aadd} and O’ = O {A 0 < Aadd < A } (otherwise, A’ = A) 4. Updating of goal set: Let agenda’ = agenda -{<Q, Aneed>}. If Aadd is newly instantiated, then for each conjunction, Qi, of its precondition, add <Qi, Aneed> to agenda’ 5. Causal link protection: For every action At that might threaten a causal link Ap → Ac, add a consistent ordering constraint, either (a) Demotion: Add At < Ap to O’ (b) Promotion: Add Ac < At to O’ (c) Inequality constraints If neither constraint is consistent, then return failure 6. Recursive invocation: POP((<A’, O’, L’>, agenda’, )
THREATS DEFINITION: Let s t be a causal link with condition c in a partial plan P. Suppose P also contains a step r with an effect q such that Ø consistent. P (s r ) and consistent. P ( r t ) i. e. , P’s ordering constraints allow putting r between s and t Ø Suppose q is unifiable with ~c, and P ’s variable-binding constraints do not prevent us from unifying it either Then r is a threat to the causal link s t
Threats: Example r = stack( b, ? z) below is a threat to the causal link clear (a) ? x = ? y = c unstack(? x, a) Start putdown(? y) pickup(a) clear(a) Finish stack(b, ? z) Ø Threats “threaten” correctness!
Threat Detection and Removal (1) • Detection: for each causal link s positive and negative threats t and for each step r, check • Threat removal: • (i) demotion, (ii) promotion and (iii) separation (i) Demotion: order r before s ? x=? y, ? y=c stack(b, ? z) putdown(? y) Start Finish unstack(? x, a) pickup(a) clear(a)
Threat Detection and Removal Ø (ii) Promotion: order r after t ? x=? y, ? y=c stack(b, ? z) putdown(? y) Start unstack(? x, a) pickup(a) Finish clear(a) Ø (iii) Separation: introduce a variable-binding constraint unstack(? x, a) Start putdown(? y) pickup(a) ? x = ? y = c ? z a clear(a) Finish stack(b, ? z)
POPLAN Search Space (1) Start on(c, a) ontable(a) clear(c) ontable(b) clear(b) handempty Finish A C B A B C on(b, c) on(a, b) clear(a)
Poplan Search Space (2) Start Finish Start unstack(c, a) Finish putdown(c) Finish . . . putdown(c) Start stack(b, c) pickup(b) unstack(c, a) Finish . . . Start . . . putdown(c) unstack(c, a) stack(b, c) pickup(b) stack(a, b) pickup(a) Finish
Plan Space Search Move A to B Move B to C Move A to B Move A to Table, Move A to B Move C to Table, Move B to C Move A to B
State-Space Search C B A A C B Initial state C B A B C A B C A B B A C A B B C A B C Goal B A C
Another Example • • • At(Home) Sells(SM, Banana) Sells(HS, Drill) Have(Milk) Have(Banana) SM: Super Market HS: Hardware Store
Partial Order Planning At(Home) Start Buy(Banana) Buy(Milk) Buy(Drill) Causal links At(Home) Have(Banana) End Have(Milk) Have(Drill)
Refining the Plan (1) At(Home) Start NB: all causal links are also ordering links Ordering links At(s) Sells(s, Banana) Buy(Banana) At(s) Sells(s, Milk) Buy(Milk) At(s) Sells(s, Drill) Buy(Drill) Causal links At(Home) Have(Banana) End Have(Milk) Have(Drill)
Refining the Plan (2) At(Home) Start At(SM) Sells(SM, Banana) At(SM) Sells(SM, Milk) Buy(Banana) Buy(Milk) NB: all causal links are also ordering links At(HWS) Sells(HWS, Drill) Buy(Drill) Causal links At(Home) Have(Banana) End Have(Milk) Have(Drill)
Refining the Plan (3) At(Home) Start At(s) Go(SM) Go(HWS) At(SM) Sells(SM, Banana) At(SM) Sells(SM, Milk) Buy(Banana) Buy(Milk) At(Home) Have(Banana) End Have(Milk) At(HWS) Sells(HWS, Drill) Buy(Drill) Have(Drill)
Refining the Plan (4) At(Home) Start At(Home) Go(SM) Go(HWS) At(SM) Sells(SM, Banana) At(SM) Sells(SM, Milk) Buy(Banana) Buy(Milk) At(Home) Have(Banana) End Have(Milk) At(HWS) Sells(HWS, Drill) Buy(Drill) Have(Drill)
Threats to Causal Links At(Home) Start At(Home) Go(SM) Go(HWS) At(SM) Sells(SM, Banana) At(SM) Sells(SM, Milk) Buy(Banana) Buy(Milk) At(Home) Have(Banana) End Have(Milk) At(HWS) Sells(HWS, Drill) Buy(Drill) Have(Drill)
Threats to Causal Links: Demotion Start At(Home) At(HWS) At(Home) Go(SM) Go(HWS) At(SM) Sells(SM, Banana) At(SM) Sells(SM, Milk) At(HWS) Sells(HWS, Drill) Buy(Banana) At(SM) Go(Home) At(Home) Buy(Milk) Have(Banana) End Have(Milk) Buy(Drill) Have(Drill)