Example of STRIPS Planning

   The figure below illustrates some of the features of the STRIPS planner as exemplified in its search for a plan that results in 'Box 1' being located in 'Room R1.' The top left of the figure provides a schematic representation of the initial problem situation. The planner's representation of this problem situation is shown in the top-most green box labeled 'Initial Model.' This initial model, M0, consists of a set of wffs. The goal that the planner is to achieve, G0, is shown in the yellow box in the middle of the figure. The planner attempts to prove the conjunctive goal, G0, of  'having both a box and the robot in Room R1.' The first conjunct is false. Consequently, the planner searches for an operator with an expression in the Add List that might make this first conjunct true. We have shown two of the operators, the ones that will be needed for this plan, at the top of the figure.

   The operator PUSHTHRU has INROOM(b,r2) in its Add List and when BOX 1 is substituted for b and Room R1 for r1 then the first conjunct is satisfied. The next step is to determine whether this operator can be applied to the current model, M0. In order to determine this, an attempt is made to prove the Precondition wff against M0. This attempt fails and the Precondition wff for this operator becomes a new subproblem. This new subproblem, G1, is shown as the second line in the yellow box. It is indented to indicate that its position in the goal stack.

   
   Finally, G2, the instantiated precondition obtained from GOTHRU, is proved True in M0. Consequently, this operator can be applied. The Delete and Add Lists for GOTHRU are used to create the model that results from the application. This is shown as M1 in the figure above. G1 is now at the top of the goal stack and an attempt is made to prove this wff against M1 and this proof succeeds. Consequently PUSHTHRU is applied resulting in model, M2. G0 is now at the top of the stack and it is provable against M2. Consequently, the problem is solved and the plan in this instantiated and completely order set of actions shown at the bottom of the figure in the yellow box.
   Note the way in which the STRIPS operator representation is used both as a non-terminal rule as well as a terminal rule. The precondition portion of these operators serves to decompose a problem into subproblems. When the preconditions of an operator are satisfied, then the Delete and Add Lists are used to "solve" that subproblem and create a new model. This is a very compact representation, but it does restrict the decompositions considered to those that are represented in operators that are intended to model executable actions.
   The researchers were not only interested in finding plans that solved given problem. They also developed a method in which to learn from the planning. The Triangle Table Representation of the plan played a central role in the learning algorithm. We continue with this example, but now consider the problem of generalizing this plan so that it is applicable to new problem situations.

Example plan adapted from: Richard E. Fikes, Peter E. Hart, and Nils J. Nilsson, Learning and Executing Generalized Robot Plans. Artificial Intelligence, 3 (1972) 251-288.

STRIPS Introduction

Triangle Table

 © Charles F. Schmidt

Planning - Table of Contents