Chapter 5 Plan-Space Planning

21
1 Lecture slides for Automated Planning nder the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ Chapter 5 Plan-Space Planning Dana S. Nau CMSC 722, AI Planning University of Maryland, Fall 2004 Lecture slides for Automated Planning: Theory and Practice

description

Lecture slides for Automated Planning: Theory and Practice. Chapter 5 Plan-Space Planning. Dana S. Nau CMSC 722, AI Planning University of Maryland, Fall 2004. Motivation. Problem with state-space search - PowerPoint PPT Presentation

Transcript of Chapter 5 Plan-Space Planning

Page 1: Chapter 5  Plan-Space Planning

1Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Chapter 5 Plan-Space Planning

Dana S. Nau

CMSC 722, AI PlanningUniversity of Maryland, Fall 2004

Lecture slides forAutomated Planning: Theory and Practice

Page 2: Chapter 5  Plan-Space Planning

2Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Problem with state-space search In some cases we may try many different orderings of the same

actions before realizing there is no solution

Least-commitment strategy: don’t commit to orderings, instantiations, etc., until necessary

Motivation

a bc

b a

b a ba cb c ac b

goal

………

dead end

dead end

dead end

dead enddead enddead end

Page 3: Chapter 5  Plan-Space Planning

3Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Outline

Basic idea Open goals Threats The PSP algorithm Long example Comments

Page 4: Chapter 5  Plan-Space Planning

4Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Plan-Space Planning - Basic Idea Backward search from the goal Each node of the search space is a partial plan

» A set of partially-instantiated actions» A set of constraints

Make more and more refinements,until we have a solution

Types of constraints: precedence constraint:

a must precede b binding constraints:

» inequality constraints, e.g., v1 ≠ v2 or v ≠ c» equality constraints (e.g., v1 = v2 or v = c) or substitutions

causal link:» use action a to establish the precondition p needed by action b

How to tell we have a solution: no more flaws in the plan Will discuss flaws and how to resolve them

a(x)Precond: …Effects: p(x)

b(y)Precond: p(y)Effects: …

c(x)Precond: p(x)Effects: …

p(x)

x ≠ y

Page 5: Chapter 5  Plan-Space Planning

5Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Flaw: An action a has a precondition p that we haven’t

decided how to establish

Resolving the flaw: Find an action b

• (either already in the plan, or insert it) that can be used to establish p

• can precede a and produce p Instantiate variables Create a causal link

a(y)Precond: …Effects: p(y)

c(x)Precond: p(x)Effects: …

a(x)Precond: …Effects: p(x)

c(x)Precond: p(x)Effects: …

p(x)

Open Goal

Page 6: Chapter 5  Plan-Space Planning

6Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Threat

Flaw: a deleted-condition interaction Action a establishes a condition (e.g., p(x)) for action b Another action c is capable of deleting this condition p(x)

Resolving the flaw: impose a constraint to prevent c from deleting p(x)

Three possibilities: Make b precede c Make c precede a Constrain variable(s)

to prevent c fromdeleting p(x)

a(x)Precond: …Effects: p(x)

c(y)Precond: …Effects: p(y)

b(x)Precond: p(x)Effects: …

p(x)

Page 7: Chapter 5  Plan-Space Planning

7Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

The PSP Procedure

PSP is both sound and complete

Page 8: Chapter 5  Plan-Space Planning

8Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Example Similar (but not identical) to an example in Russell and Norvig’s

Artificial Intelligence: A Modern Approach (1st edition) Operators:

Start

Precond: none

Effects: At(Home), sells(HWS,Drill), Sells(SM,Milk), Sells(SM,Banana)

Finish

Precond: Have(Drill), Have(Milk), Have(Banana), At(Home) Go(l,m)

Precond: At(l)

Effects: At(m), At(l) Buy(p,s)

Precond: At(s), Sells(s,p)

Effects: Have(p)

Page 9: Chapter 5  Plan-Space Planning

9Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Example (continued)

Initial plan

Sells(SM,Milk), Sells(SM,Bananas) At(Home), Sells(HWS,Drill),

Have(Bananas), At(Home)Have(Drill), Have(Milk),

Page 10: Chapter 5  Plan-Space Planning

10Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Example (continued)

The only possible ways to establish the “Have” preconditions

At(s1), Sells(s1,Drill) At(s2), Sells(s2,Milk) At(s3), Sells(s3,Bananas)

Buy(Drill, s1) Buy(Milk, s2) Buy(Bananas, s2)

Have(Drill), Have(Milk), Have(Bananas), At(Home)

Page 11: Chapter 5  Plan-Space Planning

11Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Example (continued)

The only possible way to establish the “Sells” preconditions

Buy(Drill,HWS) Buy(Milk,SM) Buy(Bananas,SM)

At(SM), Sells(SM,Milk)At(HWS), Sells(HWS,Drill) At(SM), Sells(SM,Bananas)

Have(Drill), Have(Milk), Have(Bananas), At(Home)

Page 12: Chapter 5  Plan-Space Planning

12Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

At(SM), Sells(SM,Milk)At(HWS), Sells(HWS,Drill) At(SM), Sells(SM,Bananas)

At(x)

Buy(Milk,SM) Buy(Bananas,SM)

At(l2)

Go(l2, SM)

At(l1)

Go(l1,HWS)

Buy(Drill,HWS)

Have(Drill), Have(Milk), Have(Bananas), At(Home)

Example (continued)

The only ways to establish At(HWS) and At(SM) Note the threats

Page 13: Chapter 5  Plan-Space Planning

13Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

To resolve the third threat, make Buy(Drill) precede Go(SM) This resolves all three threats

Example (continued)

At(SM), Sells(SM,Milk)At(HWS), Sells(HWS,Drill) At(SM), Sells(SM,Bananas)

At(x)

Buy(Milk,SM) Buy(Bananas,SM)

At(l2)

Go(l2, SM)

At(l1)

Go(l1,HWS)

Buy(Drill,HWS)

Have(Drill), Have(Milk), Have(Bananas), At(Home)

Page 14: Chapter 5  Plan-Space Planning

14Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Example (continued)

Establish At(l1) with l1=Home

At(SM), Sells(SM,Milk)At(HWS), Sells(HWS,Drill) At(SM), Sells(SM,Bananas)

At(x)

Buy(Milk,SM) Buy(Bananas,SM)

At(l2)

Go(l2, SM)

At(Home)

Go(Home,HWS)

Buy(Drill,HWS)

Have(Drill), Have(Milk), Have(Bananas), At(Home)

Page 15: Chapter 5  Plan-Space Planning

15Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Example (continued)

Establish At(l2) with l2=HWS

Buy(Milk,SM) Buy(Bananas,SM)

At(x) At(HWS)

Go(HWS,SM)

At(Home)

Go(Home,HWS)

At(SM), Sells(SM,Milk)At(HWS), Sells(HWS,Drill) At(SM), Sells(SM,Bananas)

Buy(Drill,HWS)

Have(Drill), Have(Milk), Have(Bananas), At(Home)

Page 16: Chapter 5  Plan-Space Planning

16Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Example (continued)

Establish At(Home) for Finish

Buy(Milk,SM) Buy(Bananas,SM)

At(x) At(HWS)

Go(HWS,SM)

At(Home)

Go(Home,HWS)

At(SM), Sells(SM,Milk)At(HWS), Sells(HWS,Drill) At(SM), Sells(SM,Bananas)

Buy(Drill,HWS)

Have(Drill), Have(Milk), Have(Bananas), At(Home)

At(l3)

Go(l3, Home)

Page 17: Chapter 5  Plan-Space Planning

17Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Example (continued)

Constrain Go(Home) to remove threats to At(SM)

Buy(Milk,SM) Buy(Bananas,SM)

At(x) At(HWS)

Go(HWS,SM)

At(Home)

Go(Home,HWS)

At(SM), Sells(SM,Milk)At(HWS), Sells(HWS,Drill) At(SM), Sells(SM,Bananas)

Buy(Drill,HWS)

Have(Drill), Have(Milk), Have(Bananas), At(Home)

At(l3)

Go(l3, Home)

Page 18: Chapter 5  Plan-Space Planning

18Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Final Plan

Establish At(l3) with l3=SM

Buy(Milk,SM) Buy(Bananas,SM)

At(x) At(HWS)At(Home)

Go(Home,HWS)

At(SM), Sells(SM,Milk)At(HWS), Sells(HWS,Drill) At(SM), Sells(SM,Bananas)

Buy(Drill,HWS)

Have(Drill), Have(Milk), Have(Bananas), At(Home)

At(SM)

Go(SM,Home)

Go(HWS,SM)

Page 19: Chapter 5  Plan-Space Planning

19Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Comments

PSP doesn’t commit to orderings andinstantiations until necessary Avoids generating search trees like this one:

Problem: how to prune infinitely long paths? Loop detection is based on recognizing states

we’ve seen before In a partially ordered plan, we don’t know the states

Can we prune if we see the same action more than once?

a bc

b a

b a ba c

b c ac b

goal

go(b,a) go(a,b) go(b,a) at(a)• • •

No. Sometimes we might need the same action several times in different states of the world (see next slide)

Page 20: Chapter 5  Plan-Space Planning

20Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Example 3-digit binary counter starts at 000, want to get to 110

s0 = {d3=0, d2=0, d1=0}

g = {d3=1, d2=1, d1=0}

Operators to  increment the counter by 1:

incr0

Precond: d1=0

Effects: d1=1

incr01

Precond: d2=0, d1=1

Effects: d2=1, d1=0

incr011

Precond: d3=0, d2=1, d1=1

Effects: d3=1, d2=0, d1=0

Page 21: Chapter 5  Plan-Space Planning

21Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

A Weak Pruning Technique

Can prune all paths of length > n, where n = |{all possible states}| This doesn’t help very much

I’m not sure whether there’s a good pruning technique for plan-space planning