Chapter 5 Plan-Space Planning - University of Auckland · Dana Nau: Lecture slides for Automated...

21
1 Dana Nau: Lecture slides for Automated Planning Licensed 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 Planning University of Maryland, Fall 2004 Lecture slides for Automated Planning: Theory and Practice

Transcript of Chapter 5 Plan-Space Planning - University of Auckland · Dana Nau: Lecture slides for Automated...

Page 1: Chapter 5 Plan-Space Planning - University of Auckland · Dana Nau: Lecture slides for Automated Planning ... Plan-Space Planning ... Artificial Intelligence: ...

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 5Plan-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 - University of Auckland · Dana Nau: Lecture slides for Automated Planning ... Plan-Space Planning ... Artificial Intelligence: ...

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 enddead enddead enddead end

Page 3: Chapter 5 Plan-Space Planning - University of Auckland · Dana Nau: Lecture slides for Automated Planning ... Plan-Space Planning ... Artificial Intelligence: ...

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 - University of Auckland · Dana Nau: Lecture slides for Automated Planning ... Plan-Space Planning ... Artificial Intelligence: ...

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 - University of Auckland · Dana Nau: Lecture slides for Automated Planning ... Plan-Space Planning ... Artificial Intelligence: ...

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 - University of Auckland · Dana Nau: Lecture slides for Automated Planning ... Plan-Space Planning ... Artificial Intelligence: ...

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 - University of Auckland · Dana Nau: Lecture slides for Automated Planning ... Plan-Space Planning ... Artificial Intelligence: ...

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 - University of Auckland · Dana Nau: Lecture slides for Automated Planning ... Plan-Space Planning ... Artificial Intelligence: ...

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:

StartPrecond: noneEffects: 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 - University of Auckland · Dana Nau: Lecture slides for Automated Planning ... Plan-Space Planning ... Artificial Intelligence: ...

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 - University of Auckland · Dana Nau: Lecture slides for Automated Planning ... Plan-Space Planning ... Artificial Intelligence: ...

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 - University of Auckland · Dana Nau: Lecture slides for Automated Planning ... Plan-Space Planning ... Artificial Intelligence: ...

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 - University of Auckland · Dana Nau: Lecture slides for Automated Planning ... Plan-Space Planning ... Artificial Intelligence: ...

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 - University of Auckland · Dana Nau: Lecture slides for Automated Planning ... Plan-Space Planning ... Artificial Intelligence: ...

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 - University of Auckland · Dana Nau: Lecture slides for Automated Planning ... Plan-Space Planning ... Artificial Intelligence: ...

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 - University of Auckland · Dana Nau: Lecture slides for Automated Planning ... Plan-Space Planning ... Artificial Intelligence: ...

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 - University of Auckland · Dana Nau: Lecture slides for Automated Planning ... Plan-Space Planning ... Artificial Intelligence: ...

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 - University of Auckland · Dana Nau: Lecture slides for Automated Planning ... Plan-Space Planning ... Artificial Intelligence: ...

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 - University of Auckland · Dana Nau: Lecture slides for Automated Planning ... Plan-Space Planning ... Artificial Intelligence: ...

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 - University of Auckland · Dana Nau: Lecture slides for Automated Planning ... Plan-Space Planning ... Artificial Intelligence: ...

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 and

instantiations 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 cb 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 - University of Auckland · Dana Nau: Lecture slides for Automated Planning ... Plan-Space Planning ... Artificial Intelligence: ...

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:

incr0Precond: d1=0Effects: d1=1

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

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

Page 21: Chapter 5 Plan-Space Planning - University of Auckland · Dana Nau: Lecture slides for Automated Planning ... Plan-Space Planning ... Artificial Intelligence: ...

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