Planning José Luis Ambite.

Slides:



Advertisements
Similar presentations
REVIEW : Planning To make your thinking more concrete, use a real problem to ground your discussion. –Develop a plan for a person who is getting out of.
Advertisements

Language for planning problems
Planning
Chapter 5 Plan-Space Planning.
1 Planning Chapter CMSC 471 Adapted from slides by Tim Finin and Marie desJardins. Some material adopted from notes by Andreas Geyer-Schulz,
Planning II: Partial Order Planning
Planning Module THREE: Planning, Production Systems,Expert Systems, Uncertainty Dr M M Awais.
Causal-link Planning II José Luis Ambite. 2 CS 541 Causal Link Planning II Planning as Search State SpacePlan Space AlgorithmProgression, Regression POP.
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 Graphplan José Luis Ambite * [* based in part on slides by Jim Blythe and Dan Weld]
Classical Planning via Plan-space search COMP3431 Malcolm Ryan.
Plan Generation & Causal-Link Planning 1 José Luis Ambite.
Probabilistic Planning Jim Blythe November 6th. 2 CS 541 Probabilistic planning A slide from August 30th: Assumptions (until October..) Atomic time All.
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.
Probabilistic Planning Jim Blythe. 2 CS 541 Probabilistic planning Some ‘classical planning’ assumptions Atomic time All effects are immediate Deterministic.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Artificial Intelligence 2005/06
Planning Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 11.
Artificial Intelligence Chapter 11: Planning
Planning CSE 473. © Daniel S. Weld Topics Agency Problem Spaces Search Knowledge Representation Reinforcement Learning InferencePlanning Supervised.
Planning II CSE 473. © Daniel S. Weld 2 Logistics Tournament! PS3 – later today Non programming exercises Programming component: (mini project) SPAM detection.
Planning Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 11.
CS121 Heuristic Search Planning CSPs Adversarial Search Probabilistic Reasoning Probabilistic Belief Learning.
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.
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.
(Classical) AI Planning. Some Examples Route search: Find a route between Lehigh University and the Naval Research Laboratory Project management: Construct.
Planning (Chapter 10)
Midterm Review Prateek Tandon, John Dickerson. Basic Uninformed Search (Summary) b = branching factor d = depth of shallowest goal state m = depth of.
For Monday Read chapter 12, sections 1-2 Homework: –Chapter 10, exercise 3.
For Friday No reading Homework: –Chapter 11, exercise 4.
Automated Planning and Decision Making Prof. Ronen Brafman Automated Planning and Decision Making Partial Order Planning Based on slides by: Carmel.
Automated Planning Dr. Héctor Muñoz-Avila. What is Planning? Classical Definition Domain Independent: symbolic descriptions of the problems and the domain.
Introduction to Planning Dr. Shazzad Hosain Department of EECS North South Universtiy
AI Lecture 17 Planning Noémie Elhadad (substituting for Prof. McKeown)
Partial Order Plan Execution 1 Brian C. Williams J/6.834J Sept. 16 th, 2002 Slides with help from: Dan Weld Stuart Russell & Peter Norvig.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
(Classical) AI Planning. General-Purpose Planning: State & Goals Initial state: (on A Table) (on C A) (on B Table) (clear B) (clear C) Goals: (on C Table)
Planning I: Total Order Planners Sections
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.
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
For Wednesday Read Chapter 18, sections 1-3 Homework:
Introduction Contents Sungwook Yoon, Postdoctoral Research Associate
Planning (Chapter 10)
Class #17 – Thursday, October 27
AI Planning.
Graphplan/ SATPlan Chapter
Problem Solving and Searching
Planning CSE 573 A handful of GENERAL SEARCH TECHNIQUES lie at the heart of practically all work in AI We will encounter the SAME PRINCIPLES again and.
Class #19 – Monday, November 3
Problem Solving and Searching
Causal-link planning 2 Jim Blythe.
CSE (c) S. Tanimoto, 2002 State-Space Search
Graphplan/ SATPlan Chapter
Graphplan/ SATPlan Chapter
Search.
CSE (c) S. Tanimoto, 2004 State-Space Search
Search.
An Introduction to Planning Graph
[* based in part on slides by Jim Blythe and Dan Weld]
Presentation transcript:

Planning José Luis Ambite

Review Frame problem: Qualification problem Ramification problem How to specify what does not change Qualification problem Hard to specify all preconditions Ramification problem Hard to specify all effects

Domain-Independent Planning Inputs: Domain Action Theory Problem Instance Description of (initial) state of the world Specification of desired goal behavior Output: sequence of actions that executed in initial state satisfy goal

“Classical Planning” Assumptions Atomic Time Deterministic Fully Observable Static Goals of attainment

Example Problem Instance: “Sussman Anomaly” Initial State: Goal: Initial State: (on-table A) (on C A) (on-table B) (clear B) (clear C) Goal: (on A B) (on B C)

Example Problem Instance: “Sussman Anomaly” Initial State: Goal: Initial State: (and (on-table A) (on C A) (on-table B) (clear B) (clear C)) Goal: (and (on A B) (on B C))

Action Representation: Propositional STRIPS Move-C-from-A-to-Table: preconditions: (on C A) (clear C) effects: add (on-table C) delete (on C A) add (clear A) Solution to frame problem: explicit effects are the only changes to the state.

Action Representation: Propositional STRIPS Move-C-from-A-to-Table: preconditions: (and (on C A) (clear C)) effects: (and (on-table C) (not (on C A)) (clear A)) Solution to frame problem: explicit effects are the only changes to the state.

Plan Generation: Search space of world states Planning as a (graph) search problem Nodes: world states Arcs: actions Solution: path from the initial state to one state that satisfies the goal Initial state is fully specified There are many goal states

Search Space: Blocks World

Regression: Backward Search (I <- G) RegWS(init-state, current-goals, actions, path) If init-state satisfies current-goals, then return path else a =choose (actions), s.t. some effect of a satisfies one of current-goals If no such a, then return failure [unachievable*] If some effect of a contradicts some of current-goals, then return failure [inconsistent state] CG’ = current-goals – effects(a) + preconditions(a) If current-goals  CG’, then return failure [useless*] RegWS(init-state, CG’, actions, concatenate(a,path)) First call: RegWS(IS, G, Actions, ())

Progression: Forward search (I -> G) ProgWS(state, goals, actions, path) If state satisfies goals, then return path else a = choose(actions), s.t. preconditions(a) satisfied in state if no such a, then return failure else return ProgWS(apply(a, state), goals, actions, concatenate(path, a)) First call: ProgWS(IS, G, Actions, ())

Progression Example: Sussman Anomaly I: (on-table A) (on C A) (on-table B) (clear B) (clear C) G: (on A B) (on B C) P(I, G, BlocksWorldActions, ()) P(S1, G, BWA, (move-C-from-A-to-table)) P(S2, G, BWA, (move-C-from-A-to-table, move-B-from-table-to-C)) P(S3, G, BWA, (move-C-from-A-to-table, move-B-from-table-to-C, move-A-from-table-to-B)) Non-Deterministic Choice! G  S3 => Success!

Regression Example: Sussman Anomaly I: (on-table A) (on C A) (on-table B) (clear B) (clear C) G: (on A B) (on B C) R(I, G, BlocksWorldActions, ()) R(I, ((clear A) (on-table A) (clear B) (on B C)), BWA, (move-A-from-table-to-B)) R(I, ((clear A) (on-table A) (clear B) (clear C), (on-table B)), BWA, (move-B-from-table-to-C, move-A-from-table-to-B)) R(I, ((on-table A) (clear B) (clear C) (on-table B) (on C A)), BWA, (move-C-from-A-to-table, move-B-from-table-to-C, move-A-from-table-to-B)) Non-Deterministic Choice! current-goals  I => Success!

Regression Example: Sussman Anomaly I: (on-table A) (on C A) (on-table B) (clear B) (clear C) G: (on A B) (on B C) P(I, G, BlocksWorldActions, ()) P(S1, G, BWA, (move-C-from-A-to-table)) P(S2, G, BWA, (move-C-from-A-to-table, move-B-from-table-to-C)) P(S3, G, BWA, (move-C-from-A-to-table, move-B-from-table-to-C, move-A-from-table-to-B)) Non-Deterministic Choice! G  S3 => Success!

Progression vs. Regression Both algorithms are: Sound: the result plan is valid Complete: if valid plan exists, they find one Non-deterministic choice => search! Brute force: DFS, BFS, Iterative Deepening, .., Heuristic: A*, IDA*, … Complexity: O(bn) worst-case b = branching factor, n = |“choose”| Regression: often smaller b, focused by goals Progression: full state to compute heuristics

Total-Order vs Partial-Order Plans

Plan Generation: Search space of plans Partial-Order Planning (POP) Nodes are partial plans Arcs/Transitions are plan refinements Solution is a node (not a path). Principle of “Least commitment” e.g. do not commit to an order of actions until it is required

Partial Plan Representation Plan = (A, O, L), where A: set of actions in the plan O: temporal orderings between actions (a < b) L: causal links linking actions via a literal Causal Link: Action Ac (consumer) has precondition Q that is established in the plan by Ap (producer). move-a-from-b-to-table move-c-from-d-to-b Ap Ac Q (clear b)

Threats to causal links Step At threatens link (Ap, Q, Ac) if: 1. At has (not Q) as an effect, and 2. At could come between Ap and Ac, i.e. O  (Ap < At < Ac ) is consistent What’s an example of an action that threatens the link example from the last slide?

Initial Plan For uniformity, represent initial state and goal with two special actions: A0: no preconditions, initial state as effects, must be the first step in the plan. A: no effects goals as preconditions must be the last step in the plan.

POP algorithm Termination Goal Selection Action Selection Update goals POP((A, O, L), agenda, actions) If agenda = () then return (A, O, L) Pick (Q, aneed) from agenda aadd = choose(actions) s.t. Q effects(aadd) If no such action aadd exists, fail. L’ := L  (aadd, Q, aneed) ; O’ := O  (aadd < aneed) agenda’ := agenda - (Q, aneed) If aadd is new, then A := A  aadd and P preconditions(aadd), add (P, aadd) to agenda’ For every action at that threatens any causal link (ap, Q, ac) in L’ choose to add at < ap or ac < at to O. If neither choice is consistent, fail. POP((A’, O’, L’), agenda, actions) Termination Goal Selection Action Selection Update goals Protect causal links Demotion: at < ap Promotion: ac < at

POP POP is sound and complete POP Plan is a solution if: All preconditions are supported (by causal links), i.e., no open conditions. No threats Consistent temporal ordering By construction, the POP algorithm reaches a solution plan

POP example: Sussman Anomaly (on C A) (on-table A) (on-table B) (clear C) (clear B) (on A B) (on B C) Ainf

Work on open precondition (on B C) and (clear B) A0 (on C A) (on-table A) (on-table B) (clear C) (clear B) A1: move B from Table to C (on B C) -(on-table B) -(clear C) (clear B) (clear C) (on-table B) (on A B) (on B C) Ainf

Work on open precondition (on A B) (on C A) (on-table A) (on-table B) (clear C) (clear B) (clear B) (clear C) (on-table B) A1: move B from Table to C (clear A) (clear B) (on-table A) A2: move A from Table to B -(on-table B) -(clear C) (on B C) -(on-table A) -(clear B) (on A B) (on A B) (on B C) Ainf

Protect causal links (A0, (clear B), A1) theatened by A2 (on C A) (on-table A) (on-table B) (clear C) (clear B) (A0, (clear B), A1) theatened by A2 --> Promotion (clear B) (clear C) (on-table B) A1: move B from Table to C (clear A) (clear B) (on-table A) A2: move A from Table to B -(on-table B) -(clear C) (on B C) -(on-table A) -(clear B) (on A B) (on A B) (on B C) Ainf

Work on open precondition (clear A) and protect links A0 (on C A) (on-table A) (on-table B) (clear C) (clear B) A3: move C from A to Table (clear C) (on C A) -(on C A) (on-table C) (clear A) (clear B) (clear C) (on-table B) A1: move B from Table to C (clear A) (clear B) (on-table A) A2: move A from Table to B -(on-table B) -(clear C) (on B C) -(on-table A) -(clear B) (on A B) (on A B) (on B C) Ainf

Final plan A0 A3: move C from A to Table A1: move B from Table to C (on C A) (on-table A) (on-table B) (clear C) (clear B) (on C A) (clear C) A3: move C from A to Table -(on C A) (on-table C) (clear A) (clear B) (clear C) (on-table B) A1: move B from Table to C (clear A) (clear B) (on-table A) A2: move A from Table to B -(on-table B) -(clear C) (on B C) -(on-table A) -(clear B) (on A B) (on A B) (on B C) Ainf

Partial-Order Planning vs State-Space Planning Complexity: O(bn) worst-case Non-deterministic choices (n): ProgWS, RegWS: n = |actions| POP: n = |preconditions| + |link protection| Generally an action has several preconditions Branching factor (b) POP has smaller b: No backtrack due to goal ordering Least commitment: no premature step ordering Does POP make the least possible amount of commitment?