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.

Slides:



Advertisements
Similar presentations
REVIEW : Planning To make your thinking more concrete, use a real problem to ground your discussion. –Develop a plan for a person who is getting out of.
Advertisements

Language for planning problems
Biointelligence Lab School of Computer Sci. & Eng.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
CLASSICAL PLANNING What is planning ?  Planning is an AI approach to control  It is deliberation about actions  Key ideas  We have a model of the.
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.
Time Constraints in Planning Sudhan Kanitkar
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:
Planning CSE 473 Chapters 10.3 and 11. © D. Weld, D. Fox 2 Planning Given a logical description of the initial situation, a logical description of the.
1 Classical STRIPS Planning Alan Fern * * Based in part on slides by Daniel Weld.
Automated Planning Introduction and Overview. Automated Planning: Introduction and Overview 2 Literature Malik Ghallab, Dana Nau, and Paolo Traverso.
1 Chapter 16 Planning Methods. 2 Chapter 16 Contents (1) l STRIPS l STRIPS Implementation l Partial Order Planning l The Principle of Least Commitment.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
3/25  Monday 3/31 st 11:30AM BYENG 210 Talk by Dana Nau Planning for Interactions among Autonomous Agents.
Classical Planning via State-space search COMP3431 Malcolm Ryan.
Classical Planning Chapter 10.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Complexity of Classical Planning Megan Smith Lehigh University CSE 497, Spring 2007.
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:
State-Space Search and the STRIPS Planner Searching for a Path through a Graph of Nodes Representing World States.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
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:
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.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
1 Chapter 3 Complexity of Classical Planning. 2 Review: Classical Representation Function-free first-order language L Statement of a classical planning.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
1 First order theories (Chapter 1, Sections 1.4 – 1.5) From the slides for the book “Decision procedures” by D.Kroening and O.Strichman.
Alternative Representations Propositions and State-Variables.
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 041 Predicate Calculus Learning outcomes Students are able to: 1. Evaluate predicate 2. Translate predicate into human language and vice versa.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
1 Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Advanced Algorithms Analysis and Design
Chapter 7. Propositional and Predicate Logic
Introduction to Logic for Artificial Intelligence Lecture 2
Advanced Algorithms Analysis and Design
Planning as Satisfiability
Classical Planning via State-space search
Planning as model checking, (OBDDs)
CS 5010 Program Design Paradigms “Bootcamp” Lesson 4.1
ARTIFICIAL INTELLIGENCE
Consider the task get milk, bananas, and a cordless drill
Review for the Midterm Exam
Logics for Data and Knowledge Representation
Chapter 16 Planning Based on Markov Decision Processes
Objective of This Course
Chapter 6 Intermediate-Code Generation
Alternating tree Automata and Parity games
Logics for Data and Knowledge Representation
Dana S. Nau University of Maryland 9:01 AM December 6, 2018
Logics for Data and Knowledge Representation
Chapter 7. Propositional and Predicate Logic
Predicates and Quantifiers
This Lecture Substitution model
Propositional Logic CMSC 471 Chapter , 7.7 and Chuck Dyer
Graphplan/ SATPlan Chapter
Chapter 2 Representations for Classical Planning
Graphplan/ SATPlan Chapter
Simplex method (algebraic interpretation)
Representations & Reasoning Systems (RRS) (2.2)
CS 5010 Program Design Paradigms “Bootcamp” Lesson 4.1
Relational Calculus Chapter 4, Part B
Presentation transcript:

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

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

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: http://creativecommons.org/licenses/by-nc-sa/2.0/

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: http://creativecommons.org/licenses/by-nc-sa/2.0/

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

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

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

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!)

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?

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

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

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

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

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: http://creativecommons.org/licenses/by-nc-sa/2.0/

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: http://creativecommons.org/licenses/by-nc-sa/2.0/

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: http://creativecommons.org/licenses/by-nc-sa/2.0/

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: http://creativecommons.org/licenses/by-nc-sa/2.0/

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

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

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: http://creativecommons.org/licenses/by-nc-sa/2.0/

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: http://creativecommons.org/licenses/by-nc-sa/2.0/

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: http://creativecommons.org/licenses/by-nc-sa/2.0/

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: http://creativecommons.org/licenses/by-nc-sa/2.0/

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: http://creativecommons.org/licenses/by-nc-sa/2.0/

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

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: http://creativecommons.org/licenses/by-nc-sa/2.0/

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: http://creativecommons.org/licenses/by-nc-sa/2.0/

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: http://creativecommons.org/licenses/by-nc-sa/2.0/

“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