The Graphplan Planner Searching the Planning Graph Literature � Malik Ghallab, Dana Nau, and Paolo Traverso. Automated Planning – Theory and Practice , chapter 6. Elsevier/Morgan Kaufmann, 2004. The Graphplan Planner 2 1
Neoclassical Planning � concerned with restricted state-transition systems � representation is usually restricted to propositional STRIPS � neoclassical vs. classical planning • classical planning: search space consists of nodes containing partial plans • neoclassical planning: nodes can be seen as sets of partial plans � resulted in significant speed-up and revival of planning research The Graphplan Planner 3 Overview The Propositional Representation � The Planning-Graph Structure � The Graphplan Algorithm The Graphplan Planner 4 2
Classical Representations � propositional representation • world state is set of propositions • action consists of precondition propositions, propositions to be added and removed � STRIPS representation • like propositional representation, but first-order literals instead of propositions � state-variable representation • state is tuple of state variables { x 1 ,…, x n } • action is partial function over states The Graphplan Planner 5 Propositional Planning Domains � Let L ={ p 1 ,…, p n } be a finite set of proposition symbols. A propositional planning domain on L is a restricted state-transition system Σ =( S , A , γ ) such that: • S ⊆ 2 L , i.e. each state s is a subset of L • A ⊆ 2 L × 2 L × 2 L , i.e. each action a is a triple (precond( a ), effects - ( a ), effects + ( a )) where effects - ( a ) and effects + ( a ) must be disjoint • γ : S × A → 2 L where • γ ( s , a )=( s - effects - ( a )) ∪ effects + ( a ) if precond( a ) ⊆ s • γ ( s , a )=undefined otherwise • S is closed under γ The Graphplan Planner 6 3
DWR Example: State Space s 0 s 2 s 5 crane crane crane move1 cont. cont. cont. pallet pallet pallet robot robot robot move2 location1 location2 location1 location2 location1 location2 take put take put move1 move2 s 1 s 3 s 4 crane crane crane move1 load cont. cont. cont. pallet pallet pallet robot robot robot move2 unload location1 location2 location1 location2 location1 location2 The Graphplan Planner 7 DWR Example: Propositional States � L ={onpallet,onrobot,holding,at1,at2} � S ={ s 0 ,…, s 5 } • s 0 ={onpallet,at2} • s 1 ={holding,at2} crane s 0 • s 2 ={onpallet,at1} cont. pallet • s 3 ={holding,at1} robot location1 location2 • s 4 ={onrobot,at1} • s 5 ={onrobot,at2} The Graphplan Planner 8 4
DWR Example: Propositional Actions precond( a ) effects - ( a ) effects + ( a ) a take {onpallet} {onpallet} {holding} put {holding} {holding} {onpallet} load {holding,at1} {holding} {onrobot} unload {onrobot,at1} {onrobot} {holding} move1 {at2} {at2} {at1} move2 {at1} {at1} {at2} The Graphplan Planner 9 DWR Example: Propositional State Transitions s 0 s 1 s 2 s 3 s 4 s 5 s 1 s 3 take s 0 s 2 put s 4 load s 3 unload s 0 s 1 s 4 move1 s 2 s 3 s 5 move2 The Graphplan Planner 10 5
Propositional Planning Problems � A propositional planning problem is a triple P =( Σ , s i , g ) where: • Σ =( S , A , γ ) is a propositional planning domain on L ={ p 1 ,…, p n } • s i ∈ S is the initial state • g ⊆ L is a set of goal propositions that define the set of goal states S g ={ s ∈ S | g ⊆ s } The Graphplan Planner 11 DWR Example: Propositional Planning Problem � Σ : propositional planning domain for DWR domain � s i : any state • example: initial state = s 0 ∈ S � g : any subset of L • example: g ={onrobot,at2}, i.e. S g ={ s 5 } The Graphplan Planner 12 6
Classical Plans � A plan is any sequence of actions π = 〈 a 1 ,…, a k 〉, where k ≥0. • The length of plan π is | π |= k , the number of actions. • If π 1 = 〈 a 1 ,…, a k 〉 and π 2 = 〈 a’ 1 ,…, a’ j 〉 are plans, then their concatenation is the plan π 1 ∙ π 2 = 〈 a 1 ,…, a k , a’ 1 ,…, a’ j 〉. • The extended state transition function for plans is defined as follows: • γ ( s , π )= s if k =0 ( π is empty) • γ ( s , π )= γ ( γ ( s , a 1 ), 〈 a 2 ,…, a k 〉) if k >0 and a 1 applicable in s • γ ( s , π )=undefined otherwise The Graphplan Planner 13 Classical Solutions � Let P =( Σ , s i , g ) be a propositional planning problem. A plan π is a solution for P if g ⊆ γ ( s i , π ). • A solution π is redundant if there is a proper subsequence of π is also a solution for P . • π is minimal if no other solution for P contains fewer actions than π . The Graphplan Planner 14 7
DWR Example: Plans and Solutions plan π | π | γ ( s i , π ) sol. red. min. 〈〉 0 s 0 no - - 〈move2,move2〉 2 undef. no - - 〈take,move1〉 2 s 3 no - - 〈take,move1,put,move2, 8 s 5 yes yes no take,move1,load,move2〉 〈take,move1,load,move2〉 4 s 5 yes no yes 〈move1,take,load,move2〉 4 s 5 yes no yes The Graphplan Planner 15 Reachable Successor States � The successor function Γ m :2 S → 2 S for a propositional domain Σ =( S , A , γ ) is defined as: • Γ( s )={ γ ( s , a ) | a ∈ A and a applicable in s } for s ∈ S • Γ({ s 1 ,…, s n })= ∪ ( k ∈[1, n ]) Γ( s k ) • Γ 0 ({ s 1 ,…, s n })= { s 1 ,…, s n } s 1 ,…, s n ∈ S • Γ m ({ s 1 ,…, s n })= Γ(Γ m -1 ({ s 1 ,…, s n })) � The transitive closure of Γ defines the set of all reachable states: • Γ > ( s )= ∪ ( k ∈[0,∞]) Γ k ({ s }) for s ∈ S The Graphplan Planner 16 8
Relevant Actions and Regression Sets � Let P =( Σ , s i , g ) be a propositional planning problem. An action a ∈ A is relevant for g if • g ⋂ effects + ( a ) ≠ {} and • g ⋂ effects - ( a ) = {}. � The regression set of g for a relevant action a ∈ A is: • γ -1 ( g , a )=( g - effects + ( a )) ∪ precond( a ) • note: γ ( s , a )∈ S g iff γ -1 ( g , a )⊆ s The Graphplan Planner 17 Regression Function � The regression function Γ - m for a propositional domain Σ =( S , A , γ ) on L is defined as: • Γ -1 ( g )={ γ -1 ( g , a ) | a ∈ A is relevant for g } for g ∈2 L • Γ 0 ({ g 1 ,…, g n })= { g 1 ,…, g n } • Γ -1 ({ g 1 ,…, g n })= ∪ ( k ∈[1, n ]) Γ -1 ( g k ) g 1 ,…, g n ∈2 L • Γ - m ({ g 1 ,…, g n })= Γ -1 (Γ -( m -1) ({ g 1 ,…, g n })) � The transitive closure of Γ -1 defines the set of all regression sets: • Γ < ( g )= ∪ ( k ∈[0,∞]) Γ - k ({ g }) for g ∈2 L The Graphplan Planner 18 9
Statement of a Propositional Planning Problem � A statement of a propositional planning problem is a triple P =( A , s i , g ) where: • A is a set of actions in an appropriate propositional planning domain Σ=( S , A , γ ) on L • s i is the initial state in an appropriate propositional planning problem P =( Σ , s i , g ) • g is a set of goal propositions in the same propositional planning problem P The Graphplan Planner 19 Example: Ambiguity in Statement of a Planning Problem � statement: P =({ a 1 }, s i , g ) where a 1 =({p 1 },{p 1 },{p 2 }), s i ={p 1 }, and g ={p 2 } � P 1 =( Σ 1 , s i , g ) where � P 2 =( Σ 2 , s i , g ) where � Σ 1 =( � Σ 2 =( • { {p 1 },{p 2 } }, • { {p 1 },{p 2 },{p 1 ,p 3 },{p 2 ,p 3 } }, • { a 1 }, • { a 1 }, • {({ p 1 }, a 1 ) → {p 2 } }) on • {({ p 1 }, a 1 ) → {p 2 }, ({ p 1 ,p 3 }, a 1 ) → {p 2 ,p 3 } }) on � L 1 ={ p 1 , p 2 } � L 2 ={ p 1 , p 2 ,p 3 } The Graphplan Planner 20 10
Statement Ambiguity � Proposition : Let P 1 and P 2 be two propositional planning problems that have the same statement. Then both, P 1 and P 2 , have • the same set of reachable states Γ > ({ s i }) and • the same set of solutions. The Graphplan Planner 21 Properties of the Propositional Representation � Expressiveness : For every propositional planning domain there is a corresponding state-transition system, but what about vice versa? � Conciseness : propositional action representation is concise because it does not mention what does not change � Consistency : not every assignment of truth values to propositions must correspond to a state in the underlying state-transition system The Graphplan Planner 22 11
Grounding a STRIPS Planning Problem � Let P =( O , s i , g ) be the statement of a STRIPS planning problem and C the set of all the constant symbols that are mentioned in s i . Let ground( O ) be the set of all possible instantiations of operators in O with constant symbols from C consistently replacing variables in preconditions and effects. � Then P ’=(ground( O ), s i , g ) is a statement of a STRIPS planning problem and P ’ has the same solutions as P . The Graphplan Planner 23 Translation: Propositional Representation to Ground STRIPS � Let P =( A , s i , g ) be a statement of a propositional planning problem. In the actions A : • replace every action (precond( a ), effects - ( a ), effects + ( a )) with an operator o with • some unique name( o ), • precond( o ) = precond( a ), and • effects( o ) = effects + ( a ) ∪ {¬ p | p ∈ effects - ( a )}. The Graphplan Planner 24 12
Recommend
More recommend