An Introduction to Planning Graph

Slides:



Advertisements
Similar presentations
UNIT-3 PLANNING AI Planning Prepared by N. Sathish Kumar AP
Advertisements

Language for planning problems
CSE391 – 2005 NLP 1 Planning The Planning problem Planning with State-space search.
Planning Module THREE: Planning, Production Systems,Expert Systems, Uncertainty Dr M M Awais.
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.
Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.
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]
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.
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.
PLANNING IN AI. Determine the set of steps that are necessary to achieve a goal Some steps might be conditional, i.e., they are only taken when a set.
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.
4 th Nov, Oct 23 rd Happy Deepavali!. 10/23 SAT & CSP.
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
Planning Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 11.
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.
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%)
For Monday Read chapter 12, sections 1-2 Homework: –Chapter 10, exercise 3.
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.
© 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.
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.
An Introduction to Artificial Intelligence CE 40417
Planning as Satisfiability
Planning as Search State Space Plan Space Algorihtm Progression
Classical Planning via State-space search
EA C461 – Artificial Intelligence Planning
Class #17 – Thursday, October 27
Planning José Luis Ambite.
Graph-based Planning Slides based on material from: Prof. Maria Fox
Graphplan/ SATPlan Chapter
Planning CSE 473 AIMA, 10.3 and 11.
Artificial Intelligence: Planning
Planning Problems On(C, A)‏ On(A, Table)‏ On(B, Table)‏ Clear(C)‏
Dave Touretzky Read R&N Chapter 10
Class #19 – Monday, November 3
Chapter 6 Planning-Graph Techniques
Graphplan/ SATPlan Chapter
Graphplan/ SATPlan Chapter
GraphPlan Jim Blythe.
Graph-based Planning Slides based on material from: Prof. Maria Fox
[* based in part on slides by Jim Blythe and Dan Weld]
Presentation transcript:

An Introduction to Planning Graph 2019/6/2 An Introduction to Planning Graph Chang, Han-Wen A. Blum and M. Furst, "Fast Planning Through Planning Graph Analysis", Artificial Intelligence, 90:281--300 (1997) AIMA textbook, Chap. 11, Section 11.4 March 29, 2007

2019/6/2 Planning Problem Planning is to come up with a sequence of actions that will achieve a goal from the initial state.

Representation states: conjunction of positive literals actions: ground and function-free first-order literals closed-world assumption actions: action name and parameter list precondition add-effect delete-effect no new object created

Rocket Example Cargo (A); Cargo (B); Rocket (R); Place (L); Place (P); R A B move (Rocket ?r, Place ?from, Place ?to) Precond: At (?r, ?from) & HasFuel (?r) Add: At (?r, ?to) Delete: At (?r, ?from) & HasFuel (?r) load (Rocket ?r, Place ?p, Cargo ?c) Precond: At (?r, ?p) & At (?c, ?p) Add: In (?c, ?r) Delete: At (?c, ?p) unload (Rocket ?r, Place ?p, Cargo ?c) Precond: At (?r, ?p) & In (?c, ?r) Add: At (?c, ?p) Delete: In (?c, ?r) Place L Init: At (A, L) & At (B, L) & At (R, L) & HasFuel (R) B A Goal: At (A, P) & At (B, P) Place P

Motivation Search performance depends on branching factor, and constraints reduce the search space. Independent actions can be done in any order.

Basic Idea Construct a graph that encodes constraints on possible plans Use this “planning graph” to constrain search for a valid plan: If valid plan exists, it is a subgraph of the planning graph

Planning Graph Directed and Leveled Nodes Edges Proposition nodes Action nodes Edges Precondition edges: from propositions to actions Add edges: from actions to propositions Del edges: from actions to propositions No-op edges: from propositions to propositions

Graph Levels Alternate Levels Proposition level: all propositions that could be true at time step t Action level: all actions that could have their preconditions satisfied at time step t

Extending Planning Graph Load R, L, B Load R, L, A At B, L At B, L At A, L At A, L In B, R In A, R At R, L At R, L Fuel R Fuel R At R, P Move R, L, P

Rocket Example Precondition edges Add-effect edges Delete-effect edges 2019/6/2 Rocket Example Add-effect edges Delete-effect edges Load R, L, B Load R, L, A Move R, L, P Unload R, L, A Unload R, L, B Actions Time 1 Load R, L, B Load R, L, A Move R, L, P Unload R, L, A Unload R, L, B Unload R, P, A Unload R, P, B Actions Time 2 No-op edges Load R, L, B Load R, L, A Move R, L, P Actions Time 0 At B, L At A, L At R, L Fuel R Propositions Time 0 At B, L At A, L At R, L Fuel R At R, P In B, R In A, R Propositions Time 1 At B, L At A, L At R, L Fuel R At R, P In B, R In A, R Propositions Time 2 At B, L At A, L At R, L Fuel R At R, P In B, R In A, R At B, P At A, P Propositions Time 3

Mutual Exclusions (mutex) Inconsistent Effects Interference Competing Needs Inconsistent Support

Inconsistent Effects (mutex) The action deletes an add-effect of the other. Load(R, L, A) deletes At(L, A) which is an add-effect of Unload(R, L, A), so the two actions are mutex.

Interference (mutex) The action deletes a precondition of the other. Move(R, L, P) deletes At(R, L) which is an precondition of Load(R, L, A), so the two actions are mutex.

Competing Needs (mutex) If there is a precondition p of action a and a precondition q of action b that are mutex in the previous proposition level, the two actions are mutex. The precondition At(A, L) of action Load(R, A, L) and the precondition At(A, P) of action Load(R, A, P) are mutex, so the two actions are mutex.

Inconsistent Support (mutex) If each action a having an add-effect of proposition p is marked as exclusive of each action b having an add-effect of proposition q, the two propositions are mutex. The proposition At(A, L) and the proposition In(A, R) are mutex at time step t if the are mutex at time step t-1, and any action creates At(A, L) are mutex with any action creates In(A, R).

Spare Tire Example (AIMA)

GraphPlan Algorithm function GRAPHPLAN(problem) return solution or failure graph  INITIAL-PLANNING-GRAPH(problem) goals  GOALS[problem] loop do if goals all non-mutex in last level of graph then do solution  EXTRACT-SOLUTION(graph, goals, LENGTH(graph)) if solution  failure then return solution else if NO-SOLUTION-POSSIBLE(graph) then return failure graph  EXPAND-GRAPH(graph, problem)

Plan Extraction Valid plan Backward chaining goals are satisfied Non-mutex actions Backward chaining Achieve goals level by level Non-mutex actions at level k Preconditions as the goals for level k-1 No Non-mutex action found  backtrack

Features Literals increase monotonically Actions increase monotonically Mutexes decrease monotonically Eventually level off two consecutive levels are identical

Termination planning graph eventually leveled-off If the graph is leveled-off and some literals of the goal do not appear or are marked as mutex in the latest proposition level, the problem is unsolvable.

Advanced Test Let Sti be the collection of unachievable (sub)goal-sets stored for level i after trial at stage t If graph leveled off at level n and St-1n = Stn at a stage t > n, then output “No Plan Exists”

Remarks on Planning Graph 2019/6/2 Remarks on Planning Graph Polynomial space / graph creation time p: |initial state| n: #object m: #operator t: #level l: max( #add-list ) k: max( #operator parameter ) #Max nodes action level: O(mnk) #Max nodes proposition level: O(p+mlnk)

More Remarks Sound & complete Partially-ordered planning Independent actions in the same level can be executed in any order

Pro and Con Cases with better performance pairwise mutex relations capture important constraints parallel actions reduce the depth of the graph

Thanks

Eat Cake Example (AIMA) similar to drink water example

Spare Tire Example (AIMA)

Rocket Example Cargo (A); Cargo (B); Rocket (R); Place (L); Place (P); R A B move (Rocket ?r, Place ?from, Place ?to) Precond: At (?r, ?from) & HasFuel (?r) Add: At (?r, ?to) Delete: At (?r, ?from) & HasFuel (?r) load (Rocket ?r, Place ?p, Cargo ?c) Precond: At (?r, ?p) & At (?c, ?p) Add: In (?c, ?r) Delete: At (?c, ?p) unload (Rocket ?r, Place ?p, Cargo ?c) Precond: At (?r, ?p) & In (?c, ?r) Add: At (?c, ?p) Delete: In (?c, ?r) Place L Init: At (A, L) & At (B, L) & At (R, L) & HasFuel (R) B A Goal: At (A, P) & At (B, P) Place P

Rocket Example Precondition edges Add-effect edges Delete-effect edges 2019/6/2 Rocket Example Add-effect edges Delete-effect edges Load R, L, B Load R, L, A Move R, L, P Unload R, L, A Unload R, L, B Actions Time 1 Load R, L, B Load R, L, A Move R, L, P Unload R, L, A Unload R, L, B Unload R, P, A Unload R, P, B Actions Time 2 No-op edges Load R, L, B Load R, L, A Move R, L, P Actions Time 0 At B, L At A, L At R, L Fuel R Propositions Time 0 At B, L At A, L At R, L Fuel R At R, P In B, R In A, R Propositions Time 1 At B, L At A, L At R, L Fuel R At R, P In B, R In A, R Propositions Time 2 At B, L At A, L At R, L Fuel R At R, P In B, R In A, R At B, P At A, P Propositions Time 3

Extending Planning Graph Load R, L, B Load R, L, A At B, L At B, L At A, L At A, L In B, R In A, R At R, L At R, L Fuel R Fuel R At R, P Move R, L, P

Inconsistent Effects (mutex) The action deletes an add-effect of the other. Load(R, L, A) deletes At(L, A) which is an add-effect of Unload(R, L, A), so the two actions are mutex.

Interference (mutex) The action deletes a precondition of the other. Move(R, L, P) deletes At(R, L) which is an precondition of Load(R, L, A), so the two actions are mutex.

Competing Needs (mutex) If there is a precondition p of action a and a precondition q of action b that are mutex in the previous proposition level, the two actions are mutex. The precondition At(A, L) of action Load(R, A, L) and the precondition At(A, P) of action Load(R, A, P) are mutex, so the two actions are mutex.

Inconsistent Support (mutex) If each action a having an add-effect of proposition p is marked as exclusive of each action b having an add-effect of proposition q, the two propositions are mutex. The proposition At(A, L) and the proposition In(A, R) are mutex at time step t if the are mutex at time step t-1, and any action creates At(A, L) are mutex with any action creates In(A, R).

Drink Water Example literals: Initial Condition: Goal: EmptyCup FullCup Thirsty NotThirsty Initial Condition: FullCup & Thirsty Goal: NotThirsty & FullCup

Drink Water Example -- Actions FillCup Preconds: EmptyCup Add-effs: FullCup Del-effs: EmptyCup EmptyCupAction Preconds: FullCup Add-effs: EmptyCup Del-effs: FullCup Drink Preconds: FullCup & Thirsty Add-effs: EmptyCup & NotThirsty Del-effs:

Drink Water Planning Graph EmptyCupAction EmptyCupAction FillCup EmptyCup EmptyCup FullCup FullCup FullCup Thirsty Thirsty Thirsty NotThirsty NotThirsty Drink Drink proposition time 1 action time 1 proposition time 2 action time 2 proposition time 3

Inconsistent Effects (mutex) The action deletes an add-effect of the other. Drink deletes Full_Cup which is an add-effect of Fill_Cup, so the two actions are mutex.

Interference (mutex) The action deletes a precondition of the other. EmptyCupAction deletes FullCup which is an precondition of Drink, so the two actions are mutex.

Competing Needs (mutex) If there is a precondition p of action a and a precondition q of action b that are mutex in the previous proposition level, the two actions are mutex. The precondition EmptyCup of action FillCup and the precondition FullCup of action Drink are mutex, so the two actions are mutex.

Inconsistent Support (mutex) If each action a having an add-effect of proposition p is marked as exclusive of each action b having an add-effect of proposition q, the two propositions are mutex. The proposition EmptyCup and the proposition FullCup are mutex at time step t if the are mutex at time step t-1, and any action creates EmptyCup are mutex with any action creates FullCup.