Download presentation
Presentation is loading. Please wait.
Published byIrma Thomas Modified over 9 years ago
1
Automated Planning and Decision Making Prof. Ronen Brafman Automated Planning and Decision Making 20071 Introduction
2
Automated Planning and Decision Making2 General Information Instructor: Prof. Ronen Brafman ○Office:209, building 37 ○Office Hours: Wednesday 2-4 ○Email: brafman@cs.bgu.ac.ilbrafman@cs.bgu.ac.il Site: www.cs.bgu.ac.il/~pdm112
3
Automated Planning and Decision Making3 Course Goals Understand models and algorithms developed, mostly in AI, for building autonomous systems, and automating and supporting decision making processes.
4
4 Applications System that can figure out how to achieve a goal ○Autonomous systems (robots, game-playing agents, agents on web ○Automated composition of web-services (e.g., planning a vacation ○Solve complicated planning problems (e.g., logistics, construction Decision-support systems and decision analysis ○Making decisions under uncertainty and complex objectives: ○Strategic decisions such as whether to invest in some technology, where to build a new plant, etc. Probabilistic expert systems (diagnosis of illness, machine problems, business problems) Preference elicitation, especially for e-commerce ○Helping users choose among a set of complex alternatives (camera, pc, vacation package)
5
5 NASA’s Experience Galileo Jupiter or Cassini Saturn missions: ○$1G budget ○Ground crew of 100-300 Mars micro-rover Sojourne ○$100M budget ○Much smaller ground team ○Sojourne was designed to operate for two month, but lasted much longer ○It level of autonomy is still low compared to what we can achieve
6
6 NASA’s Experience Space exploration systems should be: ○Low cost/rapid development ○Low cost control: autonomous operations for long period of times ○Autonomous operations should guarantee success given tight deadlines and resource constraints 6
7
7 AUV for Environmental Monitoring and Maintenance Monitoring environments is important for economic, environmental, and security Sending ships and divers to monitor fish habitat regions or gas pipelines is very expensive An alternative: autonomous underwater vehicles that operate autonomously for long period of time Can communicate with base-station and get new goals and adjust their plans Current area of research!
8
Automated Planning and Decision Making4 Workload and Grade 5 Assignments (40% total) ○3-4 written assignments ○1-2 programming assignments ○Individual assignment weight varies with difficulty 2 Quizzes (25% each). Quizzes mandatory (except for usual cases) Attendance: mandatory (miss at most 4)
9
Automated Planning and Decision Making5 Syllabus Classical AI planning: How to figure out what to do to achieve a goal in a deterministic system Planning under uncertainty: How to act well in a stochastic environment or when we have only partial information Bayesian networks and influence diagrams: How to effectively represent and reason about uncertain events Preference models: How to obtain, represent, and reason with information about preferences Reinforcement learning: How to improve your performance in an unknown environment
10
10 Classical Planning in Two Slides World is modeled as an automaton Actions = letters in our alphabet Plans = words Initial state = initial state Goal states = accepting states The planning problem: find a word in the language of this automaton ○= find a plan that takes us from the initial state to the goal state ○Solution: trivial -- find shortest path from initial state to a goal state using Dijkstra’s algorithm ○Complexity O(|v| log |v| + |E|) ○Good bye, and see you at the exam!?
11
11 Classical Planning in Two Slides Problem: world is too big and complicated ○Too many states! ○Can’t really write down the whole automaton Solution: ○use compact, implicit specification Called a planning domain description language More natural to use than an explicit model ○find efficient algorithms that operate on this specification Called planning algorithms Generate a plan (= word) Efficient as a function of the input, not the automaton
12
Automated Planning and Decision Making6 Key Concepts Model: Describes those aspects of the world we want to capture. ○Should be intuitive ○Can be very large and difficult to work with directly ○In classical planning -- an automaton where letter = action Language: Tool for describing a model implicitly ○Should make it easy(ier) to describe common/useful models Interpretation: Maps between expressions in the language and the model ○Something that tells us how to build the automation from a planning domain description Queries: Questions about the model we wish to answer ○Classical planning: find a plan (=word) from the initial state to a goal state Algorithms: Compute answer to the queries
13
Automated Planning and Decision Making9 Classical Planning Problem Given a system with a set of deterministic operators/actions, an initial system state and a goal condition, find a sequence of actions that transform the system from its initial state to a state satisfying the goal ○Deterministic actions = actions whose effect is a deterministic function of the current system state ○Basically: find a word in the language of an automata whose states are the states of the world, letters are actions, goal states are accepting states
14
Automated Planning and Decision Making10 Example Applications Planning a sequence of operations to transform raw material to an end product ○Metal bending machines use this Finding a sequence of actions for the robot that will results in a sample from an interesting rock ○NASA’s Mars Rovers use such technology Find a sequence of actions to repair the current state ○Xerox copiers use this Program a system for simulating smart opponent ○Elbit uses this
15
Automated Planning and Decision Making11 Simple Toy Problem: Blocks’ World B A C B AC Initial StateGoal State
16
Automated Planning and Decision Making12 Model & Language Model: Describes the problem domain. ○S - Set of possible states of the world/system Possible block configurations ○A - Set of deterministic actions. A: S→S Take the form Move(X,Y,Z) Move(B,C,Table): etc. Language: Describes a model. ○How to represent a state? ○How to represent an action? B AC B AC B AC
17
Automated Planning and Decision Making13 The STRIPS Language Stanford Research Institute Problem Solver – an automated planner. (Fikes & Nilsson 1975) The name was later used to refer to a formal language for describing its inputs. This language is the basis for most of the languages for expressing automated planning problems.
18
Automated Planning and Decision Making14 STRIPS - States State – An assignment of truth values (true/false) to a set of state variables. ○On(X,Y), where X,Y are blocks or the Table ○Clear(X), where X is a block State representation in STRIPS: list of all variables whose truth value is true ○On(A,Table),On(B,C),On(C,Table),Clear(A),Clear(B) ○Recall from logic: on(A,Table) is a (propositional) variable A literal is a variable or its negation (on(A,B),-on(A,B),…) B AC
19
Automated Planning and Decision Making15 STRIPS - Actions Operators - described by a schema of variables composed of 3 lists: ○Preconditions. ○Delete-list. ○Add-list. Actions obtained by replacing operator variables by state variables (called grounding) Move(X,Y,Z) as STRIPS Action: ○Precondition: On(X,Y), Clear(X), Clear(Z) ○Add-List: On(X,Z), Clear(Y) ○Delete-List: On(X,Y), Clear(Z)
20
Automated Planning and Decision Making15 STRIPS - Actions (alternative) Operators - described by a schema of variables composed of 2 lists: ○Preconditions. ○Effects Actions obtained by replacing operator variables by state variables (called grounding) Move(X,Y,Z) as STRIPS Action: ○Precondition: On(X,Y), Clear(X), Clear(Z) ○Effects: On(X,Z), Clear(Y), -On(X,Y), -Clear(Z)
21
Automated Planning and Decision Making16 If a State does not satisfy Preconditions, Action is not defined. Else, the result of the Action is obtained as follows: New-State=(State/Delete-List) U Add-List Note: Apply delete operation first, because it is possible that: Add-List ∩ Delete-List ≠ {} STRIPS – Action Semantics
22
Automated Planning and Decision Making17 Example: Apply Move(B,C,A) Move(B,C,A) as STRIPS Action: ○Precondition: On(B,C), Clear(B), Clear(A) ○Add-List: On(B,A), Clear(C) ○Delete-List: On(B,C), Clear(A) B AC
23
Automated Planning and Decision Making18 Example: What if we try to apply the same action in our new state? In what other states can we apply this action?
24
Automated Planning and Decision Making19 Goal Representation Goals are represented by a conjunction (AND) of positive literals For example On(A,B) & On(B,C) A goal state is any state that satisfies this conjunction More than one state could be a goal state
25
25 The Planning Problem P = V - set of variables (not necessarily Boolean) ○State space size: |maximal domain size| |V| ○STRIPS: boolean variables (propositions) A - set of (deterministic) actions ○STRIPS is just one way to describe actions ○Many alternatives and extensions I - initial state ○STRIPS: list of propositions assigned true ○Some extensions allow uncertainty about I ○Can use a general formula over V to capture this G - goal condition ○STRIPS: a conjunction of propositions ○Could be an arbitrary formula over V
26
26 Questions We Can Ask Is there a plan? Find a plan? Find an optimal plan? ○Optimal can mean different thing Fewest actions Fewest time-steps with parallel actions Minimal sum of action cost
27
27 The Planning Problem P = V - set of variables (not necessarily Boolean) ○State space size: |maximal domain size| |V| ○STRIPS: boolean variables (propositions) A - set of (deterministic) actions ○STRIPS is just one way to describe actions ○Many alternatives and extensions I - initial state ○STRIPS: list of propositions assigned true ○Some extensions allow uncertainty about I ○Can use a general formula over V to capture this G - goal condition ○STRIPS: a conjunction of propositions ○Could be an arbitrary formula over V c: A R ○The cost of each action
28
Automated Planning and Decision Making21 Our Focus: Plan Generation Find a sequence of actions that will get us from the initial state to a goal state Complexity: PSPACE-Complete Find a short (bounded) sequence of actions (if one exists) that... Complexity: NP-complete
29
Automated Planning and Decision Making22 Original STRIPS Algorithm Maintain two data structures: ○Current state. ○Stack with sub-goals (i.e, state variables to achieve) Initialization: ○Push all goal variables to the stack in some order. ○Current state ← Initial state.
30
Automated Planning and Decision Making23 STRIPS Algorithm While ( stack is not empty ) { X ← pop ( stack ); Case: X is an action: Apply X to the current state; update state; record action X is a literal not satisfied in the current state: { Push an action that has X in its add list Push the preconditions of this action in some random order } Output the list of executed actions
31
Automated Planning and Decision Making24 Problem Example Recall the Blocks World: ○Initial state: Goal state: In STRIPS: ○Initial state: on(C,T), on(B,A), on(A,T), Clear(B), Clear(C) ○Goal state: on(A,B), on(B,C), on(C,T) B AC B A C
32
Automated Planning and Decision Making25 STRIPS Algorithm Example Initial state: Goal state: On(A,B) On(B,C) On(C,T) B AC B A C Goal state variables Clear(A) Clear(B) On(A,T) Move(A,T,B) On(B,C) On(C,T) We pop On(A,B), add the action Move(A,T,B), which has On(A,B) in its add-list, and push it’s pre conditions to the stack. We pop Clear(A), add the action Move(B,A,C), which has Clear(A) in its add-list, and push it’s pre conditions to the stack. Clear(C) Clear(B) On(B,A) Move(B,A,C) Clear(B) On(A,T) Move(A,T,B) On(B,C) On(C,T)
33
Automated Planning and Decision Making STRIPS Algorithm Example Clear(C) Clear(B) On(B,A) Move(B,A,C) Clear(B) On(A,T) Move(A,T,B) On(B,C) On(C,T) We pop these variables and because they are true no action follows We activate these operations on the current state 26
34
34 Example: A Problem STRIPS Will not Solve: ○ Initial state: Goal state: 34 BA C B A C
35
Automated Planning and Decision Making27 STRIPS Algorithm Observations: ○The algorithm can get stuck when there is a precondition that no action can generate Does this mean that there is no plan? ○The algorithm is not sound or complete Sound = returns only valid plans Complete = always returns a plan when one exists Terminating = the algorithm always terminates in finite time
36
Automated Planning and Decision Making28 Improved STRIPS Algorithm Given a goal or a list of preconditions ○We push the entire (conjunctive) goal or precondition on the stack When we pop a conjunctive precondition we push it back on stack, and above it we push the literals in it in some random order The new algorithm: ○Initialization: Goal is pushed to the stack in conjunctive form. ○Current state ← Initial state.
37
Automated Planning and Decision Making29 Improved STRIPS Algorithm While ( stack is not empty ) { X ← pop ( stack ); Case: X is an action:{ Apply X to the current state and update the state; Record the action } X is a conjunction of literals not satisfied in the current state: { Push X back; Push elements of X in some random order; } X is a goal literal not satisfied in the current state: { Push an action that has X in its add list Push the preconditions of this action } Output the list of execution actions
38
Automated Planning and Decision Making30 Algorithm Properties Improved algorithm is: Sound Incomplete
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.