chapter 5 plan-space planning
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 PresentationTRANSCRIPT
![Page 1: Chapter 5 Plan-Space Planning](https://reader035.vdocument.in/reader035/viewer/2022062217/568151f9550346895dc031b8/html5/thumbnails/1.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062217/568151f9550346895dc031b8/html5/thumbnails/2.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062217/568151f9550346895dc031b8/html5/thumbnails/3.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062217/568151f9550346895dc031b8/html5/thumbnails/4.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062217/568151f9550346895dc031b8/html5/thumbnails/5.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062217/568151f9550346895dc031b8/html5/thumbnails/6.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062217/568151f9550346895dc031b8/html5/thumbnails/7.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062217/568151f9550346895dc031b8/html5/thumbnails/8.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062217/568151f9550346895dc031b8/html5/thumbnails/9.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062217/568151f9550346895dc031b8/html5/thumbnails/10.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062217/568151f9550346895dc031b8/html5/thumbnails/11.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062217/568151f9550346895dc031b8/html5/thumbnails/12.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062217/568151f9550346895dc031b8/html5/thumbnails/13.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062217/568151f9550346895dc031b8/html5/thumbnails/14.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062217/568151f9550346895dc031b8/html5/thumbnails/15.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062217/568151f9550346895dc031b8/html5/thumbnails/16.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062217/568151f9550346895dc031b8/html5/thumbnails/17.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062217/568151f9550346895dc031b8/html5/thumbnails/18.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062217/568151f9550346895dc031b8/html5/thumbnails/19.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062217/568151f9550346895dc031b8/html5/thumbnails/20.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062217/568151f9550346895dc031b8/html5/thumbnails/21.jpg)
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