170 likes | 350 Views
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:
E N D
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-orderplaner using forward construction andbackward 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 Propositions / Initial Conditions Propositions Operator Goal No-Op
Graphstructure Proposition level Proposition level Action Level Precond. Add/Del • Layers: • Proposition level (represents multiple states) • Action level • Time Step • Connections: • Precondition edges • Add- & Delete-Effects ---------- Time Step -----------
Graphstructure • Mutual Exclusions of Actions: • Inconsistent Effects vs. Interference vs. Competing needs • Inconsistent Effects:
Graphstructure • Mutual Exclusions of Actions, cont.: • Interference: • Competing needs: • Mutual Exclusions of Propositions: • Recursive Exclusions / Inconsistent Support
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
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)
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: • 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)} • 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 = {}
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 (http://aima.cs.berkeley.edu/) • http://www-2.cs.cmu.edu/~avrim/graphplan.html • http://www.cs.bham.ac.uk/~mmk/Teaching/Planning/ • www.cdf.toronto.edu/~csc384h/fall/Lectures/Lecture12.pdf • www.dgp.toronto.edu/~ppacheco/course/384/Lectures/Lecture13.pdf • J. Koehler, B. Nebel, J. Hoffmann, Y. Dimopoulos, „Extending Planning Graphs to an ADL Subset“, ECP-97, pages 273-285 (http://www.informatik.uni-freiburg.de/~koehler/papiere/ecp-97.ps.gz) • www.cs.washington.edu/homes/kautz/papers/plan.ps • http://www.fh-wedel.de/~mo/lectures/planning.html • Gerevini, A., Serina, I., "Fast Planning through Greedy Action Graphs", TR710, Computer Science Dept., U. Rochester, February 1999