Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:

Slides:



Advertisements
Similar presentations
The Game of Algebra or The Other Side of Arithmetic The Game of Algebra or The Other Side of Arithmetic © 2007 Herbert I. Gross by Herbert I. Gross & Richard.
Advertisements

Chapter 5 Plan-Space Planning.
Planning II: Partial Order Planning
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Situation Calculus for Action Descriptions We talked about STRIPS representations for actions. Another common representation is called the Situation Calculus.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Key Stone Problem… Key Stone Problem… next Set 21 © 2007 Herbert I. Gross.
Let remember from the previous lesson what is Knowledge representation
Lesson 6. Refinement of the Operator Model This page describes formally how we refine Figure 2.5 into a more detailed model so that we can connect it.
Foundations of (Theoretical) Computer Science Chapter 1 Lecture Notes (Section 1.4: Nonregular Languages) David Martin With some.
Linear Systems The definition of a linear equation given in Chapter 1 can be extended to more variables; any equation of the form for real numbers.
The Game of Algebra or The Other Side of Arithmetic The Game of Algebra or The Other Side of Arithmetic © 2007 Herbert I. Gross by Herbert I. Gross & Richard.
Algebra Problems… Solutions
Induction and recursion
Data Structures Introduction Phil Tayco Slide version 1.0 Jan 26, 2015.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Called as the Interval Scheduling Problem. A simpler version of a class of scheduling problems. – Can add weights. – Can add multiple resources – Can ask.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
1 Plan-Space Planning Dr. Héctor Muñoz-Avila Sources: Ch. 5 Appendix A Slides from Dana Nau’s lecture.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Reading and Writing Mathematical Proofs
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Lecture 03: Theory of Automata:08 Finite Automata.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
State-Space Search and the STRIPS Planner Searching for a Path through a Graph of Nodes Representing World States.
CS.462 Artificial Intelligence SOMCHAI THANGSATHITYANGKUL Lecture 07 : Planning.
Lecture 07: Formal Methods in SE Finite Automata Lecture # 07 Qaisar Javaid Assistant Professor.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Introduction to Graph “theory” Why do we care about graph theory in testing and quality analysis? –The “flow” (both control and data) of a design, within.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Albert Gatt LIN3021 Formal Semantics Lecture 4. In this lecture Compositionality in Natural Langauge revisited: The role of types The typed lambda calculus.
Temporal Planning Planning with Temporal and Concurrent Actions.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
For Friday No reading Homework: –Chapter 11, exercise 4.
Copyright © Cengage Learning. All rights reserved.
A Logic of Partially Satisfied Constraints Nic Wilson Cork Constraint Computation Centre Computer Science, UCC.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Automated Reasoning Early AI explored how to automated several reasoning tasks – these were solved by what we might call weak problem solving methods as.
Automated Planning Dr. Héctor Muñoz-Avila. What is Planning? Classical Definition Domain Independent: symbolic descriptions of the problems and the domain.
Introduction to Planning Dr. Shazzad Hosain Department of EECS North South Universtiy
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
CS 103 Discrete Structures Lecture 13 Induction and Recursion (1)
Solving Systems of Equations Algebraically Chapter 3.2.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Alternative Representations Propositions and State-Variables.
1 CSEP590 – Model Checking and Automated Verification Lecture outline for July 9, 2003.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
CompSci 102 Discrete Math for Computer Science March 13, 2012 Prof. Rodger Slides modified from Rosen.
From Natural Language to LTL: Difficulties Capturing Natural Language Specification in Formal Languages for Automatic Analysis Elsa L Gunter NJIT.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
CSE573 Autumn /11/98 Planning Administrative –PS3 due 2/23 –Midterm Friday Last time –regression planning algorithm –introduction to plan-space.
1 The Relational Data Model David J. Stucki. Relational Model Concepts 2 Fundamental concept: the relation  The Relational Model represents an entire.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Dana S. Nau University of Maryland 3:10 AM September 12, 2018
Dana S. Nau University of Maryland 1:50 AM September 14, 2018
Review for the Midterm Exam
Discrete Structure II: Introduction
Warning I estimate 3 weeks of intensive reading for you to understand your assigned topic These are not self contained and you will need to understand.
Properties of the Real Numbers Part I
Dana S. Nau University of Maryland 9:01 AM December 6, 2018
MA/CSSE 474 More Math Review Theory of Computation
Presentation transcript:

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 1 Chapter 14 Temporal Planning Lecture slides for Automated Planning: Theory and Practice Dana S. Nau University of Maryland Fall 2009

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 2 Temporal Planning Motivation: want to do planning in situations where actions  have nonzero duration  may overlap in time Need an explicit representation of time In Chapter 10 we studied a “temporal” logic  Its notion of time is too simple: a sequence of discrete events  Many real-world applications require continuous time  How to get this?

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 3 Temporal Planning The book presents two equivalent approaches: 1. Use logical atoms, and extend the usual planning operators to include temporal conditions on those atoms »Chapter 14 calls this the “state-oriented view” 2. Use state variables, and specify change and persistence constraints on the state variables »Chapter 14 calls this the “time-oriented view” In each case, the chapter gives a planning algorithm that’s like a temporal-planning version of PSP

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 4 The Time-Oriented View We’ll concentrate on the “time-oriented view”: Sections –  It produces a simpler representation  State variables seem better suited for the task States not defined explicitly  Instead, can compute a state for any time point, from the values of the state variables at that time

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 5 State Variables A state variable is a partially specified function telling what is true at some time t  cpos(c1) : time  containers U cranes U robots »Tells what c1 is on at time t  rloc(r1) : time  locations »Tells where r1 is at time t Might not ever specify the entire function cpos( c ) refers to a collection of state variables  We’ll be sloppy and call it a state variable rather than a collection of state variables

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 6 DWR domain, with  robot r1  container c1  ship Uranus  locations loc1, loc2  cranes crane2, crane4 r1 is in loc1 at time t 1, leaves loc1 at time t 2, enters loc2 at time t 3, leaves loc2 at time t 4, enters l at time t 5 c1 is in pile1 until time t 6, held by crane2 from t 6 to t 7, sits on r1 until t 8, held by crane4 until t 9, and sits on p until t 10 or later Uranus stays at dock5 from t 11 to t 12 Example

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 7 Temporal Assertions Temporal assertion:  Event: an expression of the form : (v 1,v 2 ) »At time t, x changes from v 1 to v 2 ≠ v 1  Persistence condition: 1,t 2 ) : v » x = v throughout the interval [t 1,t 2 )  where »t, t 1, t 2 are constants or temporal variables »v, v 1, v 2 are constants or object variables Note that the time intervals are semi-open  Why are they?

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 8 Temporal Assertions Temporal assertion:  Event: an expression of the form : (v 1,v 2 ) »At time t, x changes from v 1 to v 2 ≠ v 1  Persistence condition: 1,t 2 ) : v » x = v throughout the interval [t 1,t 2 )  where »t, t 1, t 2 are constants or temporal variables »v, v 1, v 2 are constants or object variables Note that the time intervals are semi-open  Why are they?  To prevent potential confusion about x’s value at the endpoints

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 9 Chronicles Chronicle: a pair  = (F,C)  F is a finite set of temporal assertions  C is a finite set of constraints »temporal constraints and object constraints  C must be consistent (i.e., there must exist variable assignments that satisfy it) Timeline: a chronicle for a single state variable The book writes F and C in a calligraphic font  Sometimes I will, more often I’ll just use italics

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 10 Example Timeline for rloc(r1) : Inconsistency in the book between Figure 14.5 and Example 14.9

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 11 C-consistency A timeline (F,C) is c-consistent (chronicle-consistent) if  C is consistent, and  Every pair of assertions in F are either disjoint or they refer to the same value and/or time points: »If F contains both 1,t 2 ):v 1 and 3,t 4 ):v 2, then C must entail {t 2 ≤ t 3 }, {t 4 ≤ t 1 }, or {v 1 = v 2 } »If F contains both 1,v 2 ) and 1,t 2 ):v, then C must entail {t < t 1 }, {t 2 < t}, {v = v 2, t 1 = t}, or {t 2 = t, v = v 1 } »If F contains both 1,v 2 ) and 1,v' 2 ), then C must entail {t ≠ t'} or {v 1 = v' 1, v 2 = v' 2 } (F,C) is c-consistent iff every timeline in (F,C) is c-consistent The book calls this consistency, not c-consistency I’m using a different name because it is a stronger requirement than ordinary mathematical consistency  The separation constraints must actually be entailed by C  It’s sort of like saying that (F,C) contains no threats

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 12 Let (F,C) include the timelines given earlier, plus some additional constraints:  t 1 ≤ t 6, t 7 < t 2, t 3 ≤ t 8, t 9 < t 4, attached(p, loc2 ) Above, I’ve drawn the entire set of time constraints All pairs of temporal assertions are either disjoint or refer to the same value at the same point, so (F,C) is c-consistent Example

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 13 Support and Enablers Let  be either or  Note that  requires x = v either at t or just before t Intuitively, a chronicle  = (F,C) supports  if  F contains an assertion  that we can use to establish x = v at some time s <t, »  is called the support for   and if it’s consistent with  for v to persist over [s,t) and for  be true Formally,  = (F,C) supports  if  F contains an assertion  of the form  = or  = and   separation constraints C' such that the following chronicle is c-consistent: »(F  α}, C  C'  {w=v, s < t})  C' can either be absent from  or already in  The chronicle  =  }, C'  {w=v, s < t}) is an enabler for α  Analogous to a causal link in PSP Just as there could be more than one possible causal link in PSP, there can be more than one possible enabler

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 14 Example Let  be as shown Then  supports α 1 = routes, loc3 ) in two different ways:   1 establishes rloc(r1) = routes at time t 2 »this can support α 1 if we constrain t 2 < t < t 3 »enabler is δ 1 = ({ 2,t): routes, α 1 }, {t 2 < t < t 3 }   2 establishes rloc(r1) = routes at time t 4 »this can support α 1 if we constrain t 4 < t < t 5 »enabler is δ 2 = ({ 4,t): routes, α 1 }, {t 4 < t < t 5 }  1 = t 2 :(loc1, routes)  2 = t 4 :(loc2, routes)

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 15 Enabling Several Assertions at Once  = (F,C) supports a set of assertions E = {  1, …,  k } if both of the following are true  F  E contains a support  i for  i other than  i itself  There are enablers  1, …,  k for  1, …,  k such that the chronicle    1  …   k is c-consistent Note that some of the assertions in E may support each other!  = {  1, …,  k } is an enabler for E

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 16 Example Let  be as shown Let α 1 be the same as before: α 1 = routes, loc3 ) Let α 2 = loc3 Then  supports{α 1, α 2 } in four different ways:  As before, for α 1 we can use either  1 and δ 1 or  2 and δ 2  We can support α 2 with  3 = 5 :( routes,l) »Enabler is δ 3 = ({ 5,t'): loc3, α 2 }, {l = loc3, t 5 < t'})  Or we can support α 2 with α 1 »If we supported α 1 with  1 and enabled it with δ 1, the enabler for α 2 is δ 4 = ({ loc3, α 2 }, {t < t' < t 3 }) »If we supported α 1 with  1 and enabled it with δ 2, then replace t 3 with t 5 in δ 4

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 17 One Chronicle Supporting Another Let  ' = (F',C') be a chronicle, and suppose  = (F,C) supports F'. Let δ 1, …, δ k be all the possible enablers of  '  For each δ i, let δ' i = δ 1  C' If there is a δ' i such that   δ' i is c-consistent,  Then  supports  ', and δ' i is an enabler for  '  If δ' i  , then  entails  ' The set of all enablers for  ' is  (  /  ') = {δ' i :   δ' i is c-consistent}

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 18 Chronicles as Planning Operators Chronicle planning operator: a pair o = (name(o), (F(o),C(o)), where  name(o) is an expression of the form o(t s, t e, …, v 1, v 2, …) »o is an operator symbol »t s, t e, …, v 1, v 2, … are all the temporal and object variables in o  (F(o), C(o)) is a chronicle Action: a (partially) instantiated operator, a If a chronicle  supports (F(a),C(a)), then a is applicable to   a may be applicable in several ways, so the result is a set of chronicles »  ( ,a) = {    |    (a/  )}

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 19 Example: Operator for Moving a Robot move (t s, t e, t 1, t 2, r, l, l') =

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 20 Applying a Set of Actions Just like several temporal assertions can support each other, several actions can also support each other  Let π = {a 1, …, a k } be a set of actions  Let  π =  i (F(a i ),C(a i ))  If  supports  π then π is applicable to   Result is a set of chronicles  ( ,π) = {    |    (  π /  )} Example:  Suppose  asserts that at time t 0, robots r1 and r2 are at adjacent locations loc1 and loc2  Let a 1 and a 2 be as shown  Then  supports {a 1, a 2 } with l 1 = loc1, l 2 = loc2, l' 1 = loc2, l' 2 = loc1, t 0 < t s < t 1 < t' 2, t 0 < t' s < t' 1 < t 2 a1a1 a2a2

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 21 Domains and Problems Temporal planning domain: a pair D = (  ,O)  O = {all chronicle planning operators in the domain}    = {all chronicles allowed in the domain} Temporal planning problem on D: a triple P = (D,  0,  g )  D is the domain   0 and  g are initial chronicle and goal chronicle  O is the set of chronicle planning operators Statement of the problem P: a triple P = (O,  0,  g )  O is the set of chronicle planning operators   0 and  g are initial chronicle and goal chronicle Solution plan: a set of actions π = {a 1, …, a n } such that at least one chronicle in  (  0,π) entails  g

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 22 As in plan-space planning, there are two kinds of flaws:  Open goal: a tqe that isn’t yet enabled  Threat: an enabler that hasn’t yet been incorporated into  set of sets of enablers set of open goals {(/)}{(/)}

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 23 Resolving Open Goals Let   G be an open goal Case 1:  supports   Resolver: any enabler for  that’s consistent with   Refinement: »G  G – {  } »K  K   (  /  ) Case 2:  doesn’t support   Resolver: an action a = (F(a),C(a)) that supports  »We don’t yet require a to be supported by   Refinement: »π  π  {a} »     (F(a), C(a)) »G  G  F(a)Don’t remove  yet: we haven’t chosen an enabler for it - We’ll choose one in a later call to CP, in Case 1 above »K  K   (a/  )put a’s set of enablers into K

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 24 Resolving Threats Threat: each enabler in K that isn’t yet entailed by  is threatened  For each C in K, we need only one of the enablers in C »They’re alternative ways to achieve the same thing  “Threat” means something different here than in PSP, because we won’t try to entail all of the enablers »Just the one we select  Resolver: any enabler  in C that is consistent with   Refinement: »K  K – C »     

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 25 Example Let  0 be as shown, and  g =  0 U ({α 1,α 2 },{}), where α 1 and α 2 are the same as before:  α 1 = routes, loc3 )  α 2 = loc3 As we saw earlier, we can support {α 1,α 2 } from  0  Thus CP won’t add any actions  It will return a modified version of  0 that includes the enablers for {α 1,α 2 }

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: 26 Modified Example Let  0 be as shown, and  g =  0 U ({α 1,α 2 },{}), where α 1 and α 2 are the same as before:  α 1 = routes, loc3 )  α 2 = loc3  This time, CP will need to insert an action move (t s, t e, t 1, t 2, r1, loc4, loc3 ) »with t 5 < t s < t 1 < t 2 < t e loc4