chapter 17 planning based on model checking

43
1 ture slides for Automated Planning r the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ Chapter 17 Planning Based on Model Checking Dana S. Nau Dept. of Computer Science, and Institute for Systems Research University of Maryland Lecture slides for Automated Planning: Theory and Practice

Upload: marvin

Post on 23-Jan-2016

26 views

Category:

Documents


0 download

DESCRIPTION

Lecture slides for Automated Planning: Theory and Practice. Chapter 17 Planning Based on Model Checking. Dana S. Nau Dept. of Computer Science, and Institute for Systems Research University of Maryland. c. a. b. Grasp block c. c. b. a. Intended outcome. a. b. c. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Chapter 17 Planning Based on Model Checking

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 17Planning Based on Model Checking

Dana S. Nau

Dept. of Computer Science, and

Institute for Systems Research

University of Maryland

Lecture slides forAutomated Planning: Theory and Practice

Page 2: Chapter 17 Planning Based on Model Checking

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

Motivation

Actions with multiple possibleoutcomes Action failures

» e.g., gripper drops its load Exogenous events

» e.g., road closed Like Markov Decision Processes (MDPs),

but without probabilities attached to the outcomes Useful if accurate probabilities aren’t available, or

if probability calculations would introduce inaccuracies

acb

Graspblock c

a

c

b

Intendedoutcome

a b c

Unintendedoutcome

Page 3: Chapter 17 Planning Based on Model Checking

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

Nondeterministic Systems Nondeterministic system: a triple = (S, A)

S = finite set of states A = finite set of actions : S A 2s

Like in the previous chapter, the book doesn’t commit to any particular representation It only deals with the underlying semantics Draw the state-transition graph explicitly

Like in the previous chapter, a policy is a function from states into actions π: S A

At certain points we will also have nondeterministic policies π: S 2A, or equivalently, π S A

Page 4: Chapter 17 Planning Based on Model Checking

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

Robot r1 startsat location l1

Objective is toget r1 to location l4

π1 = {(s1, move(r1,l1,l2)), (s2, move(r1,l2,l3)), (s3, move(r1,l3,l4))}

π2 = {(s1, move(r1,l1,l2)), (s2, move(r1,l2,l3)), (s3, move(r1,l3,l4)),

(s5, move(r1,l3,l4))} π3 = {(s1, move(r1,l1,l4))}

Goal

Start

Example

2

Page 5: Chapter 17 Planning Based on Model Checking

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

Robot r1 startsat location l1

Objective is toget r1 to location l4

π1 = {(s1, move(r1,l1,l2)), (s2, move(r1,l2,l3)), (s3, move(r1,l3,l4))}

π2 = {(s1, move(r1,l1,l2)), (s2, move(r1,l2,l3)), (s3, move(r1,l3,l4)),

(s5, move(r1,l3,l4))} π3 = {(s1, move(r1,l1,l4))}

Goal

Start

Example

2

Page 6: Chapter 17 Planning Based on Model Checking

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

Robot r1 startsat location l1

Objective is toget r1 to location l4

π1 = {(s1, move(r1,l1,l2)), (s2, move(r1,l2,l3)), (s3, move(r1,l3,l4))}

π2 = {(s1, move(r1,l1,l2)), (s2, move(r1,l2,l3)), (s3, move(r1,l3,l4)),

(s5, move(r1,l3,l4))} π3 = {(s1, move(r1,l1,l4))}

Goal

Start

Example

2

Page 7: Chapter 17 Planning Based on Model Checking

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

Execution Structures

Execution structurefor a policy π: The graph of all of

π’s execution paths Notation: π = (Q,T)

Q S T S S

π1 = {(s1, move(r1,l1,l2)), (s2, move(r1,l2,l3)), (s3, move(r1,l3,l4))}

π2 = {(s1, move(r1,l1,l2)), (s2, move(r1,l2,l3)), (s3, move(r1,l3,l4)),

(s5, move(r1,l3,l4))} π3 = {(s1, move(r1,l1,l4))}

Goal

Start

s2

s1

s5

s3

s4

2

Page 8: Chapter 17 Planning Based on Model Checking

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

Execution Structures

Execution structurefor a policy π: The graph of all of

π’s execution paths Notation: π = (Q,T)

Q S T S S

π1 = {(s1, move(r1,l1,l2)), (s2, move(r1,l2,l3)), (s3, move(r1,l3,l4))}

π2 = {(s1, move(r1,l1,l2)), (s2, move(r1,l2,l3)), (s3, move(r1,l3,l4)),

(s5, move(r1,l3,l4))} π3 = {(s1, move(r1,l1,l4))}

s2

s1

s5

s3

s4

Page 9: Chapter 17 Planning Based on Model Checking

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

Execution Structures

Execution structurefor a policy π: The graph of all of

π’s execution paths Notation: π = (Q,T)

Q S T S S

π1 = {(s1, move(r1,l1,l2)), (s2, move(r1,l2,l3)), (s3, move(r1,l3,l4))}

π2 = {(s1, move(r1,l1,l2)), (s2, move(r1,l2,l3)), (s3, move(r1,l3,l4)),

(s5, move(r1,l3,l4))} π3 = {(s1, move(r1,l1,l4))}

Goal

Start

s2

s1

s5

s3

s4

2

Page 10: Chapter 17 Planning Based on Model Checking

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

Execution Structures

Execution structurefor a policy π: The graph of all of

π’s execution paths Notation: π = (Q,T)

Q S T S S

π1 = {(s1, move(r1,l1,l2)), (s2, move(r1,l2,l3)), (s3, move(r1,l3,l4))}

π2 = {(s1, move(r1,l1,l2)), (s2, move(r1,l2,l3)), (s3, move(r1,l3,l4)),

(s5, move(r1,l3,l4))} π3 = {(s1, move(r1,l1,l4))}

s2

s1

s5

s3

s4

Page 11: Chapter 17 Planning Based on Model Checking

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

Execution Structures

Execution structurefor a policy π: The graph of all of

π’s execution paths Notation: π = (Q,T)

Q S T S S

π1 = {(s1, move(r1,l1,l2)), (s2, move(r1,l2,l3)), (s3, move(r1,l3,l4))}

π2 = {(s1, move(r1,l1,l2)), (s2, move(r1,l2,l3)), (s3, move(r1,l3,l4)),

(s5, move(r1,l3,l4))} π3 = {(s1, move(r1,l1,l4))}

Goal

Start s1 s4

2

Page 12: Chapter 17 Planning Based on Model Checking

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

Execution Structures

Execution structurefor a policy π: The graph of all of

π’s execution paths Notation: π = (Q,T)

Q S T S S

π1 = {(s1, move(r1,l1,l2)), (s2, move(r1,l2,l3)), (s3, move(r1,l3,l4))}

π2 = {(s1, move(r1,l1,l2)), (s2, move(r1,l2,l3)), (s3, move(r1,l3,l4)),

(s5, move(r1,l3,l4))} π3 = {(s1, move(r1,l1,l4))}

s1 s4

Page 13: Chapter 17 Planning Based on Model Checking

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

Weak solution: at least one execution path reaches a goal

Strong solution: every execution path reaches a goal

Strong-cyclic solution: every fair execution path reaches a goal Don’t stay in a cycle forever if there’s a state-transition out of it

s0

s1

s3

Goala0a1

a2s2

a3

s0

s1

s3

Goala0a1

a2s2

s0

s1

s3

Goala0a1

a2s2

Goal

Types of Solutions

a3

Page 14: Chapter 17 Planning Based on Model Checking

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

Finding Strong Solutions Backward breadth-first search

StrongPreImg(S) = {(s,a) : (s,a) ≠ , (s,a) S} all state-action pairs for which

all successors are in S

PruneStates(π,S) = {(s,a) π : s S} S is the set of states we’ve

already solved keep only the state-action

pairs for other states

MkDet(π') π' is a policy that may be nondeterministic remove some state-action pairs if

necessary, to get a deterministic policy

Page 15: Chapter 17 Planning Based on Model Checking

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

π = failure

π' = Sπ' =

Sg Sπ' = {s4}

Example

Goal

Start s4

2

Page 16: Chapter 17 Planning Based on Model Checking

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

Start

π = failure

π' = Sπ' =

Sg Sπ' = {s5}

PreImage = {(s3,move(r1,l3,l4)),

(s5,move(r1,l5,l4))}

π'' = {(s3,move(r1,l3,l4)),

(s5,move(r1,l5,l4))}

Goal

s5

s3

s4

2

Page 17: Chapter 17 Planning Based on Model Checking

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

Start

π = failure

π' = Sπ' =

Sg Sπ' = {s5}

PreImage = {(s3,move(r1,l3,l4)),

(s5,move(r1,l5,l4))}

π'' = {(s3,move(r1,l3,l4)),

(s5,move(r1,l5,l4))}

π = π' = {(s3,move(r1,l3,l4)),

(s5,move(r1,l5,l4))}

Goal

s5

s3

s4

2

Page 18: Chapter 17 Planning Based on Model Checking

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

Example

Goal

Start

π = π' = {(s3,move(r1,l3,l4)),

(s5,move(r1,l5,l4))}

Sπ' = {s3,s4,s5}

Sg Sπ' = {s3,s4,s5}

s5

s3

s4

2

Page 19: Chapter 17 Planning Based on Model Checking

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

π = π' = {(s3,move(r1,l3,l4)),

(s5,move(r1,l5,l4))}

Sπ' = {s3,s4,s5}

Sg Sπ' = {s3,s4,s5}

PreImage = {(s2,move(r1,l2,l3)), (s3,move(r1,l3,l4)), (s5,move(r1,l5,l4)), (s4,move(r1,l4,l3)),

(s4,move(r1,l4,l5))}

π'' = {(s2,move(r1,l2,l3)}

Example

Goal

Start

s5

s3

s4

s2

2

Page 20: Chapter 17 Planning Based on Model Checking

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

π = {(s3,move(r1,l3,l4)),

(s5,move(r1,l5,l4))}

π' = {(s2,move(r1,l2,l3), (s3,move(r1,l3,l4)),

(s5,move(r1,l5,l4))}

Sg Sπ' = {s2,s3,s4,s5}

Example

Goal

Start

s2

s5

s3

s4

2

Page 21: Chapter 17 Planning Based on Model Checking

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

π = {(s3,move(r1,l3,l4)),

(s5,move(r1,l5,l4))}

π' = {(s2,move(r1,l2,l3)), (s3,move(r1,l3,l4)),

(s5,move(r1,l5,l4))}

Sg Sπ' = {s2,s3,s4,s5}

PreImage = {(s1,move(r1,l1,l2)), (s2,move(r1,l2,l3)), (s3,move(r1,l3,l4)), (s5,move(r1,l5,l4)),

…}

π'' = {(s1,move(r1,l1,l2))}

Example

Goal

Start

s2

s5

s3

s4s1

2

Page 22: Chapter 17 Planning Based on Model Checking

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

π = {(s2,move(r1,l2,l3)), (s3,move(r1,l3,l4)),

(s5,move(r1,l5,l4))}

π' = {(s1,move(r1,l1,l2)), (s2,move(r1,l2,l3)), (s3,move(r1,l3,l4)),

(s5,move(r1,l5,l4))}

Sg Sπ' = {s1,s2,s3,s4,s5}

Example

Goal

Start

s2

s5

s3

s4s1

2

Page 23: Chapter 17 Planning Based on Model Checking

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

π = {(s2,move(r1,l2,l3)), (s3,move(r1,l3,l4)),

(s5,move(r1,l5,l4))}

π' = {(s1,move(r1,l1,l2)), (s2,move(r1,l2,l3)), (s3,move(r1,l3,l4)),

(s5,move(r1,l5,l4))}

Sg Sπ' = {s1,s2,s3,s4,s5}

S0 Sg Sπ'

MkDet(π') = π'

Example

Goal

Start

s2

s1

s5

s3

s4

2

Page 24: Chapter 17 Planning Based on Model Checking

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

Finding Weak Solutions Weak-Plan is just like Strong-Plan except for this:

WeakPreImg(S) = {(s,a) : (s,a) i S ≠ } at least one successor is in S

Weak

Weak

Page 25: Chapter 17 Planning Based on Model Checking

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

π = failure

π' = Sπ' =

Sg Sπ' = {s5}

Example

Goal

Start s4

2

Weak

Weak

Page 26: Chapter 17 Planning Based on Model Checking

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

Example

Start

π = failure

π' = Sπ' =

Sg Sπ' = {s5}

PreImage = {(s1,move(r1,l1,l4)), (s3,move(r1,l3,l4)),

(s5,move(r1,l5,l4))}

π'' = PreImage

Goal

s5

s3

s4

2

s1

Weak

Weak

Page 27: Chapter 17 Planning Based on Model Checking

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

Example

Goal

Start

π = π' = {(s1,move(r1,l1,l4)),

(s3,move(r1,l3,l4)),

(s5,move(r1,l5,l4))}

Sπ' = {s1,s3,s4,s5}

Sg Sπ' = {s1,s3,s4,s5}

PreImage = {(s1,move(r1,l1,l4)), (s2,move(r1,l2,l3)), (s3,move(r1,l3,l4)),

(s5,move(r1,l5,l4)), …}

π'' = {(s1,move(r1,l1,l4)), (s2,move(r1,l2,l3)), (s3,move(r1,l3,l4)),

(s5,move(r1,l5,l4))}

s5

s3

s4

2

s1

s2

Weak

Weak

Page 28: Chapter 17 Planning Based on Model Checking

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

π = {(s1,move(r1,l1,l4)), (s3,move(r1,l3,l4)),

(s5,move(r1,l5,l4))}

π' = {(s1,move(r1,l1,l4)), (s2,move(r1,l2,l3)), (s3,move(r1,l3,l4)),

(s5,move(r1,l5,l4))}

Sπ' = {s1,s3,s4,s5}

Sg Sπ' = {s1,s3,s4,s5}

Example

Goal

Start

s5

s3

s4

s2

2

s1

Weak

Weak

Page 29: Chapter 17 Planning Based on Model Checking

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

π = {(s1,move(r1,l1,l4)), (s3,move(r1,l3,l4)),

(s5,move(r1,l5,l4))}

π' = {(s1,move(r1,l1,l4)), (s2,move(r1,l2,l3)), (s3,move(r1,l3,l4)),

(s5,move(r1,l5,l4))}

Sπ' = {s1,s3,s4,s5}

Sg Sπ' = {s1,s3,s4,s5}

PreImage = {(s1,move(r1,l1,l4)), (s2,move(r1,l2,l3)), (s3,move(r1,l3,l4)),

(s5,move(r1,l5,l4)), …}

π'' =

Example

Goal

Start

s5

s3

s4

s2

2

s1

Weak

Weak

Page 30: Chapter 17 Planning Based on Model Checking

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

π = {(s1,move(r1,l1,l4)), (s2,move(r1,l2,l3)), (s3,move(r1,l3,l4)),

(s5,move(r1,l5,l4))}

π' = {(s1,move(r1,l1,l4)), (s2,move(r1,l2,l3)), (s3,move(r1,l3,l4)),

(s5,move(r1,l5,l4))}

Sg Sπ' = {s1,s2,s3,s4,s5}

S0 Sg Sπ'

MkDet(π') = π'

Example

Goal

Start

s2

s1

s5

s3

s4

2

Weak

Weak

Page 31: Chapter 17 Planning Based on Model Checking

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

Finding Strong-Cyclic Solutions Begin with a “universal policy” π' that contains all state-action pairs Repeatedly, eliminate state-action pairs that take us to bad states

PruneOutgoing removes state-action pairs that go to states not in Sg u Sπ

» PruneOutgoing(π,S) = π – {(s,a) π : (s,a) subset S u Sπ

» ) PruneUnconnected removes states from which it is impossible to get to Sg

» Details are in the book Once the policy

stops changing If the policy

is a solution,return adeterministicsubpolicy

Else returnfailure

Page 32: Chapter 17 Planning Based on Model Checking

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

π = π' = {(s,a) : a is applicable to s}

Example 1

Goal

Start

s5

s3

s4

s2

2

s1

s6

at(r1,l6)

Page 33: Chapter 17 Planning Based on Model Checking

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

π = π' = {(s,a) : a is applicable to s}

π = {(s,a) : a is applicable to s}

PruneOutgoing(π',Sg) = π'

PruneUnconnected(π',Sg) = π'

RemoveNonProgress(π') =…

Example 1

Goal

Start

s5

s3

s4

s2

2

s1

s6

at(r1,l6)

Page 34: Chapter 17 Planning Based on Model Checking

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

π = π' = {(s,a) : a is applicable to s}

π = {(s,a) : a is applicable to s}

PruneOutgoing(π',Sg) = π'

PruneUnconnected(π',Sg) = π'

RemoveNonProgress(π') =… as shown …

Example 1

Start

s5

s3

s4

s2

2

s1

s6Goal

at(r1,l6)

Page 35: Chapter 17 Planning Based on Model Checking

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

Example 1

Start

s5

s3

s4

s2

2

s1

s6

π = π' = {(s,a) : a is applicable to s}

π = {(s,a) : a is applicable to s}

PruneOutgoing(π',Sg) = π'

PruneUnconnected(π',Sg) = π'

RemoveNonProgress(π') =… as shown …

MkDet(RemoveNonProgress(π')) =

either{(s1,move(r1,l1,l4), (s4,move(r1,l4,l6))}

or

{all the black edges}

at(r1,l6)Goal

Page 36: Chapter 17 Planning Based on Model Checking

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

π = π' = {(s,a) : a is applicable to s}

Example 2

Goal

Start

s5

s3

s4

s2

2

s1

s6

at(r1,l6)

Page 37: Chapter 17 Planning Based on Model Checking

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

π = π' = {(s,a) : a is applicable to s}

π = {(s,a) : a is applicable to s}

PruneOutgoing(π',Sg) = as shown

Example 2

Goal

Start

s5

s3

s4

s2

2

s1

s6

at(r1,l6)

Page 38: Chapter 17 Planning Based on Model Checking

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

π = π' = {(s,a) : a is applicable to s}

π = {(s,a) : a is applicable to s}

PruneOutgoing(π',Sg) = as shown

PruneUnconnected(…)= as shown

Example 2

Goal

Start

s3

s4

s2

2

s1

s6

at(r1,l6)

Page 39: Chapter 17 Planning Based on Model Checking

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

π = π' = {(s,a) : a is applicable to s}

π = {(s,a) : a is applicable to s}

PruneOutgoing(π',Sg) = π'

PruneUnconnected(π'',Sg)= as shown

π' = as shown

Example 2

Goal

Start

s3

s4

s2

2

s1

s6

at(r1,l6)

Page 40: Chapter 17 Planning Based on Model Checking

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

π' = as shown

π = π'

PruneOutgoing(π',Sg) = π'

PruneUnconnected(π'',Sg) = π'

RemoveNonProgress(π') =…

Example 2

Goal

Start

s3

s4

s2

2

s1

s6

at(r1,l6)

Page 41: Chapter 17 Planning Based on Model Checking

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

Example 2

Goal

Start

s3

s4

s2

2

s1

s6

π' = as shown

π' = as shown

PruneOutgoing(π',Sg) = π'

PruneUnconnected(π'',Sg) = π'

RemoveNonProgress(π') =π'' as shown

MkDet(π'') = π''

at(r1,l6)

Page 42: Chapter 17 Planning Based on Model Checking

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

Planning for Extended Goals

2

s6at(r1,l6)

Here, “extended” means temporally extended Constraints that apply to some sequence of states

Examples: move to l3,

and then to l5 keep going

back and forthbetween l3 and l5

Page 43: Chapter 17 Planning Based on Model Checking

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

Planning for Extended Goals Context: the internal state of the controller Plan: (C, c0, act, ctxt)

C = a set of execution contexts c0 is the initial context

act: S C A ctxt: S C S C

Sections 17.3 extends the ideas in Sections 17.1 and 17.2 to deal with extended goals We’ll skip the details