Download presentation

Presentation is loading. Please wait.

Published byMya Hind Modified over 2 years ago

1
1 Chapter 5 Plan-Space Planning

2
2 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: dont commit to orderings, instantiations, etc., until necessary Motivation a b c b a b a b a c b c a c b goal … … … … … … dead end

3
3 Left Sock Start Finish Right Shoe Left Shoe Right Sock Start Right Sock Finish Left Shoe Right Shoe Left Sock Start Right Sock Right Sock Right Sock Right Sock Right Sock Left Sock Left Sock Left Sock Left Sock Left Sock Left Sock Right Shoe Right Shoe Right Shoe Right Shoe Right Shoe Left Shoe Left Shoe Left Shoe Left Shoe Finish Left Shoe on Right Shoe on Left Sock onRight Sock on Partial Order Plans: Total Order Plans:

4
4 Outline Basic idea Open goals Threats The PSP algorithm Long example Comments

5
5 Plan Space

6
6 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., v 1 v 2 or v c »equality constraints (e.g., v 1 = v 2 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

7
7 Flaw: An action a has a precondition p that we havent 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

8
8 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 from deleting p(x) a(x) Precond: … Effects: p(x) c(y) Precond: … Effects: p(y) b(x) Precond: p(x) Effects: … p(x)

9
9 The PSP Procedure PSP is both sound and complete

10
10 Example Similar (but not identical) to an example in Russell and Norvigs 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)

11
11 Example (continued) Initial plan Sells(SM,Milk), Sells(SM,Bananas) At(Home), Sells(HWS,Drill), Have(Bananas), At(Home) Have(Drill), Have(Milk),

12
12 Example (continued) The only possible ways to establish the Have preconditions At(s 1 ), Sells(s 1,Drill) At(s 2 ), Sells(s 2,Milk)At(s 3 ), Sells(s 3,Bananas) Buy(Drill, s 1 ) Buy(Milk, s 2 ) Buy(Bananas, s 2 ) Have(Drill), Have(Milk), Have(Bananas), At(Home)

13
13 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)

14
14 At(SM), Sells(SM,Milk) At(HWS), Sells(HWS,Drill) At(SM), Sells(SM,Bananas) At(x) Buy(Milk,SM)Buy(Bananas,SM) At(l 2 ) Go(l 2, SM) At(l 1 ) Go(l 1,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

15
15 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(l 2 ) Go(l 2, SM) At(l 1 ) Go(l 1,HWS) Buy(Drill,HWS) Have(Drill), Have(Milk), Have(Bananas), At(Home)

16
16 Example (continued) Establish At(l 1 ) with l 1 =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(l 2 ) Go(l 2, SM) At(Home) Go(Home,HWS) Buy(Drill,HWS) Have(Drill), Have(Milk), Have(Bananas), At(Home)

17
17 Example (continued) Establish At(l 2 ) with l 2 =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)

18
18 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(l 3 ) Go(l 3, Home)

19
19 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(l 3 ) Go(l 3, Home)

20
20 Final Plan Establish At(l 3 ) with l 3 =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)

21
21 Comments PSP doesnt 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 weve seen before In a partially ordered plan, we dont know the states Can we prune if we see the same action more than once? a b c b a b a b a c b c a c 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)

22
22 Example 3-digit binary counter starts at 000, want to get to 110 s 0 = {d 3 =0, d 2 =0, d 1 =0} g = {d 3 =1, d 2 =1, d 1 =0} Operators to increment the counter by 1: incr0 Precond: d 1 =0 Effects: d 1 =1 incr01 Precond: d 2 =0, d 1 =1 Effects: d 2 =1, d 1 =0 incr011 Precond: d 3 =0, d 2 =1, d 1 =1 Effects: d 3 =1, d 2 =0, d 1 =0

23
23 A Weak Pruning Technique Can prune all paths of length > n, where n = |{all possible states}| This doesnt help very much Theres not yet a good pruning technique for plan-space planning Iterative deepening depth first search

24
24 POP algorithm POP((A, O, L), agenda, PossibleActions): 1. If agenda is empty, return (A, O, L) 2. Pick (Q, An) from agenda 3. Ad = choose an action that adds Q. a. If no such action exists, fail. b. Add the link Ad Ac to L and the ordering Ad < Ac to O c. If Ad is new, add it to A. 4. Remove (Q, An) from agenda. If Ad is new, for each of its preconditions P add (P, Ad) to agenda. 5. For every action At that threatens any link Ap Ac 1. Choose to add At < Ap or Ac < At to O. 2. If neither choice is consistent, fail. 6. POP((A, O, L), agenda, PossibleActions) Q Q

25
25 POP in the Blocks world

26
26 POP in the Blocks world

27
27 POP in the Blocks world

28
28 POP in the Blocks world

29
29 Conditional Effects & Disjunctions

30
30 Universal Quantification

31
31 Building Universal Base

32
32 Building Universal Base (Cont.)

33
33 An Example of Confrontation

34
34

35
35 Final Plan

36
36 An Example of Universal Quantification

37
37

38
38 Final Plan

39
39

Similar presentations

© 2016 SlidePlayer.com Inc.

All rights reserved.

Ads by Google