1 Chapter 6 Planning-Graph Techniques. 2 Motivation A big source of inefficiency in search algorithms is the branching factor  the number of children.

Slides:



Advertisements
Similar presentations
Causal-link Planning II José Luis Ambite. 2 CS 541 Causal Link Planning II Planning as Search State SpacePlan Space AlgorithmProgression, Regression POP.
Advertisements

Constraint Based Reasoning over Mutex Relations in Graphplan Algorithm Pavel Surynek Charles University, Prague Czech Republic.
Planning Module THREE: Planning, Production Systems,Expert Systems, Uncertainty Dr M M Awais.
CLASSICAL PLANNING What is planning ?  Planning is an AI approach to control  It is deliberation about actions  Key ideas  We have a model of the.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
1 Graphplan José Luis Ambite * [* based in part on slides by Jim Blythe and Dan Weld]
Planning with Constraints Graphplan & SATplan Yongmei Shi.
Action Cook Prec: CleanHands Effects: Dinner Action Wrap Prec: Quiet Effects: Present Action Carry Prec: Effects: ~Garbage AND ~CleanHands Action Dolly.
Graph-based Planning Brian C. Williams Sept. 25 th & 30 th, J/6.834J.
Planning Graphs * Based on slides by Alan Fern, Berthe Choueiry and Sungwook Yoon.
For Monday Finish chapter 12 Homework: –Chapter 13, exercises 8 and 15.
Planning CSE 473 Chapters 10.3 and 11. © D. Weld, D. Fox 2 Planning Given a logical description of the initial situation, a logical description of the.
1 Chapter 16 Planning Methods. 2 Chapter 16 Contents (1) l STRIPS l STRIPS Implementation l Partial Order Planning l The Principle of Least Commitment.
Fast Planning through Planning Graph Analysis By Jan Weber Jörg Mennicke.
AI – Week AI Planning – Plan Generation Algorithms: GraphPlan Lee McCluskey, room 2/09
Artificial Intelligence Chapter 11: Planning
Planning: Part 3 Planning Graphs COMP151 April 4, 2007.
Planning II CSE 473. © Daniel S. Weld 2 Logistics Tournament! PS3 – later today Non programming exercises Programming component: (mini project) SPAM detection.
1 Planning Chapters 11 and 12 Thanks: Professor Dan Weld, University of Washington.
Classical Planning via State-space search COMP3431 Malcolm Ryan.
Planning II CSE 573. © Daniel S. Weld 2 Logistics Reading for Wed Ch 18 thru 18.3 Office Hours No Office Hour Today.
An Introduction to Artificial Intelligence CE Chapter 11 – Planning Ramin Halavati In which we see how an agent can take.
Classical Planning Chapter 10.
GraphPlan Alan Fern * * Based in part on slides by Daniel Weld and José Luis Ambite.
For Wednesday Read chapter 12, sections 3-5 Program 2 progress due.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Jonathon Doran. The Planning Domain A domain describes the objects, facts, and actions in the universe. We may have a box and a table in our universe.
Homework 1 ( Written Portion )  Max : 75  Min : 38  Avg : 57.6  Median : 58 (77%)
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
1 Chapter 7 Propositional Satisfiability Techniques.
For Monday Read chapter 12, sections 1-2 Homework: –Chapter 10, exercise 3.
CPS 270: Artificial Intelligence Planning Instructor: Vincent Conitzer.
1 Chapter 16 Planning Methods. 2 Chapter 16 Contents (1) l STRIPS l STRIPS Implementation l Partial Order Planning l The Principle of Least Commitment.
Introduction to Planning Dr. Shazzad Hosain Department of EECS North South Universtiy
AI Lecture 17 Planning Noémie Elhadad (substituting for Prof. McKeown)
Classical Planning Chapter 10 Mausam / Andrey Kolobov (Based on slides of Dan Weld, Marie desJardins)
Graphplan.
© Daniel S. Weld 1 Logistics Travel Wed class led by Mausam Week’s reading R&N ch17 Project meetings.
Graphplan: Fast Planning through Planning Graph Analysis Avrim Blum Merrick Furst Carnegie Mellon University.
Planning I: Total Order Planners Sections
Automated Planning and Decision Making Prof. Ronen Brafman Automated Planning and Decision Making Graphplan Based on slides by: Ambite, Blyth and.
Graphplan CSE 574 April 4, 2003 Dan Weld. Schedule BASICS Intro Graphplan SATplan State-space Refinement SPEEDUP EBL & DDB Heuristic Gen TEMPORAL Partial-O.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
1 GraphPlan, Satplan and Markov Decision Processes Sungwook Yoon* * Based in part on slides by Alan Fern.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Heuristic Search Planners. 2 USC INFORMATION SCIENCES INSTITUTE Planning as heuristic search Use standard search techniques, e.g. A*, best-first, hill-climbing.
An Introduction to Artificial Intelligence CE 40417
Fast Propositional Algorithms for Planning
Planning as Satisfiability
Planning as Search State Space Plan Space Algorihtm Progression
Classical Planning via State-space search
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Introduction Contents Sungwook Yoon, Postdoctoral Research Associate
Temporal Graphplan David E. Smith & Dan Weld.
Review for the Midterm Exam
Class #17 – Thursday, October 27
Graph-based Planning Slides based on material from: Prof. Maria Fox
Graphplan/ SATPlan Chapter
Planning CSE 473 AIMA, 10.3 and 11.
Logics for Data and Knowledge Representation
Planning Problems On(C, A)‏ On(A, Table)‏ On(B, Table)‏ Clear(C)‏
Class #19 – Monday, November 3
Chapter 6 Planning-Graph Techniques
Graphplan/ SATPlan Chapter
Graphplan/ SATPlan Chapter
GraphPlan Jim Blythe.
An Introduction to Planning Graph
Graph-based Planning Slides based on material from: Prof. Maria Fox
[* based in part on slides by Jim Blythe and Dan Weld]
Presentation transcript:

1 Chapter 6 Planning-Graph Techniques

2 Motivation A big source of inefficiency in search algorithms is the branching factor  the number of children of each node e.g., a backward search may try lots of actions that can’t be reached from the initial state One way to reduce branching factor: First create a relaxed problem  Remove some restrictions of the original problem »Want the relaxed problem to be easy to solve (polynomial time)  The solutions to the relaxed problem will include all solutions to the original problem Then do a modified version of the original search  Restrict its search space to include only those actions that occur in solutions to the relaxed problem g0g0 g1g1 g2g2 g3g3 a1a1 a2a2 a3a3 g4g4 g5g5 s0s0 a4a4 a5a5

3 Problem handled by GraphPlan * Pure STRIPS operators:  conjunctive preconditions  no negated preconditions  no conditional effects  no universal effects Finds “shortest parallel plan” Sound, complete and will terminate with failure if there is no plan. *Version in [Blum& Furst IJCAI 95, AIJ 97]

4 Graphplan procedure Graphplan: for k = 0, 1, 2, …  Graph expansion: »create a “planning graph” that contains k “levels”  Check whether the planning graph satisfies a necessary (but insufficient) condition for plan existence  If it does, then »do solution extraction: backward search, modified to consider only the actions in the planning graph if we find a solution, then return it possible literals in state s i possible actions in state s i relaxed problem

5 state-level i effects Maintenance actions: propagate literals to the next level. These represent what happens if no action in the final plan affects the literal. state-level i-1 state-level 0 (the literals true in s 0 ) The Planning Graph Alternating layers of ground literals and actions  All actions that might possibly occur at each time step  All of the literals asserted by those actions action-level i preconditions

6 Mutual Exclusion Two actions at the same action-level are mutex if  Inconsistent effects: an effect of one negates an effect of the other  Interference: one deletes a precondition of the other  Competing needs: they have mutually exclusive preconditions Otherwise they don’t interfere with each other  Both may appear in a solution plan Two literals at the same state-level are mutex if  Inconsistent support: one is the negation of the other, or all ways of achieving them are pairwise mutex

7 Mutex Inconsistent Effects  an effect of one negates an effect of the other E.g., stack(a,b) & unstack(a,b) add handempty delete handempty (add ~handempty)

8 Mutex Interference :  one deletes a precondition of the other E.g., stack(a,b) & putdown(a) deletes holding(a) needs holding(a)

9 Mutex Competing needs:  they have mutually exclusive preconditions  Their preconditions can’t be true at the same time

10 Mutex Inconsistent support :  one is the negation of the other E.g., handempty & ~handempty  or all ways of achieving them are pairwise mutex (from the previous reasons)

11 Valid plan A valid plan is a planning graph where: Actions at the same level don’t interfere Each action’s preconditions are made true by the plan Goals are satisfied

12 GraphPlan algorithm Grow the planning graph (PG) until all goals are reachable and not mutex. (If PG levels off first, fail) Search the PG for a valid plan If non found, add a level to the PG and try again

13 Searching for a solution plan Backward chain on the planning graph Achieve goals level by level At level k, pick a subset of non-mutex actions to achieve current goals. Their preconditions become the goals for k-1 level. Build goal subset by picking each goal and choosing an action to add. Use one already selected if possible. Do forward checking on remaining goals (backtrack if can’t pick non-mutex action)

14 Solution Extraction procedure Solution-extraction(g,j) if j=0 then return the solution for each literal l in g nondeterministically choose an action to use in state s j–1 to achieve l if any pair of chosen actions are mutex then backtrack g’ := {the preconditions of the chosen actions} Solution-extraction(g’, j–1) end Solution-extraction The level of the state s j The set of goals we are trying to achieve state- level i-1 action- level i state- level i A real action or a maintenance action

15 Plan Graph Search If goals are present & non-mutex: Choose action to achieve each goal Add preconditions to next goal set

16 Example »due to Dan Weld (U. of Washington) Suppose you want to prepare dinner as a surprise for your spouse (who is asleep) s 0 = {garbage, cleanHands, quiet} g = {dinner, present,  garbage} ActionPreconditions Effects cook() cleanHandsdinner wrap() quietpresent carry() none  garbage,  cleanHands dolly() none  garbage,  quiet Also have the maintenance actions: one for each literal

17 Example (continued) state-level 0: {all atoms in s 0 } U {negations of all atoms not in s 0 } action-level 1: {all actions whose prconditions are satisfied in s 0 } state-level 1: {all effects of all of the actions in action-level 1} ActionPreconditionsEffects cook() cleanHandsdinner wrap() quietpresent carry() none  garbage,  cleanHands dolly() none  garbage,  quiet Also have the maintenance actions  dinner  present  dinner  present state-level 0state-level 1action-level 1

18 Example (continued) Augment the graph to indicate mutexes carry is mutex with the maintenance action for garbage (inconsistent effects) dolly is mutex with wrap  interference ~quiet is mutex with present  inconsistent support each of cook and wrap is mutex with a maintenance operation ActionPreconditionsEffects cook() cleanHandsdinner wrap() quietpresent carry() none  garbage,  cleanHands dolly() none  garbage,  quiet Also have the maintenance actions  dinner  present  dinner  present state-level 0state-level 1action-level 1

19  dinner  present  dinner  present Example (continued) Check to see whether there’s a possible plan Recall that the goal is  {  garbage, dinner, present} Note that  All are prossible in s 1  None are mutex with each other Thus, there’s a chance that a plan exists Try to find it  Solution extraction state-level 0state-level 1action-level 1

20 Example (continued) Two sets of actions for the goals at state-level 1 Neither works: both sets contain actions that are mutex  dinner  present  dinner  present state-level 0state-level 1action-level 1

21 Example (continued) Go back and do more graph expansion Generate another action-level and another state-level  dinner  present  dinner  present  dinner  present state-level 0state-level 1action-level 1state-level 2action-level 2

22 Example (continued) Solution extraction Twelve combinations at level 4  Three ways to achieve  garb  Two ways to achieve dinner  Two ways to achieve present  dinner  present  dinner  present  dinner  present state-level 0state-level 1action-level 1state-level 2action-level 2

23 Example (continued) Several of the combinations look OK at level 2 Here’s one of them  dinner  present  dinner  present  dinner  present state-level 0state-level 1action-level 1state-level 2action-level 2

24 Example (continued) Call Solution- Extraction recursively at level 2 It succeeds Solution whose parallel length is 2  dinner  present  dinner  present  dinner  present state-level 0state-level 1action-level 1state-level 2action-level 2

25 Observation 1 Propositions monotonically increase (always carried forward by no-ops) p ¬q ¬r p q ¬q ¬r p q ¬q r ¬r p q ¬q r ¬r A A B A B

26 Observation 2 Actions monotonically increase p ¬q ¬r p q ¬q ¬r p q ¬q r ¬r p q ¬q r ¬r A A B A B

27 Observation 3 Proposition mutex relationships monotonically decrease pqr…pqr… A pqr…pqr… pqr…pqr…

28 Observation 4 Action mutex relationships monotonically decrease pq…pq… B pqrs…pqrs… pqrs…pqrs… A C B C A pqrs…pqrs… B C A

29 Observation 5 Planning Graph ‘levels off’. After some time k all levels are identical Because it’s a finite space, the set of literals never decreases and mutexes don’t reappear.

30 Termination for unsolvable problems Graphplan records (memoizes) sets of unsolvable goals:  U(i, t) = unsolvable goals at level i after stage t. More efficient: early backtracking Also provides necessary and sufficient conditions for termination:  Assume plan graph levels off at level n, stage t > n  If U(n, t-1) = U(n, t) then we know we’re in a loop and can terminate safely.

31 Expressive Languages Negated preconditions Disjunctive preconditions Universally quantified preconditions, effects Conditional effects Iterative/Recursive Actions

32 Comparison with PSP Advantage: the backward-search part of Graphplan—which is the hard part—will only look at the actions in the planning graph  smaller search space than PSP; thus faster Disadvantage: to generate the planning graph, Graphplan creates a huge number of ground atoms  Many of them may be irrelevant Can alleviate (but not eliminate) this problem by assigning data types to the variables and constants  Only instantiate variables to terms of the same data type

33 History Before Graphplan came out, most planning researchers were working on PSP-like planners  POP, SNLP, UCPOP, etc. Graphplan caused a sensation because it was so much faster Many subsequent planning systems have used ideas from it  IPP, STAN, GraphHTN, SGP, Blackbox, TGP, LPG Many of them are much faster than the original Graphplan