Triangle Tables, Generalizing a Plan, and Monitoring Plan Execution

Triangle Tables As a Representation of a Plan

   In the triangle table representation the union of column 1 is the set of conditions true of M0 that support this plan. Let r be the row index and c the column index of this table. Any non empty cell r,c (r > c) denotes that operator r depends on the prior execution of operator c. Note that deletion of a previously added clauses by a subsequent operator is not explicitly represented. So a "clobbers" relation to a precondition is not explicitly represented. Similarly, if some operator c had deleted a precondition for operator r (r > c) that was true in M0, this will also not be explicitly represented.

   A Kernel at i is the rectangular sub array of the table defined as:

[(row i, column 0), ( row i, column i-1 ), (row n, column 0 ), (row n, column i-1 ) ]
where n is the last row of the table.

The significance of a kernel is that if all of the expressions in the kernel are true, then the ith tail of the plan is applicable. The ith tail of the plan is the operator sequence opi...opn-1.

Note that the Triangle Table does not explicitly represent the partial states associated with the plan...they are distributed over a row...i.e., if the row cells or row i are unioned, then you obtain a partial model, Mi.

Generalizing Plans

  The Triangle Table shown above provides an example of the way in which the plan from our planning example is generalized by STRIPS. The steps are:

1) Lift the triangle table...all constants in the clauses of the left most column are replaced by new parameters...with distinct parameters for occurrences of the same constant. This is done to avoid "undergeneralization." I.e., all dependencies that existed in the plan due to the same constant occurring in clauses are removed. All operator parameters are distinct and these are used to assign distinct parameters to the add clauses in the table.

2) Constrain the lifted table...Redo the proofs for each operator starting at op1. The clauses of column 0 are the axioms and the precondition wff's of the operators are the theorems to be proved. The result of the proof is to constrain certain parameters to be equal in the generalized plan. This captures the required dependencies. Note that there is no attempt to generalize the ordering...ie. determine if a partial order is sufficient.


Plan Monitoring

   When a plan is actually executed, it must be monitored. Some of the questions that must be answered when monitoring a plan are:

  • Has the portion of the plan executed so far produced the expected results?
  • What portion of the plan needs to be executed next so that after its execution the task will be accomplished?
  • Can this portion be executed in the current state of the world?

   In addition to the use of the triangle table in learning; another potential use of the triangle table is to provide an efficient representation that can support plan monitoring. A plan monitor should have the following properties:

  • When new information obtained during plan execution implies that some remaining portion of the plan need not be executed, this should be recognized and the unneeded step in the plan omitted.
  • When execution of some portion of the plan fails to achieve the intended results, this should be recognized and either reexecution of the appropriate portion of the plan should be attempted or replaning should occur.



Example 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

Example of STRIPS Planning

 © Charles F. Schmidt

Planning - Table of Contents