Solution of Sussman Anomaly in SIPE-2

The standard AI blocks world provides the famous Sussman Anomaly problem. The initial state has A and B on the Table and C on A. SIPE-2 has two action templates, one for moving a block, and one for clearing a block. The action for moving a block in SIPE-2 uses the following template:

(All pictures are taken from the screen while SIPE-2 is running.) The clear template simply calls the move template to move whatever is on top of the block to be cleared. The initial goal to solve is:

After this template is used to expand both of the goals in the problem, SIPE-2 produces the following plan.

The aqua nodes are goals that must still be solved and the blue nodes are primitive actions. Gray rectangles denote conditions that are already true --- they are important because the planner must maintain their truth as actions are added to the plan. In the above plan, the plan critic algorithms have added one ordering link to avoid a conflict. B becomes not clear after (puton A B) but (clear B) is required along the bottom line of activity until after (puton B C). By ordering the action that makes B not clear after the last action that requires B to be clear, SIPE-2 avoids the conflict. (Note, that in general, it is not always possible to determine the best orderings to avoid conflicts.)

Now, the clear template is used to clear A -- it inserts a node that will invoke the move template to move C (from A) to some unspecified location (N38 is a planning variable). This plan results:

The move template is now used to move C. The plan critics again add an ordering link to avoid a conflict over when C is clear. The plan is now complete with no open goals, so the plan critics find a valid instantiation for each planning variable. The Table is substituted for the planning variable N38 and the final plan is as follows:


David E. Wilkins
Last modified: Fri Feb 2 17:30:27 1996