42
ture slides for Automated Planning r the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 1 Chapter 17 Planning Based on Model Checking Dana S. Nau University of Maryland 01:13 AM June 15, 2022 Lecture slides for Automated Planning: Theory and Practice

Chapter 17 Planning Based on Model Checking

  • Upload
    harken

  • View
    35

  • Download
    0

Embed Size (px)

DESCRIPTION

Lecture slides for Automated Planning: Theory and Practice. Chapter 17 Planning Based on Model Checking. Dana S. Nau University of Maryland 10:16 AM September 3, 2014. Motivation. c. b. a. Actions with multiple possible outcomes Action failures e.g., gripper drops its load - PowerPoint PPT Presentation

Citation preview

Page 1: Chapter 17 Planning Based on Model Checking

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

Chapter 17Planning Based on Model Checking

Dana S. Nau

University of Maryland

06:39 PM April 21, 2023

Lecture slides forAutomated Planning: Theory and Practice

Page 2: Chapter 17 Planning Based on Model Checking

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

Motivation

Actions with multiple possibleoutcomes Action failures

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

» e.g., road closed Nondeterministic systems are 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

grasp(c)

a

c

b

Intendedoutcome

a b c

Unintendedoutcome

Page 3: Chapter 17 Planning Based on Model Checking

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

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

Notation: Sπ = {s | (s,a) π} In some algorithms, we’ll temporarily have nondeterministic policies

» Ambiguous: multiple actions for some states π: S 2A, or equivalently, π S A We’ll always make these policies deterministic before the algorithm

terminates

Page 4: Chapter 17 Planning Based on Model Checking

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

Goal

Start

2

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

Example

Page 5: Chapter 17 Planning Based on Model Checking

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

Goal

Start

2

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

Example

Page 6: Chapter 17 Planning Based on Model Checking

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

Goal

Start

2

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

Example

Page 7: Chapter 17 Planning Based on Model Checking

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

Goal

Start

2

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

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

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

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

Goal

Start

2

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

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

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

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

Goal

Start

2

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

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

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

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

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

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

Finding Strong Solutions Backward breadth-first search

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

all of the 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

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

π = failure

π' = Sπ' =

Sg Sπ' = {s4}

Goal

Start s4

2

Example

Page 16: Chapter 17 Planning Based on Model Checking

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

Start

π = failure

π' = Sπ' =

Sg Sπ' = {s4}

π'' PreImage = {(s3,move(r1,l3,l4)), (s5,move(r1,l5,l4))} Goal

s5

s3

s4

2

Example

Page 17: Chapter 17 Planning Based on Model Checking

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

Start

π = failure

π' = Sπ' =

Sg Sπ' = {s4}

π'' PreImage = {(s3,move(r1,l3,l4)), (s5,move(r1,l5,l4))}

π π' = π' π' U π'' =

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

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

Goal

s5

s3

s4

2

Example

Page 18: Chapter 17 Planning Based on Model Checking

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

Example

Goal

Start

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

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

Sπ' = {s3,s5}

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

s5

s3

s4

2

Page 19: Chapter 17 Planning Based on Model Checking

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

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

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

Sπ' = {s3,s5}

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

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

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

π π' = {(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))}

Goal

Start

s5

s3

s4

s2

2

Example

Page 20: Chapter 17 Planning Based on Model Checking

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

π = {(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))}

Sπ' = {s2,s3,s5}

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

Goal

Start

s2

s5

s3

s4

2

Example

Page 21: Chapter 17 Planning Based on Model Checking

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

Goal

Start

s2

s5

s3

s4s1

2

Exampleπ = {(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))}

Sπ' = {s2,s3,s5}

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

π'' {(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)), (s2,move(r1,l2,l3)), (s3,move(r1,l3,l4)), (s5,move(r1,l5,l4))}

Page 22: Chapter 17 Planning Based on Model Checking

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

π = {(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))}

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

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

Start

s2

s5

s3

s4s1

2

Example

Page 23: Chapter 17 Planning Based on Model Checking

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

π = {(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))}

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

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

S0 Sg Sπ'

MkDet(π') = π'

Goal

Start

s2

s1

s5

s3

s4

2

Example

Page 24: Chapter 17 Planning Based on Model Checking

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

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

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

π = failure

π' = Sπ' =

Sg Sπ' = {s4}

Example

Goal

Start s4

2

Weak

Weak

Page 26: Chapter 17 Planning Based on Model Checking

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

Example

Start

π = failure

π' = Sπ' =

Sg Sπ' = {s4}

π'' = PreImage = {(s1,move(r1,l1,l4)), (s3,move(r1,l3,l4)), (s5,move(r1,l5,l4))}

π π' = π' π' U π'' =

{(s1,move(r1,l1,l4)), (s3,move(r1,l3,l4)), (s5,move(r1,l5,l4))}

Goal

s5

s3

s4

2

s1

Weak

Weak

Page 27: Chapter 17 Planning Based on Model Checking

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

Example

Goal

Start

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

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

Sπ' = {s1,s3,s5}

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

S0 Sg Sπ'

MkDet(π') = π'

s5

s3

s4

2

s1

Weak

Weak

Page 28: Chapter 17 Planning Based on Model Checking

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

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∪Sπ

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

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

» Start with π' = , compute fixpoint of π' π ∩ WeakPreImg(Sg∪Sπ’)

Page 29: Chapter 17 Planning Based on Model Checking

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

FindingStrong-Cyclic

SolutionsOnce the policy stops changing, If it’s not a solution, return

failure RemoveNonProgress

removes state-actionpairs that don’t gotoward the goal implement as

backward searchfrom the goal

MkDet makes surethere’s only one actionfor each state

Goal

Start

s5

s3

s4

s2

2

s1

s6

at(r1,l6)

Page 30: Chapter 17 Planning Based on Model Checking

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

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

Goal

Start

s5

s3

s4

s2

2

s1

s6

at(r1,l6)

Example 1

Page 31: Chapter 17 Planning Based on Model Checking

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

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

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

PruneOutgoing(π',Sg) = π'

PruneUnconnected(π',Sg) = π'

RemoveNonProgress(π') = ?

Goal

Start

s5

s3

s4

s2

2

s1

s6

at(r1,l6)

Example 1

Page 32: Chapter 17 Planning Based on Model Checking

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

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

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

PruneOutgoing(π',Sg) = π'

PruneUnconnected(π',Sg) = π'

RemoveNonProgress(π') = as shown

Start

s5

s3

s4

s2

2

s1

s6Goal

at(r1,l6)

Example 1

Page 33: Chapter 17 Planning Based on Model Checking

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

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

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

PruneOutgoing(π',Sg) = π'

PruneUnconnected(π',Sg) = π'

RemoveNonProgress(π') = as shown

MkDet(…) = either{(s1,move(r1,l1,l4), (s2,move(r1,l2,l3)), (s3,move(r1,l3,l4), (s4,move(r1,l4,l6), (s5,move(r1,l5,l4)}

or {(s1,move(r1,l1,l2), (s2,move(r1,l2,l3)), (s3,move(r1,l3,l4), (s4,move(r1,l4,l6), (s5,move(r1,l5,l4)}

Start

s5

s3

s4

s2

2

s1

s6

at(r1,l6)Goal

Example 1

Page 34: Chapter 17 Planning Based on Model Checking

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

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

Goal

Start

s3

s4

s2

2

s1

s6

at(r1,l6)

Example 2: no applicable actions at s5s5

Page 35: Chapter 17 Planning Based on Model Checking

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

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

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

PruneOutgoing(π',Sg) = …

Goal

Start

s3

s4

s2

2

s1

s6

at(r1,l6)

s5Example 2: no applicable actions at s5

Page 36: Chapter 17 Planning Based on Model Checking

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

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

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

PruneOutgoing(π',Sg) = π'

Goal

Start

s3

s4

s2

2

s1

s6

at(r1,l6)

s5Example 2: no applicable actions at s5

Page 37: Chapter 17 Planning Based on Model Checking

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

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

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

PruneOutgoing(π',Sg) = π'

PruneUnconnected(π',Sg) = as shown

Goal

Start

s3

s4

s2

2

s1

s6

at(r1,l6)

Example 2: no applicable actions at s5

Page 38: Chapter 17 Planning Based on Model Checking

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

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

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

PruneOutgoing(π',Sg) = π'

PruneUnconnected(π',Sg)= as shown

π' as shown

Goal

Start

s3

s4

s2

2

s1

s6

at(r1,l6)

Example 2: no applicable actions at s5

Page 39: Chapter 17 Planning Based on Model Checking

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

π' as hown

π π'

PruneOutgoing(π',Sg) = π'

PruneUnconnected(π',Sg) = π'

so π = π'

RemoveNonProgress(π') =…

Goal

Start

s3

s4

s2

2

s1

s6

at(r1,l6)

Example 2: no applicable actions at s5

Page 40: Chapter 17 Planning Based on Model Checking

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

π' shown

π π'

PruneOutgoing(π',Sg) = π'

PruneUnconnected(π'',Sg) = π'

so π = π'

RemoveNonProgress(π') =as shown

MkDet(shown) =no change Goal

Start

s3

s4

s2

2

s1

s6

at(r1,l6)

Example 2: no applicable actions at s5

Page 41: Chapter 17 Planning Based on Model Checking

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

Planning for Extended Goals Here, “extended” means temporally extended

Constraints that apply to some sequence of states Examples:

want to move to l3,and then to l5

want to keep goingback and forthbetween l3 and l5

GoalStart

mo

ve(r1

,l2,l1

)

wait

wait

wait

wait

2

Page 42: Chapter 17 Planning Based on Model Checking

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

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