lecture 11 planning what is planning
play

Lecture 11: Planning What is planning? Prof. Julia Hockenmaier - PowerPoint PPT Presentation

CS440/ECE448: Intro to Artificial Intelligence Lecture 11: Planning What is planning? Prof. Julia Hockenmaier juliahmr@illinois.edu http://cs.illinois.edu/fa11/cs440 What is planning? Applications


  1. CS440/ECE448: Intro to Artificial Intelligence � Lecture 11: 
 Planning 
 What is planning? � � Prof. Julia Hockenmaier � juliahmr@illinois.edu � � http://cs.illinois.edu/fa11/cs440 � � � What is planning? � Applications of planning � – Space exploration � Plan = ʻ plan of attack ʼ : � – Manufacturing � Use inference to find a sequence of actions to reach a goal state from the initial state � – Games (Bridge) � � – Scheduling � Combines logic and search: � – Logistics � – Logic: to describe states and define actions � – Semantic web support 
 – Search: to find the actual sequence of actions � � CS440/ECE448: Intro AI � 4 �

  2. 
 Main types of planners � Classical planning: assumptions � The environment is: � Domain-specific: � – Fully observable � Tuned to target domain; don ʼ t generalize; 
 – Deterministic � used in real-world applications � – Static � – Known � ( In CS440): domain-independent planning � – Finite (finitely many states and actions) � the only domain-specific knowledge: 
 � definitions of basic actions; 
 Under these assumptions, 
 requires many simplifying assumptions; 
 a plan is a linear sequence of actions, 
 = classical planning � and planning can be done off-line � CS440/ECE448: Intro AI � 5 � CS440/ECE448: Intro AI � 6 � Classical Planning � Classical planning � State transition 
 State transition system ! = (S, A, ! ) system ! = (S,A, ! ) – S = {states} – A = {actions} Solution 
 – ! = S " A # 2 S {state transition function) � Initial state s 0 � Planner � (= sequence 
 � of actions) � Initial state: s 0 Set of goal states: S g � (a 1 ,a 2 ,…,a n-1 ,a n ) � � Task: Given ( ! , s 0 , S g ) , find a sequence of actions Goal specification � (a 1 ,a 2 ,…,a n-1 ,a n ) that produces a sequence of state (description of goal transitions (s 1 ,s 2 ,…,s n-1 ,s n ) such that s n ∈ S g . � states) S g � CS440/ECE448: Intro AI � 7 �

  3. Granularities of representations: Blocks World � Blocks World � F � F � A � A � C � C � E � E � D � D � B � G � B � G � Goals: � Several ontologies possible 
 – Build a tower of A,B,C,… � (ways to conceptualize the world and its – Get block G, � changes) � – …. � � Silly domain, but concisely illustrates many general planning issues � Alternative Ontologies: 
 Levels of Ontological Commitment � how to move a block � Version 1: � Version 3: � Version 5: � Abstract, High-Level Ontology 
 MoveBlock � MoveGripper � Motor1-Voltage Action(Achieve-Block-Configuration3) 
 Problem is trivialized � � OpenGripper � (current, dutycycle) � � MoveGripper � … � Planning � Assume Version 2: � CloseGripper � � MoveGripper � � …. � we ʼ re here � Mid-Level Ontology 
 GraspBlock � Version 4: � MoveBlock( ... ) � MoveGripper � Motor1 Velocity � Assumed 
 Hardware 
 UngraspBlock � Motor2 Velocity � Low-Level Ontology 
 Support � � … � Action(Motor3, Voltage7) 
 Artificially and unnecessarily difficult � CS440/ECE448: Intro AI � 11 �

  4. All reachable situations are Traditional Blocks World � defined by… � F � 1) The initial state � A � C � 2) Axioms of world change 
 E � D � (= operator definitions ) � B � G � ! " Initial State # Operator Definitions � Only support relationships matter (and change): � I,a4 � On(x,y) (x is on y) , Clr(x) (x is clear) � I,a2 � Assumptions: � I,a4,a3 � I � I,a2,a34 � – A block can support at most one other block � I,a15 � – The table can support any number of blocks � – Generalized block movement move(x,y,z) � I,a15,a4 � I,a17 � Planning as search � Planning vs. Search � Planning is ʻ just ʼ search: � – Nodes = states � Interesting 
 All 
 – Edges = actions � action 
 action 
 << � � sequences � sequences � But: � – the state space can be very large! � Search operators are “inferentially opaque” � – we don ʼ t describe states with an atomic label Planning allows reasoning about state ( ʻ s10 ʼ ), but use a ʻ factored ʼ representation to features � capture only the essential properties � � CS440/ECE448: Intro AI � 15 �

  5. Planning as theorem proving � This week ʼ s lectures � Planning: given the initial state, find a sequence Representations for planning: � of actions that yield a situation where goal holds. 
 – Situation calculus � = Use operators to derive goal from initial state. � – STRIPS � Operator : carry(x) 
 – PDLL � General knowledge of one kind of action: 
 Planning algorithms: � preconditions and effects � – Forward chaining and backward chaining � Action : carry(BlockA) 
 – Propositionalization (SATplan) � Ground instance of an operator � – GraphPlan � CS440/ECE448: Intro AI � 18 � Key questions � How do we represent states? � – What information do we need to know? � – What information can we (safely) ignore? � Representations 
 � How do we represent actions? � for planning � – When can we perform an action? � – What changes when we perform an action? � – What stays the same? � – What level of detail do we care about? �

  6. Atomic vs. factored 
 Representations for states � state representations � We want to know what state the world is in: � – What are the current properties of the entities? � s 213 – What are the current relations between the entities? � � Logic representation : � Each state is a conjunction of ground predicates: � Universe U Block(A) ∧ Block(B) ∧ Block(C) ∧ Table(T) ∧ On(A,B) ∧ On(B,T) ∧ On(C,T) ∧ Clear(A) ∧ Clear(C) on(A, C) CS440/ECE448: Intro AI � 21 � Fluents vs. 
 Planning: Database semantics � atemporal propositions � – Each constant refers to a unique object 
 � (no two names for the same object) 
 Atemporal propositions: � � Certain properties and relations 
 – Domain closure : the domain consists only of hold always true: table(T) does not change. � those objects for which we have a name. 
 � � Fluents: � – Closed world assumption : if we don ʼ t know on(A, B) may be true in current state, but not after that P is true, we assume it ʼ s false. 
 the action move(A,B,T) is performed. � � on(x, y) is a fluent. � – No function symbols � We may add a state variable: on(x, y, s) � CS440/ECE448: Intro AI � 23 �

  7. Representations for operators � Representations for operators � The operator definitions model world dynamics: � Operator name (and arity): move x from y to z � – When can an action be performed? � � � move(x,y,z) – How does the world change as a result? � � � Preconditions: when can the action be performed � Different languages: � clear(x) ∧ clear(z) ∧ on(x,y) – Situation Calculus �� Pure first-order logic � � – Strips Operators � � � – PDDL Operators* � Specialized syntax � Effects : how does the world change? � � clear(y) ∧ on(x,z) ∧ clear(x) ∧ ¬clear(z) ∧ ¬on(x,y) � � new persist retract * Ch10 R & N say PDDL but actually discuss Strips � => main differences between languages � � CS440/ECE448: Intro AI � 26 � Summary: representations for classical planning � Language: restricted FO predicate logic; � – No functions; database semantics: � – Finite number of predicates and constants � � Situation calculus � States: sets (conjunction) of ground atoms � � (positive literals) � – Only finite number of states is possible � Operators: (name, preconditions, effects) � – Preconditions and effects: sets of literals � CS440/ECE448: Intro AI � 27 �

  8. The “Result” Function: � Operators: Situation Calculus � Result: Action $ Situation % Situation � FOPC with some conventions � State transition function (not a predicate). � � Result (Move (A, B, C), S i ) Move-Block ontology with: � – at most one block directly on top of another � Result (Move (B, Tbl, A), Result (Move (A, B, C), S i )) – a big table (always empty space available) � Straightforward generalization to variables: � move(x,y,z) operator: move x from y to z � Result (Move (?x, ?y, C), S i ) � Fluents require situation variable: clear(x,s) � denotes the set of situations where something was just moved to C from the previous state S i � Useful in “Goal Regression” planning � Situation calculus identifies states World Change � by history, not configuration 
 A � � B � C � A � A � B � C � B � C � Initial State: S i 
 On(A, C, S i ) � S i � Result (Move(A,C,B),S i ) � Move(A,C,Tbl) � B � C � A � B � B � C � C � A � A � Next State: Result(Move(A,C,Tbl),S i ) 
 Result (Move(A,C,Tbl),S i ) � Result(Move(A,Tbl, � On(A, Tbl, Result(Move(A,C,Tbl),S i )) � Result (Move(A,C,B),S i ) �

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend