Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

1 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 other topics first before we cover them inb class. I estimate 4-5 weeks before you have successfully installed the planning system and be able to run it in your domain

2 Plan Representation in Classical Planning
Sources: Ch. 2 Appendix B.2 Slides from Dana Nau’s lecture Dr. Héctor Muñoz-Avila

3 Classical Assumptions (I)
A0: Finite system finitely many states, actions, and events A1: Fully observable the controller always knows what state  is in A2: Deterministic each action or event has only one possible outcome A3: Static No exogenous events: no changes except those performed by the controller Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:

4 Classical Assumptions (II)
A4: Attainment goals a set of goal states Sg A5: Sequential plans a plan is a linearly ordered sequence of actions (a1, a2, … an) A6 :Implicit time no time durations linear sequence of instantaneous states A7: Off-line planning planner doesn’t know the execution status Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:

5 Ok So Why Even Study Classical Planning?
By restricting the complex processes we can study properties and limitations (e.g., complexity) Some classical planning techniques can be expanded to deal with more realistic situations We will study these later Surprisingly some classical planners have made it into actual deployed applications

6 Classical Planning: Conceptual Model
State transition system  = (S,A,E,) S; States: s1, s2, …, sn A: Actions : valid transitions: General definition of transitions says S x A  2S but here we restrict to S x A  S or Why? E: events. E is assumed to be empty. Why? aw si sk Because actions are deterministic System  Because world is static

7 Three Representations
Set-Theoretic: uses propositional logic Classical representation: uses predicate logic State-variable representations Represent states in terms of variables used

8 Propositional Logic Definition. A proposition over a set P is defined as follows: any element in a set P is a proposition If 1 and 2, are propositions then: (1  2) (1  2) (1  2) are also propositions If  is a proposition then  is a proposition Example: tired  ¬hungry Semantics defined in the usual way Difference with predicate logic? No variables No quantifiers: ,  (Hai!)

9 Set-Theoretic Representation: State
If L= {p1, .., pn} then S 2L Lets define possible propositions for the Dock Worker Robots (DWR) domain Lets define the state above Suppose that there are 8 containers how many states would be needed?

10 Set-Theoretic Representation: Actions and state-transition functions
An action a is defined as a triple: (precs(a), eff+(a), eff(a)) such that: precs(a), eff+(a), eff(a)  2L An action a is applicable to an state s if precs(a)  s State-transition function (s,a): If an action a is applicable in an state s, and eff(a)  s Then the transition (s,a) is defined as (s  eff(a)) eff+(a) Otherwise (s,a) is undefined

11 Set-Theoretic Representation: Example
take put move1 move2 load unload location 1 location 2 s0 s1 s4 s5 s3 s2 Set-Theoretic Representation: Example Lets define a few actions Note that if more containers are added then: Existing actions may need to change New actions are needed Drawback? A large number of actions must be defined

12 Classical Representation: State
States: sets of ground (i.e., without variables) positive literals Lets define possible predicates for the Dock Worker Robots (DWR) domain Lets define the state above

13 Classical Representation: State (2)
Lets compare with the one in the book…

14 Classical Representation: Operators
Operator: a triple o=(name(o), precond(o), effects(o)) name(o) is a syntactic expression of the form n(x1,…,xk) n: operator symbol - must be unique for each operator x1,…,xk: 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 Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:

15 Classical Representation: Actions
Action: ground instance (via substitution) of an operator Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:

16 Notation Let S be a set of literals. Then
S+ = {atoms that appear positively in S} S– = {atoms that appear negatively in S} More specifically, let a be an operator or action. Then precond+(a) = {atoms that appear positively in a’s preconditions} precond–(a) = {atoms that appear negatively in a’s preconditions} effects+(a) = {atoms that appear positively in a’s effects} effects–(a) = {atoms that appear negatively in a’s effects} effects+(take(k,l,c,d,p)) = {holding(k,c), top(d,p)} effects–(take(k,l,c,d,p)) = {empty(k), in(c,p), top(c,p), on(c,d)} Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:

17 Applicability An action a is applicable to a state s if s satisfies precond(a), i.e., if precond+(a)  s and precond–(a)  s =  Here are an action and a state that it’s applicable to: Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:

18 Result of Performing an Action
If a is applicable to s, the result of performing it is (s,a) = (s – effects–(a))  effects+(a) Delete the negative effects, and add the positive ones

19 Planning domain: language plus operators
Corresponds to a set of state-transition systems Example: operators for the DWR domain

20 Planning Problems Given a planning domain (language L, operators O)
Statement of a planning problem: a triple P=(O,s0,g) O is the collection of operators s0 is a state (the initial state) g is a set of literals (the goal formula) The actual planning problem: P = (,s0,Sg) s0 and Sg are as above  = (S,A,) is a state-transition system S = {all sets of ground atoms in L} A = {all ground instances of operators in O}  = the state-transition function determined by the operators Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:

21 Plans and Solutions Plan: any sequence of actions  = a1, a2, …, an such that each ai is a ground instance of an operator in O The plan is a solution for P=(O,s0,g) if it is executable and achieves g i.e., if there are states s0, s1, …, sn such that  (s0,a1) = s1  (s1,a2) = s2  (sn–1,an) = sn sn satisfies g Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:

22 Example g1={loaded(r1,c3), at(r1,loc2)} Let P1 = (O, s1, g1), where
O is the set of operators given earlier Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:

23 Example (continued) Here are three solutions for P1:
take(crane1,loc1,c3,c1,p1), move(r1,loc2,loc1), move(r1,loc1,loc2), move(r1,loc2,loc1), load(crane1,loc1,c3,r1), move(r1,loc1,loc2) take(crane1,loc1,c3,c1,p1), move(r1,loc2,loc1), load(crane1,loc1,c3,r1), move(r1,loc1,loc2) move(r1,loc2,loc1), take(crane1,loc1,c3,c1,p1), load(crane1,loc1,c3,r1), move(r1,loc1,loc2) Each of them produces the state shown here: Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:

24 Comparison: Classical versus Set-Theoretical Representations
A set-theoretic representation is equivalent to a classical representation in which all of the atoms are ground From classical to set-theoretical: Exponential blowup? If a classical operator contains n atoms and each atom has arity k, then it corresponds to cnk actions where c = |{constant symbols}| Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:

25 Extensions to Classical Representation
Conditional effects Quantified expressions Disjunctive preconditions Axioms Extended goals

26 State-Variable Representation
Use ground atoms for properties that do not change, e.g., adjacent(loc1,loc2) For properties that can change, assign values to state variables Like fields in a record structure Classical and state-variable representations take similar amounts of space Each can be translated into the other in low-order polynomial time {top(p1)=c3, cpos(c3)=c1, cpos(c1)=pallet, holding(crane1)=nil, rloc(r1)=loc2, loaded(r1)=nil, …} Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:

27 Expressive Power Any problem that can be represented in one representation can also be represented in the other two Can convert in linear time and space, except when converting to set-theoretic (where we get an exponential blowup) P(x1,…,xn) becomes fP(x1,…,xn)=1 trivial Set-theoretic representation Classical representation State-variable representation write all of the ground instances f(x1,…,xn)=y becomes Pf(x1,…,xn,y) Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:

28 Comparison Classical representation
The most popular for classical planning, partly for historical reasons Set-theoretic representation Can take much more space than classical representation Useful in algorithms that manipulate ground atoms directly e.g., planning graphs (Chapter 6), satisfiability (Chapters 7) Useful for certain kinds of theoretical studies State-variable representation Equivalent to classical representation Less natural for logicians, more natural for engineers Useful in non-classical planning problems as a way to handle numbers, functions, time Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:

29 “Hidden” Issues Closed World Assumption
Ground literals not in the state are assumed to be false Unification: When unifying two atoms there is a unique Most General Unifier (sans variable names) But: when matching sets of atoms (e.g., operator preconditions versus state) multiple different Most General Unifiers may exist This increases branching factor of search space


Download ppt "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."

Similar presentations


Ads by Google