Graphplan Fast Planning through Planning Graph Analysis Avrim
- Slides: 22
Graphplan: Fast Planning through Planning Graph Analysis Avrim Blum Merrick Furst Carnegie Mellon University
The setting: STRIPS planning • Initial Conditions: – Block A on Block B, Light is on, Door is closed, … • Legal Actions: – Pick up object, Move from X to Y, Toggle light, … • Goals: – Block B on Block A, Door is open, …
Representation Standard representation: State Graph – Each state of world is a node. Actions move you from node to node. – Goal: find a path from the start to a goal node. – Graph size may be exponential in problem description S 2 S 1 S 3 S 4 S 5
Representation Graphplan idea: Encode problem in much more compact (poly size) graph – Node represents single literal in a time step – State is a set of nodes – Goal: find a “flow” of truth values.
“Truth” flowing through time At x Move X->Y At y A on B A has cleartop C has cleartop A on C B has cleartop Unstack A from B & put on C • Allow multiple “independent” actions in the same time step
Graphplan high level • Build graph in fast forward pass • Annotate graph with important info as you go • Actually, don’t use flow algorithms. Instead: • Perform backward-chaining search, guided by graph and stored constraints
Example: Rocket/Airplane Problem • 2 Vehicles • at Montreal, have fuel people at start. Half want to go to SF, half to Paris. • Load/Unload operators: (load <person> <vehicle> <location>) • Move operator deletes fuel: (move <from> <to>)
Example, contd. • Example is hard for planners like prodigy because: – Can’t just solve goals one at a time – Also issue of resource allocation
Graph Creation A at M Load A into V 1 at M Move V 1 to SF V 1 has fuel A in V 1 at SF V 1 has fuel
Mutual exclusions A at M Load A into V 1 at M Move V 1 to SF V 1 has fuel A in V 1 at SF V 1 has fuel
Next level A at M Unload A from V 1 in SF A in V 1 V 1 at M Move V 1 from M to SF V 1 at SF V 1 has fuel
Propagating mutexs V 1 at X V 1 at Y V 1 at Z V 1 at W Move X->Y Move Z->W. . . V 1 at X V 1 at Y V 1 at Z V 1 at W
Growing the graph • Grow forward until all goals appear, not marked as exclusive. • Rules for marking as exclusive: – Facts P, Q exclusive if all ways of making P true are exclusive of all ways of making Q true. – Actions A, B marked exclusive if either: • [Interference] One deletes a precond or add-effect of the other, or • [Competing Needs] some precond P of A is exclusive of some precond Q of B
Basic loop • Grow until all goals appear, not exclusive. • Perform backward search. If fail, grow one more level and repeat. • Termination step
Backward Search • Level by level. • Given goal set at time t, – For each goal, choose some action not exclusive of previous choices, and doesn’t cut off anyone. – This creates goal set at time t-1. Recurse on it. – If fail, backtrack
Example Unload A V 1 at SF A at SF Unload B V 2 at SF B at SF Unload B V 1 at SF C at Paris Unload C V 1 Paris D at Paris Unload C V 2 Paris
Run Graphplan on Rocket, Flat-tire, etc.
Graph creation is poly time • IF operators have a constant number of parameters. – (move <x> from <y> to <z>), (open <x>) • IF operators don’t create new objects. • THEN polynomial number of ways to instantiate each operator. So, time is poly in #operators, #objects, and length of plan. Can speed up using goals to throw out irrelevants
Termination: what if not solvable?
When Graphplan does well
When Graphplan performs badly
Open Questions
- Graphplan
- Graphplan
- Differentiate between acid fast and non acid fast bacteria
- Example of acid-fast bacteria
- Through one man sin entered
- Classes of furcation
- Conversation of timber
- Who wrote the poem night of the scorpion?
- Fast food industry analysis
- Introduction of fast food
- Brioquery
- Fast data analysis
- Handshaking theorem
- Wait-for graph
- New criticism questions
- Paris through the window analysis
- Factors affecting tga curve pdf
- Cluster analysis graph
- Lenses graph analysis
- Cost volume profit analysis graph
- Strategic planning vs tactical planning
- Goal achievement matrix
- Scenario planning workforce planning