Next: An Example
Up: Planning
Previous: Means-Ends Analysis
We regard a plan as a sequence of operators assembled prior to
their execution, and designed to satisfy an explicit goal. Operators
take as their input a state and return a state: visually, they are the
arcs joinging the nodes (states). Typically the representation of the
operators requires that they incorporate some representation of the
goal to which they contribute, preconditions which are known to be
necessary, some effects and the actions that achieve these effects.
Here is an operator table that might have been used by SHAKEY
to move objects around a room.

The operator column indicates the operator name. However, the entries
are more than just a name - go(X,Y) indicates that the go
operator requires two inputs. Note also that it is important that the
operators are parameterised. Some other terms:
- Preconditions:
- things that must be true in order that the operator
can be applied
- Delete List:
- things that cease to be true after the application of the
operaotr
- Add List:
- things that become true after operator application
Add and Delete lists describe how a state of the world is affected by
the operator.
Operator tables are used by STRIPS in three different ways:
- Operator Selection: we have to choose some operator so we take the
current goal and see which of the operators might be effective in
satisfying the goal. The implication is that the current goal should
be in the Add List of a possible operator.
- Operator Application: if the preconditions are satisfied then we
have to delete the items in the Delete List and add the items in the Add List.
- Subgoaling: if, in trying to satisfy the preconditions of a
selected operator, a precondition fails then introduce the failing
precondition(s) as a new subgoal(s).
Operator tables are really goal schemata. Goals are recognsied
as instances of a goal schema. We need some matching process to decide
which schema is applicable to the current goal.
Next: An Example
Up: Planning
Previous: Means-Ends Analysis