Graphplan: Fast Planning through Planning Graph Analysis Avrim Blum Merrick Furst Carnegie Mellon University.

Slides:



Advertisements
Similar presentations
Planning Module THREE: Planning, Production Systems,Expert Systems, Uncertainty Dr M M Awais.
Advertisements

Graphplan. Automated Planning: Introduction and Overview 2 The Dock-Worker Robots (DWR) Domain informal description: – harbour with several locations.
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:
Artificial Intelligence Constraint satisfaction problems Fall 2008 professor: Luigi Ceccaroni.
Maintaining Arc-consistency over Mutex Relations in Planning Graphs during Search Pavel Surynek Roman Barták Charles University, Prague Czech Republic.
1 Graphplan José Luis Ambite * [* based in part on slides by Jim Blythe and Dan Weld]
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.
Graphplan Joe Souto CSE 497: AI Planning Sources: Ch. 6 “Fast Planning through Planning Graph Analysis”, A. Blum & M. Furst.
For Monday Finish chapter 12 Homework: –Chapter 13, exercises 8 and 15.
AI – Week 5 Implementing your own AI Planner in Prolog – part II : HEURISTICS Lee McCluskey, room 2/09
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.
1 Maximal Independent Set. 2 Independent Set (IS): In a graph, any set of nodes that are not adjacent.
Fast Planning through Planning Graph Analysis By Jan Weber Jörg Mennicke.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
More Dataflow Analysis CS153: Compilers Greg Morrisett.
Planning: Part 3 Planning Graphs COMP151 April 4, 2007.
Improving code generation. Better code generation requires greater context Over expressions: optimal ordering of subtrees Over basic blocks: Common subexpression.
Planning II CSE 473. © Daniel S. Weld 2 Logistics Tournament! PS3 – later today Non programming exercises Programming component: (mini project) SPAM detection.
Improving Code Generation Honors Compilers April 16 th 2002.
1 Planning Chapters 11 and 12 Thanks: Professor Dan Weld, University of Washington.
Planning II CSE 573. © Daniel S. Weld 2 Logistics Reading for Wed Ch 18 thru 18.3 Office Hours No Office Hour Today.
PLANNING Partial order regression planning Temporal representation 1 Deductive planning in Logic Temporal representation 2.
Classical Planning Chapter 10.
GraphPlan Alan Fern * * Based in part on slides by Daniel Weld and José Luis Ambite.
PSPACE-Completeness Section 8.3 Giorgi Japaridze Theory of Computability.
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:
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:
Midterm Review Prateek Tandon, John Dickerson. Basic Uninformed Search (Summary) b = branching factor d = depth of shallowest goal state m = depth of.
Chapter 5 Section 1 – 3 1.  Constraint Satisfaction Problems (CSP)  Backtracking search for CSPs  Local search for CSPs 2.
For Monday Read chapter 12, sections 1-2 Homework: –Chapter 10, exercise 3.
1 Variable Elimination Graphical Models – Carlos Guestrin Carnegie Mellon University October 11 th, 2006 Readings: K&F: 8.1, 8.2, 8.3,
Chapter 5: Constraint Satisfaction ICS 171 Fall 2006.
Week 8 - Wednesday.  What did we talk about last time?  Level order traversal  BST delete  2-3 trees.
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
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.
Automated Planning and Decision Making Prof. Ronen Brafman Automated Planning and Decision Making Graphplan Based on slides by: Ambite, Blyth and.
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
CSCI 2670 Introduction to Theory of Computing
Class #17 – Thursday, October 27
Maximal Independent Set
Graph-based Planning Slides based on material from: Prof. Maria Fox
Graphplan/ SATPlan Chapter
Class #19 – Monday, November 3
Chapter 6 Planning-Graph Techniques
adapted from Recursive Backtracking by Mike Scott, UT Austin
Constraint satisfaction problems
Graphplan/ SATPlan Chapter
Graphplan/ SATPlan Chapter
3.2 Graph Traversal.
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]
Constraint satisfaction problems
Presentation transcript:

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 S3 S2 S5 S4 S1

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 At y A on B A has cleartop C has cleartop A on C B has cleartop Move X->Y 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 ) Move operator deletes fuel: (move )

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 V1 at M V1 has fuel Load A into V1 A at M A in V1 V1 at M V1 at SF V1 has fuel Move V1 to SF

Mutual exclusions A at M V1 at M V1 has fuel Load A into V1 A at M A in V1 V1 at M V1 at SF V1 has fuel Move V1 to SF

Next level A at M A in V1 V1 at M V1 at SF V1 has fuel A at M A in V1 V1 at M V1 at SF V1 has fuel Unload A from V1 in SF Move V1 from M to SF

Propagating mutexs V1 at X V1 at Y V1 at Z V1 at W Move X->Y Move Z->W... V1 at X V1 at Y V1 at Z V1 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 A at SF B at SF C at Paris D at Paris Unload A V1 at SF Unload B V2 at SF Unload B V1 at SF Unload C V1 Paris Unload C V2 Paris

Run Graphplan on Rocket, Flat-tire, etc.

Graph creation is poly time IF operators have a constant number of parameters. –(move from to ), (open ) 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