cmsc 671 fall 2005
DESCRIPTION
CMSC 671 Fall 2005. Class #17 – Thursday, October 27. Graphplan/ SATPlan. Chapter 11.4-11.7. Some material adapted from slides by Jean-Claude Latombe / Lise Getoor. GraphPlan. GraphPlan: Basic idea. Construct a graph that encodes constraints on possible plans - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: CMSC 671 Fall 2005](https://reader035.vdocuments.site/reader035/viewer/2022062323/56815acf550346895dc8a213/html5/thumbnails/1.jpg)
CMSC 671CMSC 671Fall 2005Fall 2005Class #17 – Thursday, October 27
![Page 2: CMSC 671 Fall 2005](https://reader035.vdocuments.site/reader035/viewer/2022062323/56815acf550346895dc8a213/html5/thumbnails/2.jpg)
Graphplan/Graphplan/SATPlanSATPlan
Chapter 11.4-11.7
Some material adapted from slides by Jean-Claude Latombe / Lise Getoor
![Page 3: CMSC 671 Fall 2005](https://reader035.vdocuments.site/reader035/viewer/2022062323/56815acf550346895dc8a213/html5/thumbnails/3.jpg)
GraphPlan
![Page 4: CMSC 671 Fall 2005](https://reader035.vdocuments.site/reader035/viewer/2022062323/56815acf550346895dc8a213/html5/thumbnails/4.jpg)
GraphPlan: Basic idea
• Construct a graph that encodes constraints on possible plans
• Use this “planning graph” to constrain search for a valid plan
• Planning graph can be built for each problem in a relatively short time
![Page 5: CMSC 671 Fall 2005](https://reader035.vdocuments.site/reader035/viewer/2022062323/56815acf550346895dc8a213/html5/thumbnails/5.jpg)
Planning graph
• Directed, leveled graph with alternating layers of nodes
• Odd layers (“state levels”) represent candidate propositions that could possibly hold at step i
• Even layers (“action levels”) represent candidate actions that could possibly be executed at step i, including maintenance actions [do nothing]
• Arcs represent preconditions, adds and deletes• We can only execute one real action at any step,
but the data structure keeps track of all actions and states that are possible
![Page 6: CMSC 671 Fall 2005](https://reader035.vdocuments.site/reader035/viewer/2022062323/56815acf550346895dc8a213/html5/thumbnails/6.jpg)
GraphPlan properties• STRIPS operators: conjunctive preconditions, no
conditional or universal effects, no negations– Planning problem must be convertible to propositional
representation
– NO continuous variables, temporal constraints, …
– Problem size grows exponentially
• Finds “shortest” plans (by some definition)
• Sound, complete, and will terminate with failure if there is no plan
![Page 7: CMSC 671 Fall 2005](https://reader035.vdocuments.site/reader035/viewer/2022062323/56815acf550346895dc8a213/html5/thumbnails/7.jpg)
What actions and what literals?
• Add an action in level Ai if all of its preconditions are present in level Si
• Add a literal in level Si if it is the effect of some action in level Ai-1 (including no-ops)
• Level S0 has all of the literals from the initial state
![Page 8: CMSC 671 Fall 2005](https://reader035.vdocuments.site/reader035/viewer/2022062323/56815acf550346895dc8a213/html5/thumbnails/8.jpg)
Simple domain
• Literals:– at X Y X is at location Y– fuel R rocket R has fuel– in X R X is in rocket R
• Actions:– load X L load X (onto R) at location L
(X and R must be at L)– unload X L unload X (from R) at location L
(R must be at L)– move X Y move rocket R from X to Y
(R must be at L and have fuel)• Graph representation:
– Solid black lines: preconditions/effects– Dotted red lines: negated preconditions/effects
![Page 9: CMSC 671 Fall 2005](https://reader035.vdocuments.site/reader035/viewer/2022062323/56815acf550346895dc8a213/html5/thumbnails/9.jpg)
Example planning graph
StatesS0
ActionsA0
StatesS1
ActionsA1
StatesS2
ActionsA2
StatesS3
(Goals!)
at A L
at B L
at R L
fuel R
load A L
load B L
move L P
in A R
in B R
fuel R
at A L
at B L
at R L
at R P
load A L
load B L
move L P
move P L
at A L
at B L
at R L
fuel R
in A R
in B R
at R P
unload A P
unload B P
at A P
at B P
![Page 10: CMSC 671 Fall 2005](https://reader035.vdocuments.site/reader035/viewer/2022062323/56815acf550346895dc8a213/html5/thumbnails/10.jpg)
Valid plans
• A valid plan is a planning graph where:
– Actions at the same level don’t interfere (delete each other’s preconditions or add effects)
– Each action’s preconditions are true at that point in the plan
– Goals are satisfied at the end of the plan
![Page 11: CMSC 671 Fall 2005](https://reader035.vdocuments.site/reader035/viewer/2022062323/56815acf550346895dc8a213/html5/thumbnails/11.jpg)
Exclusion relations (mutexes)
• Two actions (or literals) are mutually exclusive (“mutex”) at step i if no valid plan could contain both.
• Can quickly find and mark some mutexes:– Interference: Two actions that interfere (the effect of
one negates the precondition of another) are mutex– Competing needs: Two actions are mutex if any of
their preconditions are mutex with each other– Inconsistent support: Two literals are mutex if all
ways of creating them both are mutex
![Page 12: CMSC 671 Fall 2005](https://reader035.vdocuments.site/reader035/viewer/2022062323/56815acf550346895dc8a213/html5/thumbnails/12.jpg)
move P L
move L P
Example: Mutex constraintsat A L
at B L
at R L
fuel R
load A L
load B L
move L P
in A R
in B R
fuel R
at A L
at B L
at R L
at R P
load A L
load B L
at A L
at B L
at R L
fuel R
in A R
in B R
at R P
unload A P
unload B P
at A P
at B P
nop
nop
nop
nop
nopnop
nop
nop
nop
nop
nop
Inconsistent effects
StatesS0
ActionsA0
StatesS1
ActionsA1
StatesS2
ActionsA2
StatesS3
(Goals!)
![Page 13: CMSC 671 Fall 2005](https://reader035.vdocuments.site/reader035/viewer/2022062323/56815acf550346895dc8a213/html5/thumbnails/13.jpg)
move P L
move L P
Example: Mutex constraintsat A L
at B L
at R L
fuel R
load A L
load B L
move L P
in A R
in B R
fuel R
at A L
at B L
at R L
at R P
load A L
load B L
at A L
at B L
at R L
fuel R
in A R
in B R
at R P
unload A P
unload B P
at A P
at B P
nop
nop
nop
nop
nopnop
nop
nop
nop
nop
nop
Inconsistent support
StatesS0
ActionsA0
StatesS1
ActionsA1
StatesS2
ActionsA2
StatesS3
(Goals!)
![Page 14: CMSC 671 Fall 2005](https://reader035.vdocuments.site/reader035/viewer/2022062323/56815acf550346895dc8a213/html5/thumbnails/14.jpg)
move P L
move L P
Example: Mutex constraintsat A L
at B L
at R L
fuel R
load A L
load B L
move L P
in A R
in B R
fuel R
at A L
at B L
at R L
at R P
load A L
load B L
at A L
at B L
at R L
fuel R
in A R
in B R
at R P
unload A P
unload B P
at A P
at B P
nop
nop
nop
nop
nopnop
nop
nop
nop
nop
nop
Interference: Inconsistent preconditions and effects
StatesS0
ActionsA0
StatesS1
ActionsA1
StatesS2
ActionsA2
StatesS3
(Goals!)
![Page 15: CMSC 671 Fall 2005](https://reader035.vdocuments.site/reader035/viewer/2022062323/56815acf550346895dc8a213/html5/thumbnails/15.jpg)
move P L
move L P
Example: Mutex constraintsat A L
at B L
at R L
fuel R
load A L
load B L
move L P
in A R
in B R
fuel R
at A L
at B L
at R L
at R P
load A L
load B L
at A L
at B L
at R L
fuel R
in A R
in B R
at R P
unload A P
unload B P
at A P
at B P
nop
nop
nop
nop
nopnop
nop
nop
nop
nop
nop
Competing needs
StatesS0
ActionsA0
StatesS1
ActionsA1
StatesS2
ActionsA2
StatesS3
(Goals!)
![Page 16: CMSC 671 Fall 2005](https://reader035.vdocuments.site/reader035/viewer/2022062323/56815acf550346895dc8a213/html5/thumbnails/16.jpg)
Extending the planning graph
• Action level Ai: – Include all instantiations of all actions (including maintains (no-
ops)) that have all of their preconditions satisfied at level Si, with no two being mutex
– Mark as mutex all action-maintain pairs that are incompatible– Mark as mutex all action-action pairs that have competing
needs
• State level Si+1: – Generate all propositions that are the effect of some action at
level Ai
– Mark as mutex all pairs of propositions that can only be generated by mutex action pairs
![Page 17: CMSC 671 Fall 2005](https://reader035.vdocuments.site/reader035/viewer/2022062323/56815acf550346895dc8a213/html5/thumbnails/17.jpg)
Basic GraphPlan algorithm
• Grow the planning graph (PG) until all goals are reachable and none are pairwise mutex. (If PG levels off [reaches a steady state] first, fail)
• Search the PG for a valid plan
• If none found, add a level to the PG and try again
![Page 18: CMSC 671 Fall 2005](https://reader035.vdocuments.site/reader035/viewer/2022062323/56815acf550346895dc8a213/html5/thumbnails/18.jpg)
Creating the planning graph is usually fast
• Theorem 1:
The size of the t-level planning graph and the time to create it are polynomial in:– t (number of levels),– n (number of objects),– m (number of operators), and – p (number of propositions in the initial state)
![Page 19: CMSC 671 Fall 2005](https://reader035.vdocuments.site/reader035/viewer/2022062323/56815acf550346895dc8a213/html5/thumbnails/19.jpg)
Searching for a plan
• Backward chain on the planning graph
• Complete all goals at one level before going back
• At level i, pick a non-mutex subset of actions that achieve the goals at level i+1. The preconditions of these actions become the goals at level i.
• Build the action subset by iterating over goals, choosing an action that has the goal as an effect. Use an action that was already selected if possible. Do forward checking on remaining goals.
![Page 20: CMSC 671 Fall 2005](https://reader035.vdocuments.site/reader035/viewer/2022062323/56815acf550346895dc8a213/html5/thumbnails/20.jpg)
SATPlan
![Page 21: CMSC 671 Fall 2005](https://reader035.vdocuments.site/reader035/viewer/2022062323/56815acf550346895dc8a213/html5/thumbnails/21.jpg)
SATPlan
• Formulate the planning problem as a CSP• Assume that the plan has k actions• Create a binary variable for each possible action
a:– Action(a,i) (TRUE if action a is used at step i)
• Create variables for each proposition that can hold at different points in time:– Proposition(p,i) (TRUE if proposition p holds at step i)
![Page 22: CMSC 671 Fall 2005](https://reader035.vdocuments.site/reader035/viewer/2022062323/56815acf550346895dc8a213/html5/thumbnails/22.jpg)
Constraints
• Only one action can be executed at each time step (XOR constraints)
• Constraints describing effects of actions• Persistence: if an action does not change a
proposition p, then p’s value remains unchanged• A proposition is true at step i only if some action
(possibly a maintain action) made it true• Constraints for initial state and goal state
![Page 23: CMSC 671 Fall 2005](https://reader035.vdocuments.site/reader035/viewer/2022062323/56815acf550346895dc8a213/html5/thumbnails/23.jpg)
![Page 24: CMSC 671 Fall 2005](https://reader035.vdocuments.site/reader035/viewer/2022062323/56815acf550346895dc8a213/html5/thumbnails/24.jpg)
Still more variations…
• Blackbox:
STRIPS-based plan representation
Planning graph
CNF representation
CSP/SAT solver
CSP solution
Plan
![Page 25: CMSC 671 Fall 2005](https://reader035.vdocuments.site/reader035/viewer/2022062323/56815acf550346895dc8a213/html5/thumbnails/25.jpg)
Applications of PlanningApplications of Planning
• Military operations
• Autonomous space operations
• Construction tasks
• Machining tasks
• Mechanical assembly
• Design of experiments in genetics
• Command sequences for satellite
Most applied systems use extended representation languages, nonlinear
planning techniques, and domain-specificheuristics