Classical Planning via Plan-space search

Slides:



Advertisements
Similar presentations
Language for planning problems
Advertisements

Planning
Artificial Intelligence 2005/06 Partial Order Planning.
Chapter 5 Plan-Space Planning.
Planning II: Partial Order Planning
Causal-link Planning II José Luis Ambite. 2 CS 541 Causal Link Planning II Planning as Search State SpacePlan Space AlgorithmProgression, Regression POP.
SHOP2: An HTN Planning System Nau, D.S., Au, T.C., Ilghami, O., Kuter, U., Murdock, J.W., Wu, D. and Yaman, F. (2003) "SHOP2: An HTN Planning System",
PLANNING Ivan Bratko Acknowledgement: Some of these slides were adapted from D. Nau’s course on planning.
Classical Planning via Plan-space search COMP3431 Malcolm Ryan.
Plan Generation & Causal-Link Planning 1 José Luis Ambite.
Chapter 4 - Planning 4.1 State Space Planning 4.2 Partial Order Planning 4.3Planning in the Real World Part II: Methods of AI.
Artificial Intelligence 2005/06
Classical Planning via State-space search COMP3431 Malcolm Ryan.
Planning Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 11.
1 Planning. R. Dearden 2007/8 Exam Format  4 questions You must do all questions There is choice within some of the questions  Learning Outcomes: 1.Explain.
Artificial Intelligence 2005/06 Planning: STRIPS.
Planning Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 11.
Automated Planning and HTNs Planning – A brief intro Planning – A brief intro Classical Planning – The STRIPS Language Classical Planning – The STRIPS.
Classical Planning via State-space search COMP3431 Malcolm Ryan.
Local Search Techniques for Temporal Planning in LPG Paper by Gerevini, Serina, Saetti, Spinoni Presented by Alex.
PLANNING Partial order regression planning Temporal representation 1 Deductive planning in Logic Temporal representation 2.
An Introduction to Artificial Intelligence CE Chapter 11 – Planning Ramin Halavati In which we see how an agent can take.
For Wednesday Read chapter 12, sections 3-5 Program 2 progress due.
1 Plan-Space Planning Dr. Héctor Muñoz-Avila Sources: Ch. 5 Appendix A Slides from Dana Nau’s lecture.
1 07. The planning problem 2  Inputs: 1. A description of the world state 2. The goal state description 3. A set of actions  Output: A sequence of actions.
April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning Michael Scherger Department of Computer Science Kent State University.
CS.462 Artificial Intelligence SOMCHAI THANGSATHITYANGKUL Lecture 07 : Planning.
Planning (Chapter 10)
CPS 270: Artificial Intelligence Planning Instructor: Vincent Conitzer.
1 Search vs. planning Situation calculus STRIPS operators Search vs. planning Situation calculus STRIPS operators.
Artificial Intelligence 2005/06 Partially Ordered Plans - or: "How Do You Put Your Shoes On?"
AI Automated Planning In A Nutshell Vitaly Mirkis March 4, 2013 Netanya Academic College Acknowledgments: Some slides are based slides of Prof. Carmel.
For Friday No reading Homework: –Chapter 11, exercise 4.
Planning (Chapter 10)
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Automated Planning and Decision Making Prof. Ronen Brafman Automated Planning and Decision Making Partial Order Planning Based on slides by: Carmel.
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.
Partial Order Planning 1 Brian C. Williams J/6.834J Sept 16 th, 2002 Slides with help from: Dan Weld Stuart Russell & Peter Norvig.
AI Lecture 17 Planning Noémie Elhadad (substituting for Prof. McKeown)
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning.
Planning in FOL Systems sequences of actions to achieve goals.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
ADVANCED PLANNING TECHNIQUES Dr. Adam Anthony Lecture 22.
The struggle for respect in a Planning Centric World… Stephen Smith Carnegie Mellon University.
Causal-link planning 1 Jim Blythe. 2 USC INFORMATION SCIENCES INSTITUTE Causal Link Planning The planning problem Inputs: 1. A description of the world.
CSE573 Autumn /11/98 Planning Administrative –PS3 due 2/23 –Midterm Friday Last time –regression planning algorithm –introduction to plan-space.
SNS College of Engineering Department of Computer Science and Engineering AI Planning Presented By S.Yamuna AP/CSE 5/23/2018 AI.
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
An Introduction to Artificial Intelligence CE 40417
Planning as Search State Space Plan Space Algorihtm Progression
Planning (Chapter 10) Slides by Svetlana Lazebnik, 9/2016 with modifications by Mark Hasegawa-Johnson, 9/2017
Classical Planning via State-space search
HW3: Planning.
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
For Wednesday Read Chapter 18, sections 1-3 Homework:
Planning (Chapter 10)
HW5: Planning.
Introduction Contents Sungwook Yoon, Postdoctoral Research Associate
Planning (Chapter 10)
i206: Lecture 13: Recursion, continued Trees
AI Planning.
Planning José Luis Ambite.
L11. Planning Agents and STRIPS
Causal-link planning 2 Jim Blythe.
CSE (c) S. Tanimoto, 2002 State-Space Search
Russell and Norvig: Chapter 11 CS121 – Winter 2003
CSE (c) S. Tanimoto, 2004 State-Space Search
Constraint Graph Binary CSPs
Implementation Plan system integration required for each iteration
Presentation transcript:

Classical Planning via Plan-space search COMP3431 Malcolm Ryan

Total-order planning The state-space planning technique produces totally-ordered plans, i.e. plans which consist of a strict sequence of actions. Often, however, there are many possible orderings of actions than have equivalent effects.

Example Consider the planning problem: INITIAL GOAL

Example There are many possible plans: move(blue, red, table) move(red, table, blue) move(green, yellow, table) move(yellow, table, green) move(green, yellow, table) move(yellow, table, green) move(blue, red, table) move(red, table, blue) move(blue, red, table) move(green, yellow, table) move(red, table, blue) move(yellow, table, green) move(green, yellow, table) move(blue, red, table) move(red, table, blue) move(yellow, table, green)

Example These plans share some common structure. In fact, they are all different interleavings of two separate plans: A partial-order plan is one which specifies only the necessary ordering information. One partial-order plan may have many total-orderings move(blue, red, table) move(red, table, blue) move(green, yellow, table) move(yellow, table, green)

Plan-space planning Plan-space planning is a kind of approach to planning that produces partial-order plans. It follows the least-commitment principle: Do not add constraints (eg action ordering) to a plan until it becomes necessary to ensure the correctness of the plan.

Planning as plan-space search A search through the space of plans. Nodes in this search represent incomplete plans – plans with some steps missing. Edges represent refinements – additional actions or constraints that can be added to make new plans.

Partial Order Planning Planning as search: Start with the empty plan While there are goals unsatisfied: Pick an unsatisfied goal (Generate) Add an action that satisfies it (Select) Resolve conflicts (Refine/Prune)

Partial Order Planning Example Four block problem: INITIAL GOAL

on(R,T) clear(R) clear(B) Causal link Finish Threat Open goals on(R,B) on(G,Y) move(G,T,Y) on(G,Y) not(clear(B)) on(R,B) move(R,T,B) on(R,T) clear(R) clear(B) on(G,T) clear(G) clear(Y) move(B,Y,T) on(B,T) clear(Y) Temporal constraint on(B,Y) clear(B) on(R,T) clear(R) on(B,Y) clear(B) on(G,T) clear(G) Start

The POP algorithm POP(,agenda) if agenda =  then return  select (ak,p) from agenda relevant = Providers(p) if (relevant = ) then fail choose ai from relevant add causal link (ai, p, ak) to 

The POP algorithm add temporal constraint: ai < ak if ai is new then add constraint: astart < ai < afinish add preconditions of ai to agenda for each new threat do choose a resolver r add r to  return POP(,agenda)

Binding constraints Temporal ordering is not the only constraint we can consider relaxing We can also relax the variable binding procedure, only binding action parameters as they become necessary.

Hierarchical Task Networks Plan-space planning can be augmented to use hierarchy. We augment our planning system with a collection of abstract tasks which are described with preconditions and effects like actions We have a plan library which includes one or more methods for each task. A method is a partial-order plan.

Planning with HTNs When we plan with HTNs we extend the POP algorithm to include tasks and their associated methods. We can choose tasks as resolvers for open goals. We then have to choose a method to implement that task.

Example Task Example task in blocksworld: SWAP(b1, b2) pre: on(b1, b2), clear(b1) add: on(b2, b1), clear(b2) Before After

Example Methods SwapWithTable(b1, b2) SwapWithBlock(b1, b2, b3) pre: on(b1, b2), on_table(b2) clear(b1) add: on(b2, b1), clear(b2) SwapWithBlock(b1, b2, b3) pre: on(b1, b2), on_table(b2) clear(b1), clear(b3)

SwapWithTable(b1, b2) Finsh on(b2,b1) clear(b2) on(b2,b1) move_from_table(b2, b1) on_table(b2) clear(b1) clear(b2) on_table(b1) clear(b2) move_to_table(b1, b2) clear(b1) on(b1,b2) on_table(b2) clear(b1) on(b1,b2) Start

SwapWithBlock(b1, b2, b3) Finsh on(b2,b1) clear(b2) on(b2,b1) move_from_table(b2, b1) on_table(b2) clear(b1) clear(b2) on_table(b1) clear(b2) move (b1, b2, b3) clear(b1) on(b1,b2) clear(b3) on_table(b2) clear(b1) on(b1,b2) clear(b3) Start

HTN Planning Example Consider the planning problem: INITIAL GOAL

on(R,B) on(Y,T) clear(Y) Finish on(R,B) on(Y,T) clear(Y) on(R,B) clear(R) Swap (B, R) on(B,R) clear(B) on(B,R) clear(B) on(R,T) on(Y,T) clear(Y) Start

on(R,B) on(Y,T) clear(Y) Finish on(R,B) on(Y,T) clear(Y) on(R,B) clear(R) SwapWithBlock(B, R, Y) on(B,R) clear(B) on(R,T) clear(Y) on(B,R) clear(B) on(R,T) on(Y,T) clear(Y) Start

on(B,R) clear(B) on(R,T) on(Y,T) clear(Y) Start Finish on(R,B) on(Y,T) clear(Y) SwapWithBlock(B, R, Y) on(R,B) move_from_table(R, B) on(R,T) clear(B) clear(R) on(B,Y) clear(R) move(B, R, Y) clear(B) on(B,R) clear(Y) on(B,R) clear(B) on(R,T) on(Y,T) clear(Y) Start

on(R,B) on(Y,T) clear(Y) Finish on(R,B) on(Y,T) clear(Y) on(R,B) clear(R) SwapWithTable(B, R) on(B,R) clear(B) on(R,T) on(B,R) clear(B) on(R,T) on(Y,T) clear(Y) Start

on(R,B) on(Y,T) clear(Y) Finish on(R,B) on(Y,T) clear(Y) SwapWithTable(B, R) on(R,B) move_from_table(R, B) on(R,T) clear(B) clear(R) on(B,T) clear(R) move_to_table(B, R) clear(B) on(B,R) on(B,R) clear(B) on(R,T) on(Y,T) clear(Y) Start

Things to consider Interleaving tasks Re-using subtasks Recursive HTNs