Download presentation
Presentation is loading. Please wait.
Published byClaud Carr Modified over 9 years ago
1
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 1 Chapter 4 State-Space Planning Dana S. Nau CMSC 722, AI Planning University of Maryland, Fall 2004 Lecture slides for Automated Planning: Theory and Practice
2
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 2 Motivation l Nearly all planning procedures are search procedures l Different planning procedures have different search spaces u Two examples: l State-space planning u Each node represents a state of the world »A plan is a path through the space l Plan-space planning u Each node is a set of partially-instantiated operators, plus some constraints »Impose more and more constraints, until we get a plan
3
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 3 Outline l State-space planning u Forward search u Backward search u Lifting u STRIPS u Block-stacking
4
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 4 Forward Search take c3 move r1 take c2 … …
5
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 5 Properties Forward-search is sound u for any plan returned by any of its nondeterministic traces, this plan is guaranteed to be a solution Forward-search also is complete if a solution exists then at least one of Forward-search ’s nondeterministic traces will return a solution.
6
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 6 Deterministic Implementations l Some deterministic implementations of forward search: u breadth-first search u best-first search u depth-first search u greedy search l Breadth-first and best-first search are sound and complete u But they usually aren’t practical because they require too much memory u Memory requirement is exponential in the length of the solution l In practice, more likely to use a depth-first search or greedy search u Worst-case memory requirement is linear in the length of the solution u Sound but not complete »But classical planning has only finitely many states »Thus, can make depth-first search complete by doing loop-checking s0s0 s1s1 s2s2 s3s3 a1a1 a2a2 a3a3 s4s4 s5s5 sgsg a4a4 a5a5 …
7
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 7 Branching Factor of Forward Search l Forward search can have a very large branching factor (see example) l Why this is bad: u Deterministic implementations can waste time trying lots of irrelevant actions l Need a good heuristic function and/or pruning procedure u See Section 4.5 (Domain-Specific State-Space Planning) and Part III (Heuristics and Control Strategies) a3a3 a1a1 a2a2 … a1a1 a2a2 a 50 a3a3 initial state goal
8
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 8 Backward Search l For forward search, we started at the initial state and computed state transitions u new state = (s,a) l For backward search, we start at the goal and compute inverse state transitions u new set of subgoals = -1 (g,a)
9
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 9 Inverse State Transitions l What do we mean by -1 (g,a)? l First need to define relevance: u An action a is relevant for a goal g if »a makes at least one of g’s literals true g effects(a) ≠ »a does not make any of g’s literals false g + effects – (a) = g – effects + (a) = l If a is relevant for g, then u -1 (g,a) = (g – effects(a)) precond(a)
10
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 10 g0g0 g1g1 g2g2 g3g3 a1a1 a2a2 a3a3 g4g4 g5g5 s0s0 a4a4 a5a5
11
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 11 Efficiency of Backward Search l Backward search’s branching factor is small in our example l There are cases where it can still be very large u Many more operator instances than needed a3a3 a1a1 a2a2 … a1a1 a2a2 a 50 a3a3 initial state goal q(a) foo(x,y) precond: p(x,y) effects: q(x) foo(a,a) foo(a,b) foo(a,c) … p(a,a) p(a,b) p(a,c)
12
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 12 Lifting l Can reduce the branching factor if we partially instantiate the operators u this is called lifting q(a) foo(a,y) p(a,y) q(a) foo(x,y) precond: p(x,y) effects: q(x) foo(a,a) foo(a,b) foo(a,c) … p(a,a) p(a,b) p(a,c)
13
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 13 Lifted Backward Search More complicated than Backward-search u Have to keep track of what substitutions were performed l But it has a much smaller branching factor
14
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 14 The Search Space is Still Too Large Lifted-backward-search generates a smaller search space than Backward-search, but it still can be quite large u If some subproblems are independent and something else causes problems elsewhere, we’ll try all possible orderings before realizing there is no solution u More about this in Chapter 5 (Plan-Space Planning) a b c b a b a b a c b c a c b goal
15
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 15 Other Ways to Reduce the Search l Search-control strategies u I’ll say a lot about this later »Part III of the book u For now, just two examples »STRIPS »Block stacking
16
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 16 STRIPS l π the empty plan l do a modified backward search from g u instead of -1 (s,a), each new set of subgoals is just precond(a) u whenever you find an action that’s executable in the current state, then go forward on the current search path as far as possible, executing actions and appending them to π u repeat until all goals are satisfied g g1g1 g2g2 g3g3 a1a1 a2a2 a3a3 g4g4 g5g5 g3g3 a4a4 a5a5 current search path a6a6 π = a 6, a 4 s = ( (s 0,a 6 ),a 4 ) g6g6 a3a3 satisfied in s 0
17
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 17 unstack(x,y) Pre: on(x,y), clear(x), handempty Eff: ~on(x,y), ~clear(x), ~handempty, holding(x), clear(y) stack(x,y) Pre: holding(x), clear(y) Eff: ~holding(x), ~clear(y), on(x,y), clear(x), handempty pickup(x) Pre: ontable(x), clear(x), handempty Eff: ~ontable(x), ~clear(x), ~handempty, holding(x) putdown(x) Pre: holding(x) Eff: ~holding(x), ontable(x), clear(?x), handempty Quick Review of Blocks World c ab c ab c ab c a b c ab
18
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 18 The Sussman Anomaly Initial stategoal l On this problem, STRIPS can’t produce an irredundant solution u Try it and see c ab c a b
19
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 19 The Register Assignment Problem l State-variable formulation: Initial state:{value(r1)=3, value(r2)=5, value(r3)=0} Goal:{value(r1)=5, value(r2)=3} Operator:assign(r,v,r’,v’) precond: value(r)=v, value(r’)=v’ effects: value(r)=v’ l STRIPS cannot solve this problem at all
20
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 20 How to Fix? l Several ways: u Do something other than state-space search »e.g., Chapters 5–8 u Use forward or backward state-space search, with domain- specific knowledge to prune the search space »Can solve both problems quite easily this way »Example: block stacking using forward search
21
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 21 Domain-Specific Knowledge l A blocks-world planning problem P = (O,s 0,g) is solvable if s 0 and g satisfy some simple consistency conditions »g should not mention any blocks not mentioned in s 0 »a block cannot be on two other blocks at once »etc. Can check these in time O(n log n) l If P is solvable, can easily construct a solution of length O(2m), where m is the number of blocks u Move all blocks to the table, then build up stacks from the bottom »Can do this in time O(n) l With additional domain-specific knowledge can do even better …
22
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 22 Additional Domain-Specific Knowledge l A block x needs to be moved if any of the following is true: s contains ontable (x) and g contains on (x,y) s contains on (x,y) and g contains ontable (x) s contains on (x,y) and g contains on (x,z) for some y≠z s contains on (x,y) and y needs to be moved initial state goal e d d ba c c a b
23
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 23 Domain-Specific Algorithm loop if there is a clear block x such that x needs to be moved and x can be moved to a place where it won’t need to be moved then move x to that place else if there is a clear block x such that x needs to be moved then move x to the table else if the goal is satisfied then return the plan else return failure repeat initial state goal e d d ba c c a b
24
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 24 Easily Solves the Sussman Anomaly loop if there is a clear block x such that x needs to be moved and x can be moved to a place where it won’t need to be moved then move x to that place else if there is a clear block x such that x needs to be moved then move x to the table else if the goal is satisfied then return the plan else return failure repeat initial state goal ba c c a b
25
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 25 Properties l The block-stacking algorithm: u Sound, complete, guaranteed to terminate u Runs in time O(n 3 ) »Can be modified to run in time O(n) u Often finds optimal (shortest) solutions u But sometimes only near-optimal (Exercise 4.22 in the book) »Recall that PLAN LENGTH is NP-complete
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.