Fast Planning through Planning Graph Analysis By Jan Weber Jörg Mennicke
Outline Characteristics Graphstructure GRAPHPLAN Algorithm Expand - Graph Extract Solution Importance of Graphplan Pro’s Con’s Example References
Characteristics Graphplan: –A non-linear, partial-order planer using forward construction and backward path extraction in STRIPS-like domains Planer vs. Search Algorithm Forward vs. backward Partial-Order vs. Total-Order Linear vs. non-linear Strips-like
Graphstructure Objects –(not directly represented in Graph) Propositions –Initial Conditions Operators –No-Ops Goals No-Op Propositions / Initial Conditions Propositions Operator Goal
Graphstructure Layers: –Proposition level (represents multiple states) –Action level –Time Step Connections: –Precondition edges –Add- & Delete-Effects Precond. PropositionlevelPropositionlevel ActionLevel Time Step Add/Del
Graphstructure Mutual Exclusions of Actions: –Inconsistent Effects vs. Interference vs. Competing needs –Inconsistent Effects:
Mutual Exclusions of Actions, cont.: –Interference: –Competing needs: Mutual Exclusions of Propositions: –Recursive Exclusions / Inconsistent Support Graphstructure
GRAPHPLAN Algorithm If all goals are present in the current level with no exclusion links (A solution might exist) or the graph has levelled off (Two consecutive levels are identical - No solution exists). –EXTRACT-SOLUTION Else –EXPAND-GRAPH
Algorithm: For each Proposition level check every Op whether it’s preconditions are true Construct next Action level including those Ops Construct next Proposition level considering all add & delete effects Check for Mutex links in Action and Proposition level (actions-that-I-am-exclusive-of-list) Expand graph
Extract Solution Backward search –Level-by-level approach makes best use of mutexes –For each goal at time t, find an operator that has this goal as an add-effect and that is not exclusive with an operator already selected –The preconditions of these actions are a set of subgoals at time t-1 –Find operators adding the subgoals of time t-1 –If no set of operators can achieve the subgoals at time t-n -> Backtrack –Memoisation
Importance of Graphplan Aips 98: –3 of 5 planners in the competition used graphplan completely (IPP, SGP, and STAN) –1 exploited the graphplan technology (Blackbox) Aips 2002: 75% of the planners used graphplan ICAPS 2004: More than half of the planners competing use heuristic based search (such as Fast Diagonally Downward, Macro-FF, Yahsp, HSP*a…) Graphplan made researchers think about more efficient algorithms -> started new planning era BUT:Graphplan plays less important role at the moment
Pro’s Non-linear Planner -> partial goals are independent and can be achieved by interleaving -> different from STRIPS Planning Graphs can be constructed relatively efficient Effective for solving hard planning problems Keeps Graph as small as possible (MUTEX) Memoization Low level costs: construction of graph before backwards search Termination is guaranteed for finite problem domains even if problem unsolvable
Con’s Problems with a large numbers of objects have a huge number of possible actions Planning only possible in strips-like domains Guarantees to find shortest plan -> overcomplicates problem Loss of performance if no reduction by mutex links possible
Example Full Example (Coming up with an example): –Objects: team; idea; concept –Propositions: creative(team); found(idea); checked(idea); prepared(?concept); revised(?concept) –Operators: Prepare(?team, ?idea, ?concept): – –Preconditions = {creative(?team), checked(?idea)} – –ADD = {prepared(?concept)} – –DELETE = {checked(?idea)} Revise(?idea, ?concept): – –Preconditions = {checked(?idea), prepared(?concept)} – –ADD = {revised(?concept)} – –DELETE = {} Brainstorm(?team,?idea): – –Preconditions = {creative(?team)} – –ADD = {found(?idea)} – –DELETE = {creative(?team)} Check(?idea): – –Preconditions = {found(?idea)} – –ADD = {checked(?idea), creative(?team)} – –DELETE = {found(?idea)}
Example Full Example (Coming up with an example); Con’t:
References Blum Avrim & Furst Merrick, Fast Planning Through Planning Graph Analysis, 1997 Russel Stuart & Norvig Peter, Artificial Intelligence – A Modern Approach, Prentice Hall, New Jersey ( J. Koehler, B. Nebel, J. Hoffmann, Y. Dimopoulos, „Extending Planning Graphs to an ADL Subset“, ECP-97, pages ( Gerevini, A., Serina, I., "Fast Planning through Greedy Action Graphs", TR710, Computer Science Dept., U. Rochester, February 1999