For Friday No reading Homework: –Chapter 11, exercise 4.

Slides:



Advertisements
Similar presentations
Language for planning problems
Advertisements

Planning
Planning III Introduction to Artificial Intelligence CS440/ECE448 Lecture 16.
Chapter 5 Plan-Space Planning.
Planning  We have done a sort of planning already  Consider the “search” applied to general problem solving  The sequence of moves with the “Jugs” was.
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.
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 II S. Russell and P. Norvig Artificial Intelligence: A Modern Approach Chapter 11: Planning.
Planning Search vs. planning STRIPS operators Partial-order planning.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Planning Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 11.
Planning: Part 2 Partial Order Planning COMP151 April 2, 2007.
CS 460, Session 20 1 Planning Search vs. planning STRIPS operators Partial-order planning.
Artificial Intelligence Chapter 11: Planning
1 Planning Adapted from Tim Finin, UMBC, Marie desJardins Some material adopted from notes by Andreas Geyer-Schulz and Chuck Dyer.
CS 561, Session Planning Search vs. planning STRIPS operators Partial-order planning.
Planning Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 11.
Planning Department of Computer Science & Engineering Indian Institute of Technology Kharagpur.
PLANNING Partial order regression planning Temporal representation 1 Deductive planning in Logic Temporal representation 2.
For Wednesday Read chapter 12, sections 3-5 Program 2 progress due.
Course Overview  What is AI?  What are the Major Challenges?  What are the Main Techniques?  Where are we failing, and why?  Step back and look at.
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.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
22/11/04 AIPP Lecture 16: More Planning and Operators1 More Planning Artificial Intelligence Programming in Prolog.
CS.462 Artificial Intelligence SOMCHAI THANGSATHITYANGKUL Lecture 07 : Planning.
For Friday Finish Chapter 18 Homework: –Chapter 18, exercises 1-2.
Planning, page 1 CSI 4106, Winter 2005 Planning Points Elements of a planning problem Planning as resolution Conditional plans Actions as preconditions.
Planning (Chapter 10)
Partial Ordering Planning Lecture Module 10. Partial Ordering Any planning algorithm that can place two actions into a plan without specifying which comes.
For Monday Read chapter 12, sections 1-2 Homework: –Chapter 10, exercise 3.
Planning, Executing, Sensing, and Replanning for Information Gathering Presented by Hector Gonzalez (Based on slides from Craig Knoblock and L. Joskowicz)
For Friday No new reading Logic and Resolution Homework.
For Friday Finish chapter 10 No homework. Program 2 Any questions?
1 Planning Chapter 10 Some material adopted from notes by Tim Finin, Marie desJardins Andreas Geyer-Schulz, and Chuck Dyer.
Planning (Chapter 10)
Lecture 3-1CS251: Intro to AI/Lisp II Planning to Learn, Learning to Plan.
Automated Planning and Decision Making Prof. Ronen Brafman Automated Planning and Decision Making Partial Order Planning Based on slides by: Carmel.
Introduction to Planning Dr. Shazzad Hosain Department of EECS North South Universtiy
Partial Order Planning 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:
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.
For Monday Make sure you have read chapter 11 through section 3. No homework.
Planning I: Total Order Planners Sections
Consider the task get milk, bananas, and a cordless drill.
ADVANCED PLANNING TECHNIQUES Dr. Adam Anthony Lecture 22.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
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.
Planning (Chapter 10) Slides by Svetlana Lazebnik, 9/2016 with modifications by Mark Hasegawa-Johnson, 9/2017
For Wednesday Read Chapter 18, sections 1-3 Homework:
Planning (Chapter 10)
Planning Search vs. planning STRIPS operators Partial-order planning
Dana S. Nau University of Maryland 3:10 AM September 12, 2018
Planning (Chapter 10)
Dana S. Nau University of Maryland 1:50 AM September 14, 2018
Consider the task get milk, bananas, and a cordless drill
Planning Search vs. planning STRIPS operators Partial-order planning
Planning Search vs. planning STRIPS operators Partial-order planning
AI Planning.
Planning José Luis Ambite.
For Friday Read Chapter 11, section 3
Planning Chapter
© James D. Skrentny from notes by C. Dyer, et. al.
Course Outline Advanced Introduction Expert Systems Topics Problem
Causal-link planning 2 Jim Blythe.
Presentation transcript:

For Friday No reading Homework: –Chapter 11, exercise 4

Program 3

STRIPS Algorithm STRIPS(init­state, goals, ops) Let current­state be init­state; For each goal in goals do If goal cannot be proven in current state Pick an operator instance, op, s.t. goal  adds(op); /* Solve preconditions */ STRIPS(current­state, preconds(op), ops); /* Apply operator */ current­state := current­state + adds(op) ­ dels(ops); /* Patch any clobbered goals */ Let rgoals be any goals which are not provable in current­state; STRIPS(current­state, rgoals, ops).

Algorithm Notes The “pick operator instance” step involves a nondeterministic choice that is backtracked to if a dead­end is ever encountered. Employs chronological backtracking (depth­first search), when it reaches a dead­ end, backtrack to last decision point and pursue the next option.

Norvig’s Implementation Simple propositional (no variables) Lisp implementation of STRIPS. #S(OP ACTION (MOVE C FROM TABLE TO B) PRECONDS ((SPACE ON C) (SPACE ON B) (C ON TABLE)) ADD­LIST ((EXECUTING (MOVE C FROM TABLE TO B)) (C ON B)) DEL­LIST ((C ON TABLE) (SPACE ON B))) Commits to first sequence of actions that achieves a subgoal (incomplete search). Prefers actions with the most preconditions satisfied in the current state. Modified to to try and re-achieve any clobbered subgoals (only once).

STRIPS Results ; Invert stack (good goal ordering) > (gps '((a on b)(b on c) (c on table) (space on a) (space on table)) '((b on a) (c on b))) Goal: (B ON A) Consider: (MOVE B FROM C TO A) Goal: (SPACE ON B) Consider: (MOVE A FROM B TO TABLE) Goal: (SPACE ON A) Goal: (SPACE ON TABLE) Goal: (A ON B) Action: (MOVE A FROM B TO TABLE)

Goal: (SPACE ON A) Goal: (B ON C) Action: (MOVE B FROM C TO A) Goal: (C ON B) Consider: (MOVE C FROM TABLE TO B) Goal: (SPACE ON C) Goal: (SPACE ON B) Goal: (C ON TABLE) Action: (MOVE C FROM TABLE TO B) ((START) (EXECUTING (MOVE A FROM B TO TABLE)) (EXECUTING (MOVE B FROM C TO A)) (EXECUTING (MOVE C FROM TABLE TO B)))

; Invert stack (bad goal ordering) > (gps '((a on b)(b on c) (c on table) (space on a) (space on table)) '((c on b)(b on a))) Goal: (C ON B) Consider: (MOVE C FROM TABLE TO B) Goal: (SPACE ON C) Consider: (MOVE B FROM C TO TABLE) Goal: (SPACE ON B) Consider: (MOVE A FROM B TO TABLE) Goal: (SPACE ON A) Goal: (SPACE ON TABLE) Goal: (A ON B) Action: (MOVE A FROM B TO TABLE) Goal: (SPACE ON TABLE) Goal: (B ON C) Action: (MOVE B FROM C TO TABLE)

Goal: (SPACE ON B) Goal: (C ON TABLE) Action: (MOVE C FROM TABLE TO B) Goal: (B ON A) Consider: (MOVE B FROM TABLE TO A) Goal: (SPACE ON B) Consider: (MOVE C FROM B TO TABLE) Goal: (SPACE ON C) Goal: (SPACE ON TABLE) Goal: (C ON B) Action: (MOVE C FROM B TO TABLE) Goal: (SPACE ON A) Goal: (B ON TABLE) Action: (MOVE B FROM TABLE TO A)

Must reachieve clobbered goals: ((C ON B)) Goal: (C ON B) Consider: (MOVE C FROM TABLE TO B) Goal: (SPACE ON C) Goal: (SPACE ON B) Goal: (C ON TABLE) Action: (MOVE C FROM TABLE TO B) ((START) (EXECUTING (MOVE A FROM B TO TABLE)) (EXECUTING (MOVE B FROM C TO TABLE)) (EXECUTING (MOVE C FROM TABLE TO B)) (EXECUTING (MOVE C FROM B TO TABLE)) (EXECUTING (MOVE B FROM TABLE TO A)) (EXECUTING (MOVE C FROM TABLE TO B)))

STRIPS on Sussman Anomaly > (gps '((c on a)(a on table)( b on table) (space on c) (space on b) (space on table)) '((a on b)(b on c))) Goal: (A ON B) Consider: (MOVE A FROM TABLE TO B) Goal: (SPACE ON A) Consider: (MOVE C FROM A TO TABLE) Goal: (SPACE ON C) Goal: (SPACE ON TABLE) Goal: (C ON A) Action: (MOVE C FROM A TO TABLE) Goal: (SPACE ON B) Goal: (A ON TABLE) Action: (MOVE A FROM TABLE TO B) Goal: (B ON C)

Consider: (MOVE B FROM TABLE TO C) Goal: (SPACE ON B) Consider: (MOVE A FROM B TO TABLE) Goal: (SPACE ON A) Goal: (SPACE ON TABLE) Goal: (A ON B) Action: (MOVE A FROM B TO TABLE) Goal: (SPACE ON C) Goal: (B ON TABLE) Action: (MOVE B FROM TABLE TO C) Must reachieve clobbered goals: ((A ON B)) Goal: (A ON B) Consider: (MOVE A FROM TABLE TO B)

Goal: (SPACE ON A) Goal: (SPACE ON B) Goal: (A ON TABLE) Action: (MOVE A FROM TABLE TO B) ((START) (EXECUTING (MOVE C FROM A TO TABLE)) (EXECUTING (MOVE A FROM TABLE TO B)) (EXECUTING (MOVE A FROM B TO TABLE)) (EXECUTING (MOVE B FROM TABLE TO C)) (EXECUTING (MOVE A FROM TABLE TO B)))

How Long Do 4 Blocks Take? ;; Stack four clear blocks (good goal ordering) > (time (gps '((a on table)(b on table) (c on table) (d on table)(space on a) (space on b) (space on c) (space on d)(space on table)) '((c on d)(b on c)(a on b)))) User Run Time = 0.00 seconds ((START) (EXECUTING (MOVE C FROM TABLE TO D)) (EXECUTING (MOVE B FROM TABLE TO C)) (EXECUTING (MOVE A FROM TABLE TO B)))

;; Stack four clear blocks (bad goal ordering) > (time (gps '((a on table)(b on table) (c on table) (d on table)(space on a) (space on b) (space on c) (space on d)(space on table)) '((a on b)(b on c) (c on d)))) User Run Time = 0.06 seconds ((START) (EXECUTING (MOVE A FROM TABLE TO B)) (EXECUTING (MOVE A FROM B TO TABLE)) (EXECUTING (MOVE B FROM TABLE TO C)) (EXECUTING (MOVE B FROM C TO TABLE)) (EXECUTING (MOVE C FROM TABLE TO D)) (EXECUTING (MOVE A FROM TABLE TO B)) (EXECUTING (MOVE A FROM B TO TABLE)) (EXECUTING (MOVE B FROM TABLE TO C)) (EXECUTING (MOVE A FROM TABLE TO B)))

State-Space Planners State­space (situation space) planning algorithms search through the space of possible states of the world searching for a path that solves the problem. They can be based on progression: a forward search from the initial state looking for the goal state. Or they can be based on regression: a backward search from the goals towards the initial state STRIPS is an incomplete regression­based algorithm.

Plan-Space Planners Plan­space planners search through the space of partial plans, which are sets of actions that may not be totally ordered. Partial­order planners are plan­based and only introduce ordering constraints as necessary (least commitment) in order to avoid unnecessarily searching through the space of possible orderings

Partial Order Plan Plan which does not specify unnecessary ordering. Consider the problem of putting on your socks and shoes.

Plans A plan is a three tuple –A: A set of actions in the plan, {A 1,A 2,...A n } –O: A set of ordering constraints on actions {A i <A j, A k <A l,...A m <A n }. These must be consistent, i.e. there must be at least one total ordering of actions in A that satisfy all the constraints. –L: a set of causal links showing how actions support each other

Causal Links and Threats A causal link, A p  Q A c, indicates that action A p has an effect Q that achieves precondition Q for action A c. A threat, is an action A t that can render a causal link A p  Q A c ineffective because: –O  {A P < A t < A c } is consistent –A t has ¬Q as an effect

Threat Removal Threats must be removed to prevent a plan from failing Demotion adds the constraint A t < A p to prevent clobbering, i.e. push the clobberer before the producer Promotion adds the constraint A c < A t to prevent clobbering, i.e. push the clobberer after the consumer

Initial (Null) Plan Initial plan has –A={ A 0, A  } –O={A 0 < A  } –L ={} A 0 (Start) has no preconditions but all facts in the initial state as effects. A  (Finish) has the goal conditions as preconditions and no effects.

Example Op( Action: Go(there); Precond: At(here); Effects: At(there), ¬At(here) ) Op( Action: Buy(x), Precond: At(store), Sells(store,x); Effects: Have(x) ) A 0 : –At(Home) Sells(SM,Banana) Sells(SM,Milk) Sells(HWS,Drill) A  –Have(Drill) Have(Milk) Have(Banana) At(Home)

POP Algorithm Stated as a nondeterministic algorithm where choices must be made. Various search methods can be used to explore the space of possible choices. Maintains an agenda of goals that need to be supported by links, where an agenda element is a pair where Q is a precondition of A i that needs supporting. Initialize plan to null plan and agenda to conjunction of goals (preconditions of Finish). Done when all preconditions of every action in plan are supported by causal links which are not threatened.

POP(, agenda) 1) Termination: If agenda is empty, return. Use topological sort to determine a totally ordered plan. 2) Goal Selection: Let be a pair on the agenda 3) Action Selection: Let A add be a nondeterministically chosen action that adds Q. It can be an existing action in A or a new action. If there is no such action return failure. L ’ = L  {A add  Q A need } O ’ = O  {A add < A need } if A add is new then A ’ = A  {A add } and O ’ =O ’ È {A 0 < A add <A  } else A ’ = A

4) Update goal set: Let agenda ’ = agenda - { } If A add is new then for each conjunct Q i of its precondition, add to agenda ’ 5) Causal link protection: For every action A t that threatens a causal link A p  Q A c add an ordering constraint by choosing nondeterministically either (a) Demotion: Add A t < A p to O ’ (b) Promotion: Add A c < A t to O ’ If neither constraint is consistent then return failure. 6) Recurse: POP(, agenda ’ )

Example Op( Action: Go(there); Precond: At(here); Effects: At(there), ¬At(here) ) Op( Action: Buy(x), Precond: At(store), Sells(store,x); Effects: Have(x) ) A 0 : –At(Home) Sells(SM,Banana) Sells(SM,Milk) Sells(HWS,Drill) A  –Have(Drill) Have(Milk) Have(Banana) At(Home)

Example Steps Add three buy actions to achieve the goals Use initial state to achieve the Sells preconditions Then add Go actions to achieve new pre- conditions

Handling Threat Cannot resolve threat to At(Home) preconditions of both Go(HWS) and Go(SM). Must backtrack to supporting At(x) precondition of Go(SM) from initial state At(Home) and support it instead from the At(HWS) effect of Go(HWS). Since Go(SM) still threatens At(HWS) of Buy(Drill) must promote Go(SM) to come after Buy(Drill). Demotion is not possible due to causal link supporting At(HWS) precondition of Go(SM)

Example Continued Add Go(Home) action to achieve At(Home) Use At(SM) to achieve its precondition Order it after Buy(Milk) and Buy(Banana) to resolve threats to At(SM)