The process of finding a sequence of actions that transforms the current state of the world into one where the goal is achieved. Done by deliberative agents. Enables reasoning.
Assumes:
- Deterministic
- Fully observable
- Static
- Discrete
Used for:
- Mobile robots and logistics scheduling
- Virtual agents and workflow management
- Hubble telescope operation planning
- Automated test-case generation in software engineering
Frame Assumption
Section titled “Frame Assumption”When an action happens, only the explicitly stated effects change.
Planning Problem
Section titled “Planning Problem”Must specify:
- Representation of world states
- The initial state
- A goal description
- A set of possible actions and their effects
The solution is a plan (sequence of actions) that achieves the goal.
Requirements
Section titled “Requirements”- A formal language to represent states, goals, and actions
Must be expressive enough to describe various domains yet simple enough for efficient algorithms. - An algorithm to search for valid plans
- Logical structure enabling efficient reasoning about actions
Aka. Planning Domain Definition Language. The standard language for classical planning.
Conjunction of ground atomic facts. May be propositional or first-order.
Example:
Cannot use variables or functions. Anything not explicitly stated is false. No aliases for objects.
A state satisfies a goal if it includes all atoms of the goal.
Example:
Action
Section titled “Action”Each action schema contains:
- Preconditions: Required to execute the action.
- Effects: facts added or removed after execution.
Parameters are listed in parentheses. Effects can be separated into add list and delete list.
An action is applicable iff its preconditions are satisfied in the current state.
Example:
STRIPS
Section titled “STRIPS”Aka. Stanford Research Institute Problem Solver. An early and influential action representation system for planning.
Limited in expressiveness:
- Does not support disjunctions
- Negations in preconditions only
- No quantifiers
- No conditional effects
Short for Action Description Language. Syntax similar to STRIPS. Has typed parameters and inequality. Supports richer conditions.
Example: