Graphplan/ SATPlan Chapter

Slides:



Advertisements
Similar presentations
Practical Planning: Scheduling and Hierarchical Task Networks Chapter CS 63 Adapted from slides by Tim Finin and Marie desJardins.
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.
1 Constraint Satisfaction Problems A Quick Overview (based on AIMA book slides)
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Artificial Intelligence Constraint satisfaction problems Fall 2008 professor: Luigi Ceccaroni.
1 Graphplan José Luis Ambite * [* based in part on slides by Jim Blythe and Dan Weld]
Plan Generation & Causal-Link Planning 1 José Luis Ambite.
Planning with Constraints Graphplan & SATplan Yongmei Shi.
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.
AI – Week AI Planning – Plan Generation Algorithms: GraphPlan Lee McCluskey, room 2/09
CPSC 322, Lecture 18Slide 1 Planning: Heuristics and CSP Planning Computer Science cpsc322, Lecture 18 (Textbook Chpt 8) February, 12, 2010.
Artificial Intelligence Chapter 11: Planning
Planning: Part 3 Planning Graphs COMP151 April 4, 2007.
Extending Graphplan to handle Resources Presenter: Pham Van Cuong Department of Computer Science New Mexico State University.
Constraint Satisfaction Problems
Planning II CSE 473. © Daniel S. Weld 2 Logistics Tournament! PS3 – later today Non programming exercises Programming component: (mini project) SPAM detection.
Chapter 5 Outline Formal definition of CSP CSP Examples
Planning II CSE 573. © Daniel S. Weld 2 Logistics Reading for Wed Ch 18 thru 18.3 Office Hours No Office Hour Today.
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%)
Midterm Review Prateek Tandon, John Dickerson. Basic Uninformed Search (Summary) b = branching factor d = depth of shallowest goal state m = depth of.
Logical Agents Logic Propositional Logic Summary
Hande ÇAKIN IES 503 TERM PROJECT CONSTRAINT SATISFACTION PROBLEMS.
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)
Graphplan/ SATPlan Chapter Some material adapted from slides by Jean-Claude Latombe / Lise Getoor.
Classical Planning Chapter 10 Mausam / Andrey Kolobov (Based on slides of Dan Weld, Marie desJardins)
Graphplan.
Robust Planning using Constraint Satisfaction Techniques Daniel Buettner and Berthe Y. Choueiry Constraint Systems Laboratory Department of Computer Science.
Graphplan: Fast Planning through Planning Graph Analysis Avrim Blum Merrick Furst Carnegie Mellon University.
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.
Chapter 5 Team Teaching AI (created by Dewi Liliana) PTIIK Constraint Satisfaction Problems.
1 GraphPlan, Satplan and Markov Decision Processes Sungwook Yoon* * Based in part on slides by Alan Fern.
Heuristic Search Planners. 2 USC INFORMATION SCIENCES INSTITUTE Planning as heuristic search Use standard search techniques, e.g. A*, best-first, hill-climbing.
1 Chapter 6 Planning-Graph Techniques. 2 Motivation A big source of inefficiency in search algorithms is the branching factor  the number of children.
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
Planning: Heuristics and CSP Planning
Planning: Heuristics and CSP Planning
Class #17 – Thursday, October 27
Planning as Satisfiability with Blackbox
Planning José Luis Ambite.
Graph-based Planning Slides based on material from: Prof. Maria Fox
Graphplan/ SATPlan Chapter
Planning Problems On(C, A)‏ On(A, Table)‏ On(B, Table)‏ Clear(C)‏
Constraint Satisfaction Problems
Class #19 – Monday, November 3
Chapter 6 Planning-Graph Techniques
Graphplan/ SATPlan Chapter
Russell and Norvig: Chapter 11 CS121 – Winter 2003
GraphPlan Jim Blythe.
An Introduction to Planning Graph
Graph-based Planning Slides based on material from: Prof. Maria Fox
Constraint Satisfaction Problems
[* based in part on slides by Jim Blythe and Dan Weld]
Presentation transcript:

Graphplan/ SATPlan Chapter 11.4-11.6 Some material adapted from slides by Lise Getoor

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

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

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 complexity grows exponentially Finds “shortest” plans (by some definition) Sound, complete, and will terminate with failure if there is no plan

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/inaction) Level S0 has all of the literals from the initial state

Simple domain Literals: Actions: Graph representation: 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

Example planning graph at A L load A L fuel R at A L at B L at R L load A L at A L at B L at R L fuel R in A R in B R at R P in A R at B L load B L load B L in B R at R L move L P move L P at R P at A P fuel R move P L unload A P at B P unload B P States S0 Actions A0 States S1 Actions A1 States S2 Actions A2 States S3 (Goals!)

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

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: For actions: Inconsistent effects: one action negates the effect of the other Interference: one action negates the precondition of the other Competing needs: preconditions of two actions are mutex with each other For literals: Inconsistent support: two literals at the same level are mutex if one is the negation of the other or every pair of actions that could achieve them are mutex

Example: Mutex constraints at A L load A L at A L load A L at A L nop nop at B L load B L at B L load B L at B L nop nop at R L at R L at R L move L P move L P nop nop fuel R fuel R at A P fuel R Inconsistent effects nop unload A P nop in A R nop in A R at B P unload B P move P L in B R in B R nop at R P at R P nop States S0 Actions A0 States S1 Actions A1 States S2 Actions A2 States S3 (Goals!)

Example: Mutex constraints at A L load A L at A L load A L at A L nop nop at B L load B L at B L load B L at B L nop nop at R L at R L at R L move L P move L P nop nop fuel R fuel R at A P fuel R Inconsistent support nop unload A P nop in A R nop in A R at B P unload B P move P L in B R in B R nop at R P at R P nop States S0 Actions A0 States S1 Actions A1 States S2 Actions A2 States S3 (Goals!)

Example: Mutex constraints at A L load A L at A L load A L at A L nop nop at B L load B L at B L load B L at B L nop nop at R L at R L Interference: Inconsistent preconditions and effects at R L move L P move L P nop nop fuel R fuel R at A P fuel R nop unload A P nop in A R nop in A R at B P unload B P move P L in B R in B R nop at R P at R P nop States S0 Actions A0 States S1 Actions A1 States S2 Actions A2 States S3 (Goals!)

Example: Mutex constraints at A L load A L at A L load A L at A L nop nop at B L load B L at B L load B L at B L nop nop at R L at R L at R L move L P move L P nop nop fuel R fuel R at A P fuel R nop unload A P nop Competing needs in A R nop in A R at B P unload B P move P L in B R in B R nop at R P at R P nop States S0 Actions A0 States S1 Actions A1 States S2 Actions A2 States S3 (Goals!)

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

Basic GraphPlan algorithm Grow the planning graph (PG) until all goals are reachable and none are pairwise mutex. Search the PG for a valid plan If found, stop, otherwise add a level to the PG and try again If PG levels off (reaches a steady state: Sn = Sn-1), return fail

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) Theorem 2: PG will level off in finite steps: Literals increase monotonically (a literal appears at one level will appear at all subsequent levels) Actions increase monotonically There are only finite number of actions and literals

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.

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)

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

Now apply our favorite CSP solver!

Still more variations… Blackbox: STRIPS-based plan representation Planning graph CNF representation CSP/SAT solver CSP solution Whew! Plan

Applications 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-specific heuristics