Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Automated Planning Lecture: Model Checking-Based Planning (Ch. 17) - Prof. Dana S. Nau, Study notes of Computer Science

A set of lecture slides from a university course on automated planning by dana nau, focusing on chapter 17, which covers planning based on model checking. The slides include motivations for the topic, concepts of nondeterministic systems, execution structures, and types of solutions. They also provide examples and explanations of weak, strong, and strong-cyclic solutions, as well as finding strong-cyclic solutions.

Typology: Study notes

Pre 2010

Uploaded on 02/13/2009

koofers-user-euj-1
koofers-user-euj-1 🇺🇸

10 documents

1 / 43

Toggle sidebar

Related documents


Partial preview of the text

Download Automated Planning Lecture: Model Checking-Based Planning (Ch. 17) - Prof. Dana S. Nau and more Study notes Computer Science in PDF only on Docsity! Dana Nau: Lecture slides for Automated Planning Licensed under 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 CMSC 722, AI Planning University of Maryland, Spring 2008 Lecture slides for Automated Planning: Theory and Practice Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 2 Motivation ● Actions with multiple possible outcomes ◆ 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 a c b Grasp block c a c b Intended outcome a b c Unintended outcome Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 5 Goal Start m ove(r1,l2,l1) wait wait wait wait 2 ● Robot r1 starts at location l1 ● Objective is to get 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 Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 6 Goal Start m ove(r1,l2,l1) wait wait wait wait 2 ● Robot r1 starts at location l1 ● Objective is to get 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 Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 7 Goal Start m ove(r1,l2,l1) wait wait wait wait 2 Execution Structures ●  Execution structure for 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 Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 10 Execution Structures ●  Execution structure for 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 Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 11 Goal Start m ove(r1,l2,l1) wait wait wait wait 2 Execution Structures ●  Execution structure for 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 Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 12 Execution Structures ●  Execution structure for 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 Dana Nau: Lecture slides for Automated Planning Licensed 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 Dana Nau: Lecture slides for Automated Planning Licensed 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 Dana Nau: Lecture slides for Automated Planning Licensed 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 Dana Nau: Lecture slides for Automated Planning Licensed 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,s4,s5} Sg ∪ Sπ' = {s2,s3,s4,s5} Goal Start s2 s5 s3 s4 2 Example Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 21 Goal Start s2 s5 s3 s4 s1 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,s4,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))} Dana Nau: Lecture slides for Automated Planning Licensed 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,s4,s5} Sg ∪ Sπ' = {s1,s2,s3,s4,s5} Goal Start s2 s5 s3 s4 s1 2 Example Dana Nau: Lecture slides for Automated Planning Licensed 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 Dana Nau: Lecture slides for Automated Planning Licensed 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 Dana Nau: Lecture slides for Automated Planning Licensed 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,s4,s5} Sg ∪ Sπ' = {s1,s3,s4,s5} S0 ⊆ Sg ∪ Sπ' MkDet(π') = π' s5 s3 s4 2 s1 Weak Weak Dana Nau: Lecture slides for Automated Planning Licensed 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 Dana Nau: Lecture slides for Automated Planning Licensed 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 Dana Nau: Lecture slides for Automated Planning Licensed 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(π') = … Goal Start s5 s3 s4 s2 2 s1 s6 at(r1,l6) Example 1 Dana Nau: Lecture slides for Automated Planning Licensed 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} Goal Start s3 s4 s2 2 s1 s6 at(r1,l6) Example 2 s5 Dana Nau: Lecture slides for Automated Planning Licensed 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) Example 2 s5 Dana Nau: Lecture slides for Automated Planning Licensed 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) = … Goal Start s3 s4 s2 2 s1 s6 at(r1,l6) Example 2 s5 Dana Nau: Lecture slides for Automated Planning Licensed 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(π') = … Goal Start s3 s4 s2 2 s1 s6 at(r1,l6) Example 2 Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 41 Goal Start s3 s4 s2 2 s1 s6 π' ← shown π ← π' PruneOutgoing(π',Sg) = π' PruneUnconnected(π'',Sg) = π' so π = π' RemoveNonProgress(π') = shown MkDet(shown) = shown at(r1,l6) Example 2 Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ 42 Planning for Extended Goals ●  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 forth between l3 and l5 Goal Start m ove(r1,l2,l1) wait wait wait wait 2
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved