plan space search
play

Plan-Space Search Searching for a Solution Plan in a Graph of - PDF document

Plan-Space Search Searching for a Solution Plan in a Graph of Partial Plans Literature Malik Ghallab, Dana Nau, and Paolo Traverso. Automated Planning Theory and Practice , chapter 2 and 5. Elsevier/Morgan Kaufmann, 2004. J.


  1. Plan-Space Search Searching for a Solution Plan in a Graph of Partial Plans Literature � Malik Ghallab, Dana Nau, and Paolo Traverso. Automated Planning – Theory and Practice , chapter 2 and 5. Elsevier/Morgan Kaufmann, 2004. � J. Penberthy and D. S. Weld. UCPOP: A sound, complete, partial-order for ADL. In Proceeding s of the International Conference on Knowledge Representation and Reasoning , pages 103-114, 1992. Plan-Space Search 2 1

  2. State-Space vs. Plan-Space Search � state-space search: search through graph of nodes representing world states � plan-space search: search through graph of partial plans • nodes: partially specified plans • arcs: plan refinement operations • solutions: partial-order plans Plan-Space Search 3 Overview The Search Space of Partial Plans � Plan-Space Search Algorithms � Extensions of the STRIPS Representation Plan-Space Search 4 2

  3. Partial Plans � plan: set of actions organized into some structure � partial plan: • subset of the actions • subset of the organizational structure • temporal ordering of actions • rationale: what the action achieves in the plan • subset of variable bindings Plan-Space Search 5 Adding Actions � partial plan contains actions • initial state • goal conditions • set of operators with different variables � reason for adding new actions • to achieve unsatisfied preconditions • to achieve unsatisfied goal conditions Plan-Space Search 6 3

  4. Adding Actions: Example 1:move( r 1 , l 1 , m 1 ) initial state preconditions effects at( r 1 , l 1 ) at( r 1 , m 1 ) attached(pile,loc) ¬occupied( m 1 ) occupied( m 1 ) in(cont,pile) ¬ occupied( l 1 ) adjacent( l 1 , m 1 ) top(cont,pile) ¬ at( r 1 , l 1 ) on(cont,pallet) goal belong(crane,loc1) at(robot,loc2) empty(crane) ¬ unloaded(robot) 2:load( k 2 , l 2 , c 2 , r 2 ) adjacent(loc1,loc2) preconditions effects adjacent(loc2,loc1) belong( k 2 , l 2 ) empty( k 2 ) at(robot,loc2) holding( k 2 , c 2 ) loaded( r 2 , c 2 ) occupied(loc2) ¬ holding( k 2 , c 2 ) at( r 2 , l 2 ) unloaded(robot) ¬ unloaded( r 2 ) unloaded( r 2 ) Plan-Space Search 7 Adding Causal Links � partial plan contains causal links • links from the provider • an effect of an action or • an atom that holds in the initial state • to the consumer • a precondition of an action or • a goal condition � reasons for adding causal links • prevent interference with other actions Plan-Space Search 8 4

  5. Adding Causal Links: Example 1:move( r 1 , l 1 , m 1 ) initial state preconditions effects at( r 1 , l 1 ) at( r 1 , m 1 ) attached(pile,loc) ¬occupied( m 1 ) occupied( m 1 ) in(cont,pile) ¬ occupied( l 1 ) adjacent( l 1 , m 1 ) adjacent( l 1 , m 1 ) top(cont,pile) ¬ at( r 1 , l 1 ) on(cont,pallet) goal belong(crane,loc1) at(robot,loc2) at(robot,loc2) empty(crane) ¬ unloaded(robot) ¬ unloaded(robot) 2:load( k 2 , l 2 , c 2 , r 2 ) adjacent(loc1,loc2) preconditions effects adjacent(loc2,loc1) belong( k 2 , l 2 ) empty( k 2 ) at(robot,loc2) holding( k 2 , c 2 ) loaded( r 2 , c 2 ) occupied(loc2) ¬ holding( k 2 , c 2 ) at( r 2 , l 2 ) unloaded(robot) causal link: ¬ unloaded( r 2 ) unloaded( r 2 ) Plan-Space Search 9 Adding Variable Bindings � partial plan contains variable bindings • new operators introduce new (copies of) variables into the plan • solution plan must contain actions • variable binding constraints keep track of possible values for variables and co-designation � reasons for adding variable bindings • to turn operators into actions • to unify and effect with the precondition it supports Plan-Space Search 10 5

  6. Adding Variable Bindings: Example 1:move( r 1 , l 1 , m 1 ) 1:move( r 1 , l 1 , m 1 ) initial state preconditions preconditions effects effects goal at( r 1 , l 1 ) at( r 1 , l 1 ) at( r 1 , m 1 ) at( r 1 , m 1 ) attached(pile,loc) ¬occupied( m 1 ) ¬occupied( m 1 ) occupied( m 1 ) occupied( m 1 ) at(robot,loc2) in(cont,pile) ¬ occupied( l 1 ) ¬ occupied( l 1 ) ¬ unloaded(robot) adjacent( l 1 , m 1 ) adjacent( l 1 , m 1 ) adjacent( l 1 , m 1 ) top(cont,pile) ¬ at( r 1 , l 1 ) ¬ at( r 1 , l 1 ) on(cont,pallet) belong(crane,loc1) empty(crane) variable bindings: adjacent(loc1,loc2) adjacent(loc2,loc1) variable = ≠ at(robot,loc2) r 1 robot occupied(loc2) l 1 loc1 loc2 unloaded(robot) m 1 loc2 Plan-Space Search 11 Adding Ordering Constraints � partial plan contains ordering constraints • binary relation specifying the temporal order between actions in the plan � reasons for adding ordering constraints • all actions after initial state • all actions before goal • causal link implies ordering constraint • to avoid possible interference Plan-Space Search 12 6

  7. Adding Ordering Constraints: Example 1:move( r 1 , l 1 , m 1 ) initial state preconditions effects at( r 1 , l 1 ) at( r 1 , m 1 ) attached(pile,loc) ¬occupied( m 1 ) occupied( m 1 ) in(cont,pile) ¬ occupied( l 1 ) adjacent( l 1 , m 1 ) adjacent( l 1 , m 1 ) top(cont,pile) ¬ at( r 1 , l 1 ) on(cont,pallet) goal belong(crane,loc1) at(robot,loc2) at(robot,loc2) empty(crane) ¬ unloaded(robot) ¬ unloaded(robot) 2:load( k 2 , l 2 , c 2 , r 2 ) adjacent(loc1,loc2) preconditions effects adjacent(loc2,loc1) belong( k 2 , l 2 ) empty( k 2 ) at(robot,loc2) holding( k 2 , c 2 ) loaded( r 2 , c 2 ) occupied(loc2) ¬ holding( k 2 , c 2 ) at( r 2 , l 2 ) unloaded(robot) ordering constraint: ¬ unloaded( r 2 ) unloaded( r 2 ) Plan-Space Search 13 Definition of Partial Plans � A partial plan is a tuple π = ( A , ≺ , B , L ), where: • A = { a 1 ,…, a k } is a set of partially instantiated planning operators; • ≺ is a set of ordering constraints on A of the form ( a i ≺ a j ); • B is a set of binding constraints on the variables of actions in A of the form x = y , x ≠ y , or x ∈ D x ; • L is a set of causal links of the form 〈 a i − [ p ] � a j 〉 such that: • a i and a j are actions in A ; • the constraint ( a i ≺ a j ) is in ≺ ; • proposition p is an effect of a i and a precondition of a j ; and • the binding constraints for variables in a i and a j appearing in p are in B . Plan-Space Search 14 7

  8. Plan-Space Search: Initial Search State � represent initial state and goal as dummy actions • init: no preconditions, initial state as effects • goal: goal conditions as preconditions, no effects � empty plan π 0 = ({init, goal},{(init ≺ goal)},{},{}): • two dummy actions init and goal; • one ordering constraint: init before goal; • no variable bindings; and • no causal links. Plan-Space Search 15 Plan-Space Search: Initial Search State Example init attached(pile,loc) in(cont,pile) top(cont,pile) on(cont,pallet) goal belong(crane,loc1) at(robot,loc2) empty(crane) ¬ unloaded(robot) adjacent(loc1,loc2) adjacent(loc2,loc1) at(robot,loc2) occupied(loc2) unloaded(robot) Plan-Space Search 16 8

  9. Plan-Space Search: Successor Function � states are partial plans � generate successor through plan refinement operators (one or more): • adding an action to A • adding an ordering constraint to ≺ • adding a binding constraint to B • adding a causal link to L Plan-Space Search 17 Total vs. Partial Order � Let P =( Σ , s i , g ) be a planning problem. A plan π is a solution for P if γ ( s i , π ) satisfies g . � problem: γ ( s i , π ) only defined for sequence of ground actions • partial order corresponds to total order in which all partial order constraints are respected • partial instantiation corresponds to grounding in which variables are assigned values consistent with binding constraints Plan-Space Search 18 9

  10. Partial Order Solutions � Let P =( Σ , s i , g ) be a planning problem. A plan π = ( A , ≺ , B , L ) is a (partial order) solution for P if: • its ordering constraints ≺ and binding constraints B are consistent; and • for every sequence 〈 a 1 ,…, a k 〉 of all the actions in A -{init, goal} that is • totally ordered and grounded and respects ≺ and B • γ ( s i , 〈 a 1 ,…, a k 〉 ) must satisfy g . Plan-Space Search 19 Threat: Example 1:move(robot,loc1,loc2) preconditions effects at(robot,loc1) at(robot,loc2) at(robot,loc2) 0:goal ¬occupied(loc2) occupied(loc2) at(robot,loc2) ¬ occupied(loc1) adjacent(loc1,loc2) ¬ unloaded(robot) ¬ at(robot,loc1) ¬unloaded(robot) 3:move(robot,loc2,loc1) 2:load(crane,loc1,cont,robot) preconditions effects preconditions effects at(robot,loc2) at(robot,loc1) belong(crane,loc1) empty(crane) ¬occupied(loc1) occupied(loc1) holding(crane,cont) loaded(robot,cont) at(robot,loc1) ¬ occupied(loc2) ¬ holding(crane,cont) adjacent(loc2,loc1) at(robot,loc1) at(robot,loc1) ¬ at(robot,loc2) ¬ unloaded(robot) unloaded(robot) Plan-Space Search 20 10

  11. Threats � An action a k in a partial plan π = ( A , ≺ , B , L ) is a threat to a causal link 〈 a i − [ p ] � a j 〉 iff: • a k has an effect ¬ q that is possibly inconsistent with p , i.e. q and p are unifiable; • the ordering constraints ( a i ≺ a k ) and ( a k ≺ a j ) are consistent with ≺ ; and • the binding constraints for the unification of q and p are consistent with B . Plan-Space Search 21 Flaw s � A flaw in a plan π = ( A , ≺ , B , L ) is either: • an unsatisfied sub-goal, i.e. a precondition of an action in A without a causal link that supports it; or • a threat, i.e. an action that may interfere with a causal link. Plan-Space Search 22 11

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend