Acknowledgements Some the slides used in this course are modifications of Dana Nau’s lecture slides for the textbook Automated Planning, licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ CSC2542 Other slides are modifications of slides developed by Malte Helmert, Representations Bernhard Nebel, and Jussi Rintanen. for (Classical) Planning I have also used some material prepared by P@trick Haslum and Rao Kambhampati. Sheila McIlraith I would like to gratefully acknowledge the contributions of these researchers, Department of Computer Science and thank them for generously permitting me to use aspects of their presentation material. University of Toronto Fall 2010 1 2 s 1 s 0 Further Recall: Recall: put System Description (as a state transition system) Planning Problem take Σ = ( S,A,E , γ ) P = ( Σ , s 0 ,G ) location 1 location 2 location 1 location 2 move1 move1 move2 move2 � S = {states} Σ : System Description s 3 s 2 � A = {actions} put � E = {exogenous events} S 0 : Initial state(s) � State-transition function γ : S x ( A ∪ E ) → 2 S take E.g., Initial state = s 0 location 1 location 2 location 1 location 2 unload load Example: Dock Workers Robots from previous slide G: Objective Goal state, s 4 s 5 � S = {s 0 , …, s 5 } move2 Set of goal states, � A = { move1, move2, put, take, load, unload } Set of tasks, � E = {} move1 “trajectory” of states, � γ : as captured by the arrows mapping states and location 1 location 2 location 1 location 2 Objective function, … actions to successor states E.g., Goal state = s 5 The Dock Worker Robots (DWR) domain 3 4
Representational Challenge Broad Perspective on Plan Representation How do we represent our planning problem is a way The right representation for the right objective. � that supports exploration of the principles and practice Distinguish representation schemes for: of automated planning? studying the principles of planning and related tasks. 1. specifying planning domains 2. Approach: direct use within (classical) planners 3. There isn’t one answer. � � The textbook proposes representations that are suitable for generating classical plans. 5 6 Summary: Broad Perspective This Lecture: 1. Studying the formal principles of planning and other related task 1. Studying the formal principles of planning and other related task � (First-order) logical languages � (First-order) logical languages (e.g., situation calculus, A languages, event calculus, fluent calculus, PDL) (e.g., situation calculus, A languages, event calculus, fluent calculus, PDL) Properties: Properties: � well-defined semantics, representational issues must be addressed in the � well-defined semantics, representational issues must be addressed in the WILL COVER LATER language (not in the algorithm that interprets and manipulates them) language (not in the algorithm that interprets and manipulates them) � excellent for study and proving properties. Not ideal for 3 below. � excellent for study and proving properties. Not ideal for 3 below. 2. Specifying planning domains 2. Specifying planning domains � PDDL-n (PDDL2.1, PDDL2.2, PDDL3, ….) � PDDL-n (PDDL2.1, PDDL2.2, PDDL3, ….) Properties: Properties: � (reasonably) well-defined semantics � (reasonably) well-defined semantics � designed for input to planners – translate to an internal representation for � designed for input to planners – translate to an internal representation for specific planners. Translators exist for most state-of-the-art planners specific planners. Translators exist for most state-of-the-art planners 3. Direct use within (classical) planners 3. Direct use within (classical) planners (what’s in the text) � Classical representation (e.g., STRIPS) � Classical representation (e.g., STRIPS) � Set-theoretic representation (basis for rep’ns used w/ SAT solvers) � Set-theoretic representation (basis for rep’ns used w/ SAT solvers) � State-variable representation (e.g., SAS, SAS+) � State-variable representation (e.g., SAS, SAS+) Variants of these exist for particular planners (e.g., SAT solvers, model Variants of these exist for particular planners (e.g., SAT solvers, model checkers, etc.) checkers, etc.) 7 8
Quick Review of Classical Planning Outline s 1 s 0 8 restrictive assumptions req’d: Representation schemes for classical planning � put A0: Finite Classical representation 1. take A1: Fully observable Set-theoretic representation location 1 location 2 location 1 location 2 2. A2: Deterministic move1 move1 move2 move2 State-variable representation 3. s 3 s 2 A3: Static Examples: DWR and the Blocks World � put A4: Attainment goals Comparisons � take A5: Sequential plans location 1 location 2 location 1 location 2 A6: Implicit time load unload A7: Offline planning s 4 s 5 move2 move1 location 1 location 2 location 1 location 2 9 10 Representation: Motivation for Approach Why is this more compact? Default view: � represent state explicitly � represent actions as a transition system (e.g., as an incidence matrix) Why is this more compact than an explicit transition system? Problem: � In an explicit transition system, actions are represented as state-to- � explicit graph corresponding to transition system is huge state transitions. Each action will be represented by an incidence � direct manipulation of transition system is cumbersome matrix of size |S|x|S| Solution: In the proposed model, actions are represented only in terms of state � Provide compact representation of transition system & induced graph variables whose values they care about, and whose value they affect. 1. Explicate the structure of the “states” (It exploits the structure of the problem!) � e.g., states specified in terms of state variables Consider a state space of 1024 states. It can be represented by � log 2 1024=10 state variables. If an action needs variable v1 to be true 2. Represent actions not as transition system/incidence matrices but as functions (e.g., operators) specified in terms of the state variables and makes v7 to be false, it can be represented by just 2 bits (instead � An action is applicable to a state when some state variables of a 1024x1024 matrix) have certain values. When applicable, it will change the values of � Of course, if the action has a complicated mapping from states to certain (other) state variables states, in the worst case the action rep will be just as large 3. To plan, � The assumption being made here is that the actions will have � Just give the initial state effects on a small number of state variables. � Use the operators to generate the other states as needed 11 12
Quick review of terminology 1. Classical Representation Atom : predicate symbol and args � � Start with a function-free first-order language � Use these to represent both fixed and dynamic (“fluent”) relations � Finitely many predicate symbols and constant symbols, adjacent( l,l’ ) attached( p,l ) belong( k,l ) but no function symbols occupied( l ) at( r,l ) loaded( r,c ) unloaded( r ) � Example: the DWR domain holding( k,c ) empty( k ) in( c,p ) on( c,c’ ) � Locations: l1, l2, … top( c,p ) top(pallet, p ) � Containers: c1, c2, … Ground expression: contains no variable symbols - e.g., in(c1,p3) � � Piles: p1, p2, … Unground expression: at least one variable symbol - e.g., in(c1, x ) � � Robot carts: r1, r2, … Substitution : θ = { x 1 ← v 1 , x 2 ← v 2 , …, x n ← v n } � � Cranes: k1, k2, … � Each x i is a variable symbol; each v i is a term Instance of e : result of applying a substitution θ to e � � Replace variables of e simultaneously, not sequentially 13 14 States Operators � State : a set s of ground atoms � Operator : a triple o =(name( o ), precond( o ), effects( o )) � The atoms represent the things that are true in one of Σ ’s states � name( o ) is a syntactic expression of the form n ( x 1 ,…, x k ) � Only finitely many ground atoms, so only finitely many possible states � n : operator symbol - must be unique for each operator � x 1 ,…, x k : variable symbols (parameters) � must include every variable symbol in o � precond( o ): preconditions � literals that must be true in order to use the operator � effects( o ): effects � literals the operator will make true 15 16
Recommend
More recommend