Artificial Intelligence Chapter 11: Planning Slides from Russell and Norvig’s Artificial Intelligence: A Modern Approach, Second Edition
Introduction Like problem-solving agents, planning agents have goals, states, and actions A plan is a sequence of actions to achieve some goal
Why plan, when you can search?
From Problem Solving to Planning Planners can Use FOL (for example) for representing states, goals, and actions Break hard problems into manageable subproblems Solve some subproblems independently of others
Planning Could use standard FOL inference (e.g., resolution) to find plan But this isn’t practical: Huge search space Instead, use special-purpose (=efficient) algorithms, each with its own restricted (= smaller search space) language
STRIPS Representation for Planning STRIPS language States = conjunctions of function-free ground literals Goals = same thing, but can also have variables (assumed to be existentially quantified)
STRIPS Representation for Actions Actions have three components: Action description = just the name Precondition = conjunction of positive literals that says what must be true to make the action applicable Effect = conjunction of positive or negative literals that says what changes in the state when the action is applied Can be separated into an add list and a delete list
Representations for Plans Relative ordering of plan steps Total order (linearization): all steps in order Partial order: some steps in order
Plan Solutions Problems with linearized, totally ordered plans Which linearization to choose? What if agent can perform some steps in parallel? When combining plans (e.g., for subproblems), partial ordering gives flexibility Solution = an executable plan that guarantees reaching the goal Complete plans: all preconditions of all steps are achieved by prior steps Consistent plans: no inconsistencies in ordering constraints or causal links
Plan Space Searching through plan space Each node is a partial plan, which represents a set of complete plans Search operators modify plans: add steps, reorder steps, etc. Progression (forwards) vs. Regression (backwards) planning
The Plan Data Structure A Plan data structure contains: A set of plan steps, Si A set of step ordering constraints A set of open preconditions A set of causal links Initial plan: Steps = Start and Finish Start’s effects = initial state. No preconditions. Finish’s preconditions = goal state. No effects.
Clobbering
Partial-Order Planning Start with the minimal partial plan Each point in planning adds a step (and causal links) that achieves some precondition Can use standard search algorithms The key is the formulation: Nodes aren’t world states, they’re partial plans
Partial-Order Planning Example Start at home Goal = return home with milk, bananas, and drill Only add steps that achieve an unachieved precondition -> Reduces search space Causal links help prune bad plans quickly, before going too far down the dead end
Example
Example
Example