Lecture slides for Automated Planning Theory and Practice

  • Slides: 42
Download presentation
Lecture slides for Automated Planning: Theory and Practice Chapter 17 Planning Based on Model

Lecture slides for Automated Planning: Theory and Practice Chapter 17 Planning Based on Model Checking Dana S. Nau University of Maryland 8: 32 AM 20 October 2021 Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 1

Motivation c a Actions with multiple possible c outcomes a b Action failures »

Motivation c a Actions with multiple possible c outcomes a b 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 grasp(c) Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ b Intended outcome a b c Unintended outcome 2

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

Nondeterministic Systems Nondeterministic system: a triple = (S, A, ) S = finite set of states A = finite set of actions : S A 2 s 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 2 A, or equivalently, π S A We’ll always make these policies deterministic before the algorithm terminates Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 3

Example 2 Robot r 1 starts at location l 1 Objective is to get

Example 2 Robot r 1 starts at location l 1 Objective is to get r 1 to location l 4 Start Goal π1 = {(s 1, move(r 1, l 2)), (s 2, move(r 1, l 2, l 3)), (s 3, move(r 1, l 3, l 4))} π2 = {(s 1, move(r 1, l 2)), (s 2, move(r 1, l 2, l 3)), (s 3, move(r 1, l 3, l 4)), (s 5, move(r 1, l 3, l 4))} π3 = {(s 1, move(r 1, l 4))} Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 4

Example 2 Robot r 1 starts at location l 1 Objective is to get

Example 2 Robot r 1 starts at location l 1 Objective is to get r 1 to location l 4 Start Goal π1 = {(s 1, move(r 1, l 2)), (s 2, move(r 1, l 2, l 3)), (s 3, move(r 1, l 3, l 4))} π2 = {(s 1, move(r 1, l 2)), (s 2, move(r 1, l 2, l 3)), (s 3, move(r 1, l 3, l 4)), (s 5, move(r 1, l 3, l 4))} π3 = {(s 1, move(r 1, l 4))} Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 5

Example 2 Robot r 1 starts at location l 1 Objective is to get

Example 2 Robot r 1 starts at location l 1 Objective is to get r 1 to location l 4 Start Goal π1 = {(s 1, move(r 1, l 2)), (s 2, move(r 1, l 2, l 3)), (s 3, move(r 1, l 3, l 4))} π2 = {(s 1, move(r 1, l 2)), (s 2, move(r 1, l 2, l 3)), (s 3, move(r 1, l 3, l 4)), (s 5, move(r 1, l 3, l 4))} π3 = {(s 1, move(r 1, l 4))} Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 6

Execution Structures s 5 2 Execution structure for a policy π: The graph of

Execution Structures s 5 2 Execution structure for a policy π: The graph of all of π’s execution paths Notation: π = (Q, T) Q S T S S s 2 s 3 Start s 1 s 4 Goal π1 = {(s 1, move(r 1, l 2)), (s 2, move(r 1, l 2, l 3)), (s 3, move(r 1, l 3, l 4))} π2 = {(s 1, move(r 1, l 2)), (s 2, move(r 1, l 2, l 3)), (s 3, move(r 1, l 3, l 4)), (s 5, move(r 1, l 3, l 4))} π3 = {(s 1, move(r 1, l 4))} Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 7

Execution Structures s 5 Execution structure for a policy π: The graph of all

Execution Structures s 5 Execution structure for a policy π: The graph of all of π’s execution paths Notation: π = (Q, T) Q S T S S s 2 s 3 s 1 s 4 π1 = {(s 1, move(r 1, l 2)), (s 2, move(r 1, l 2, l 3)), (s 3, move(r 1, l 3, l 4))} π2 = {(s 1, move(r 1, l 2)), (s 2, move(r 1, l 2, l 3)), (s 3, move(r 1, l 3, l 4)), (s 5, move(r 1, l 3, l 4))} π3 = {(s 1, move(r 1, l 4))} Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 8

Execution Structures s 5 2 Execution structure for a policy π: The graph of

Execution Structures s 5 2 Execution structure for a policy π: The graph of all of π’s execution paths Notation: π = (Q, T) Q S T S S s 2 s 3 Start s 1 s 4 Goal π1 = {(s 1, move(r 1, l 2)), (s 2, move(r 1, l 2, l 3)), (s 3, move(r 1, l 3, l 4))} π2 = {(s 1, move(r 1, l 2)), (s 2, move(r 1, l 2, l 3)), (s 3, move(r 1, l 3, l 4)), (s 5, move(r 1, l 3, l 4))} π3 = {(s 1, move(r 1, l 4))} Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 9

Execution Structures s 5 Execution structure for a policy π: The graph of all

Execution Structures s 5 Execution structure for a policy π: The graph of all of π’s execution paths Notation: π = (Q, T) Q S T S S s 2 s 3 s 1 s 4 π1 = {(s 1, move(r 1, l 2)), (s 2, move(r 1, l 2, l 3)), (s 3, move(r 1, l 3, l 4))} π2 = {(s 1, move(r 1, l 2)), (s 2, move(r 1, l 2, l 3)), (s 3, move(r 1, l 3, l 4)), (s 5, move(r 1, l 3, l 4))} π3 = {(s 1, move(r 1, l 4))} Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 10

Execution Structures 2 Execution structure for a policy π: The graph of all of

Execution Structures 2 Execution structure for a policy π: The graph of all of π’s execution paths Notation: π = (Q, T) Q S T S S Start s 1 s 4 Goal π1 = {(s 1, move(r 1, l 2)), (s 2, move(r 1, l 2, l 3)), (s 3, move(r 1, l 3, l 4))} π2 = {(s 1, move(r 1, l 2)), (s 2, move(r 1, l 2, l 3)), (s 3, move(r 1, l 3, l 4)), (s 5, move(r 1, l 3, l 4))} π3 = {(s 1, move(r 1, l 4))} Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 11

Execution Structures Execution structure for a policy π: The graph of all of π’s

Execution Structures Execution structure for a policy π: The graph of all of π’s execution paths Notation: π = (Q, T) Q S T S S s 1 s 4 π1 = {(s 1, move(r 1, l 2)), (s 2, move(r 1, l 2, l 3)), (s 3, move(r 1, l 3, l 4))} π2 = {(s 1, move(r 1, l 2)), (s 2, move(r 1, l 2, l 3)), (s 3, move(r 1, l 3, l 4)), (s 5, move(r 1, l 3, l 4))} π3 = {(s 1, move(r 1, l 4))} Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 12

Types of Solutions Weak solution: at least one execution path reaches a goal s

Types of Solutions Weak solution: at least one execution path reaches a goal s 0 s 3 a 0 s 1 a 2 Goal Strong solution: every execution path reaches a goal s 0 s 3 a 0 a 1 s 2 s 1 a 2 s 2 a 3 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 s 0 s 3 a 0 s 1 a 3 s 2 a 2 Goal Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 13

Finding Strong Solutions Backward breadth-first search Strong. Pre. Img(S) Prune. States(π, S) = {(s,

Finding Strong Solutions Backward breadth-first search Strong. Pre. Img(S) Prune. States(π, S) = {(s, a) : (s, a) ≠ , (s, a) S} all state-action pairs for which all of the successors are in S = {(s, a) π : s S} S is the set of states we’ve already solved keep only the state-action pairs for other states Mk. Det(π') π' is a policy that may be nondeterministic remove some state-action pairs if necessary, to get a deterministic policy Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 14

Example 2 π = failure π' = Sg Sπ' = {s 4} Start s

Example 2 π = failure π' = Sg Sπ' = {s 4} Start s 4 Goal Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 15

Example π = failure π' = Sg Sπ' = {s 4} π'' Pre. Image

Example π = failure π' = Sg Sπ' = {s 4} π'' Pre. Image = {(s 3, move(r 1, l 3, l 4)), Start (s 5, move(r 1, l 5, l 4))} s 5 2 s 3 s 4 Goal Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 16

Example π = failure π' = Sg Sπ' = {s 4} π'' Pre. Image

Example π = failure π' = Sg Sπ' = {s 4} π'' Pre. Image = {(s 3, move(r 1, l 3, l 4)), Start (s 5, move(r 1, l 5, l 4))} s 5 2 s 3 s 4 Goal π π' = π' U π'' = {(s 3, move(r 1, l 3, l 4)), (s 5, move(r 1, l 5, l 4))} Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 17

Example s 5 π= π' = {(s 3, move(r 1, l 3, l 4)),

Example s 5 π= π' = {(s 3, move(r 1, l 3, l 4)), (s 5, move(r 1, l 5, l 4))} Sπ' = {s 3, s 5} Sg Sπ' = {s 3, s 4, s 5} 2 s 3 Start s 4 Goal Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 18

Example π= π' = {(s 3, move(r 1, l 3, l 4)), s 2

Example π= π' = {(s 3, move(r 1, l 3, l 4)), s 2 (s 5, move(r 1, l 5, l 4))} Sπ' = {s 3, s 5} Sg Sπ' = {s 3, s 4, s 5} Pre. Image {(s 2, move(r 1, l 2, l 3)), Start (s 3, move(r 1, l 3, l 4)), (s 5, move(r 1, l 5, l 4)), (s 3, move(r 1, l 4, l 3)), (s 5, move(r 1, l 4, l 5))} π'' {(s 2, move(r 1, l 2, l 3))} π π' = {(s 3, move(r 1, l 3, l 4)), (s 5, move(r 1, l 5, l 4))} π' {(s 2, move(r 1, l 2, l 3), (s 3, move(r 1, l 3, l 4)), (s 5, move(r 1, l 5, l 4))} s 5 2 s 3 s 4 Goal Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 19

Example π = {(s 3, move(r 1, l 3, l 4)), (s 5, move(r

Example π = {(s 3, move(r 1, l 3, l 4)), (s 5, move(r 1, l 5, l 4))} π' = {(s 2, move(r 1, l 2, l 3)), (s 3, move(r 1, l 3, l 4)), (s 5, move(r 1, l 5, l 4))} Sπ' = {s 2, s 3, s 5} Sg Sπ' = {s 2, s 3, s 4, s 5} s 5 2 s 2 Start s 3 s 4 Goal Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 20

Example π = {(s 3, move(r 1, l 3, l 4)), (s 5, move(r

Example π = {(s 3, move(r 1, l 3, l 4)), (s 5, move(r 1, l 5, l 4))} π' = {(s 2, move(r 1, l 2, l 3)), (s 3, move(r 1, l 3, l 4)), (s 5, move(r 1, l 5, l 4))} Sπ' = {s 2, s 3, s 5} Sg Sπ' = {s 2, s 3, s 4, s 5} π'' {(s 1, move(r 1, l 2))} π π' = {(s 2, move(r 1, l 2, l 3)), (s 3, move(r 1, l 3, l 4)), (s 5, move(r 1, l 5, l 4))} π' {(s 1, move(r 1, l 2)), (s 2, move(r 1, l 2, l 3)), (s 3, move(r 1, l 3, l 4)), (s 5, move(r 1, l 5, l 4))} s 5 2 s 3 Start s 1 s 4 Goal Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 21

Example π = {(s 2, move(r 1, l 2, l 3)), (s 3, move(r

Example π = {(s 2, move(r 1, l 2, l 3)), (s 3, move(r 1, l 3, l 4)), (s 5, move(r 1, l 5, l 4))} π' = {(s 1, move(r 1, l 2)), (s 2, move(r 1, l 2, l 3)), (s 3, move(r 1, l 3, l 4)), (s 5, move(r 1, l 5, l 4))} Sπ' = {s 1, s 2, s 3, s 5} Sg Sπ' = {s 1, s 2, s 3, s 4, s 5} s 5 2 s 3 Start s 1 s 4 Goal Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 22

Example π = {(s 2, move(r 1, l 2, l 3)), (s 3, move(r

Example π = {(s 2, move(r 1, l 2, l 3)), (s 3, move(r 1, l 3, l 4)), (s 5, move(r 1, l 5, l 4))} π' = {(s 1, move(r 1, l 2)), (s 2, move(r 1, l 2, l 3)), (s 3, move(r 1, l 3, l 4)), (s 5, move(r 1, l 5, l 4))} Sπ' = {s 1, s 2, s 3, s 5} Sg Sπ' = {s 1, s 2, s 3, s 4, s 5} s 5 2 s 3 Start s 1 s 4 Goal S 0 Sg Sπ' Mk. Det(π') = π' Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 23

Finding Weak Solutions Weak-Plan is just like Strong-Plan except for this: Weak. Pre. Img(S)

Finding Weak Solutions Weak-Plan is just like Strong-Plan except for this: Weak. Pre. Img(S) = {(s, a) : (s, a) i S ≠ } at least one successor is in S Weak Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 24

Example 2 π = failure π' = Sg Sπ' = {s 4} Start s

Example 2 π = failure π' = Sg Sπ' = {s 4} Start s 4 Goal Weak Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 25

Example s 5 π = failure π' = Sg Sπ' = {s 4} π''

Example s 5 π = failure π' = Sg Sπ' = {s 4} π'' = Pre. Image = {(s 1, move(r 1, l 4)), Start s 1 (s 3, move(r 1, l 3, l 4)), (s 5, move(r 1, l 5, l 4))} π π' = π' U π'' = {(s 1, move(r 1, l 4)), (s 3, move(r 1, l 3, l 4)), (s 5, move(r 1, l 5, l 4))} 2 s 3 s 4 Goal Weak Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 26

Example π= π' = {(s 1, move(r 1, l 4)), (s 3, move(r 1,

Example π= π' = {(s 1, move(r 1, l 4)), (s 3, move(r 1, l 3, l 4)), (s 5, move(r 1, l 5, l 4))} Sπ' = {s 1, s 3, s 5} Sg Sπ' = {s 1, s 3, s 4, s 5} S 0 Sg Sπ' Mk. Det(π') = π' s 5 2 s 3 Start s 1 s 4 Goal Weak Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 27

Finding Strong-Cyclic Solutions Begin with a “universal policy” π' that contains all state-action pairs

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 Prune. Outgoing removes state-action pairs that go to states not in Sg∪Sπ » Prune. Outgoing(π, S) = π – {(s, a) π : (s, a) S∪Sπ Prune. Unconnected removes states from which it is impossible to get to Sg » Start with π' = , compute fixpoint of π' π ∩ Weak. Pre. Img(Sg∪Sπ’) Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 28

Finding Strong-Cyclic Solutions s 5 2 s 3 Start s 1 s 4 Once

Finding Strong-Cyclic Solutions s 5 2 s 3 Start s 1 s 4 Once the policy stops changing, If it’s not a solution, return failure Remove. Non. Progress removes state-action pairs that don’t go toward the goal implement as backward search from the goal Mk. Det makes sure there’s only one action for each state Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ Goal s 6 at(r 1, l 6) 29

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

Example 1 π π' {(s, a) : a is applicable to s} s 5 2 s 3 Start s 1 s 4 Goal s 6 at(r 1, l 6) Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 30

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

Example 1 π π' {(s, a) : a is applicable to s} π {(s, a) : a is applicable to s} Prune. Outgoing(π', Sg) = π' Prune. Unconnected(π', Sg) = π' Remove. Non. Progress(π') = ? s 5 2 s 3 Start s 1 s 4 Goal s 6 at(r 1, l 6) Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 31

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

Example 1 π s 2 π' {(s, a) : a is applicable to s} π {(s, a) : a is applicable to s} Prune. Outgoing(π', Sg) = π' Prune. Unconnected(π', Sg) = π' Remove. Non. Progress(π') = Start s 1 as shown s 5 2 s 3 s 4 Goal s 6 at(r 1, l 6) Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 32

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

Example 1 π s 2 π' {(s, a) : a is applicable to s} π {(s, a) : a is applicable to s} Prune. Outgoing(π', Sg) = π' Prune. Unconnected(π', Sg) = π' Remove. Non. Progress(π') = Start s 1 as shown Mk. Det(…) = either s 5 2 s 3 s 4 {(s 1, move(r 1, l 4), (s 2, move(r 1, l 2, l 3)), (s 3, move(r 1, l 3, l 4), (s 4, move(r 1, l 4, l 6), (s 5, move(r 1, l 5, l 4)} Goal s 6 at(r 1, l 6) or {(s 1, move(r 1, l 2), (s 2, move(r 1, l 2, l 3)), (s 3, move(r 1, l 3, l 4), (s 4, move(r 1, l 4, l 6), (s 5, move(r 1, l 5, l 4)} Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 33

Example 2: no applicable actions at s 5 π π' {(s, a) : a

Example 2: no applicable actions at s 5 π π' {(s, a) : a is applicable to s} s 5 2 s 3 Start s 1 s 4 Goal s 6 at(r 1, l 6) Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 34

Example 2: no applicable actions at s 5 π π' {(s, a) : a

Example 2: no applicable actions at s 5 π π' {(s, a) : a is applicable to s} s 5 2 s 3 Start s 1 s 4 π {(s, a) : a is applicable to s} Prune. Outgoing(π', Sg) =… Goal s 6 at(r 1, l 6) Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 35

Example 2: no applicable actions at s 5 π π' {(s, a) : a

Example 2: no applicable actions at s 5 π π' {(s, a) : a is applicable to s} s 5 2 s 3 Start s 1 s 4 π {(s, a) : a is applicable to s} Prune. Outgoing(π', Sg) = π' Goal s 6 at(r 1, l 6) Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 36

Example 2: no applicable actions at s 5 π π' {(s, a) : a

Example 2: no applicable actions at s 5 π π' {(s, a) : a is applicable to s} 2 s 3 π {(s, a) : a is applicable to s} Prune. Outgoing(π', Sg) = π' Prune. Unconnected(π', Sg) Start s 1 = as shown s 4 Goal s 6 at(r 1, l 6) Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 37

Example 2: no applicable actions at s 5 π π' {(s, a) : a

Example 2: no applicable actions at s 5 π π' {(s, a) : a is applicable to s} 2 s 2 π {(s, a) : a is applicable to s} Prune. Outgoing(π', Sg) = π' Prune. Unconnected(π', Sg) Start s 1 = as shown π' as shown s 3 s 4 Goal s 6 at(r 1, l 6) Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 38

Example 2: no applicable actions at s 5 π' as hown π π' Prune.

Example 2: no applicable actions at s 5 π' as hown π π' Prune. Outgoing(π', Sg) = π' Prune. Unconnected(π', Sg) = π' so π = π' Remove. Non. Progress(π') = … 2 s 3 Start s 1 s 4 Goal s 6 at(r 1, l 6) Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 39

Example 2: no applicable actions at s 5 π' shown π π' Prune. Outgoing(π',

Example 2: no applicable actions at s 5 π' shown π π' Prune. Outgoing(π', Sg) = π' Prune. Unconnected(π'', Sg) = π' so π = π' Remove. Non. Progress(π') = as shown Mk. Det(shown) = no change 2 s 3 Start s 1 s 4 Goal s 6 at(r 1, l 6) Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 40

Planning for Extended Goals Here, “extended” means temporally extended Constraints that apply to some

Planning for Extended Goals Here, “extended” means temporally extended Constraints that apply to some sequence of states Examples: want to move to l 3, and then to l 5 want to keep going 2 back and forth between l 3 and l 5 wait move(r 1, l 2, l 1) wait Start wait Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ Goal 41

Planning for Extended Goals Context: the internal state of the controller Plan: (C, c

Planning for Extended Goals Context: the internal state of the controller Plan: (C, c 0, act, ctxt) C = a set of execution contexts c 0 is the initial context act: S C A ctxt: 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 Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-Non. Commercial-Share. Alike License: http: //creativecommons. org/licenses/by-nc-sa/2. 0/ 42