Next: Subgoal Selection Up: Planning Previous: Plans

An Example

We will assume the initial state is:

Let's also assume that the goal is to . We will use the operator table above.

sep=-4pt
1
Operator Selection: matches an element of the Add List of with Y=b.

2
Operator Application: So we now have . We use this operator and find that the precondition matches against an element in the state description: . So is deleted and is added. The new state becomes:

Now assume the goal is .
sep=-4pt
2
Operator Application: but the precondition fails.
3
Subgoaling: Since the precondition fails, create a new subgoal and try first to satisfy that.

Now lets's work through a complete example:

Let the state (world description) be:

Let the goal state be:

i.e. all the boxes must be in the same place (the here indicates a variable location).

First, STRIPS looks at each goal in turn (we assume no clever ordering for now). The goal is first matched against the current world state. The match works with . So the goal is satisfied. Now for the others.

The next goal is but this does not have a match in the current world state - so a subgoal is set up to achieve . To satisfy this goal, we look through the Add List for the operator table above. We find two operators that apply (both go and push) but we choose the second (push). The goal will match the entry in the Add List. So and . So we select at the operator to apply.

Now we try to satisfy its preconditions - . Now the second precondition matches the current state against . Hence we have . But the other precondition fails (). We now set up a subgoal of . We look at the operator since it mentions in the Add List. This matches against with . The preconditon is satisfied and all goes through OK. We end up with the plan:

The final goal - - can be solved in a similar way. But there are soome assumptions buried in this description that we now address.




Next: Subgoal Selection Up: Planning Previous: Plans


paul@dream.dai.ed.ac.uk
Tue Jan 9 10:51:07 GMT 1996