GOAL REGRESSION


Notes from: Richard Waldinger, Achieving Several Goals Simultaneously. In E. Elcock & D. Michie (Eds.), Machine Intelligence 8. Machine Representations of Knowledge. Chichester: Ellis Horwood, 1977. Pp. 94-136.
   Suppose P is a relation and F is an action of program instruction; if P is true and we execute F, then there is no guarantee that P will still be true. However, Given P, it is always possible to find a relation P' such that achieving P' and then executing F guarantees that P will be true afterwards.

   For example, in a simple blocks world if P is "block C is clear" (meaning C has no blocks on top of it) and F is "Put block A on block B," then P' is the relation "C is clear or A is on C"; for if C is clear before putting A on B, then C will still be clear afterwards, while if A is on C before being put on B, then the action itself will clear the top of C.

  P' is taken as the weakest relation that ensures the subsequent truth of P; in other words, if P' is not true before executing F, P may not be true afterwards, Otherwise, we could always take P' to be the relation that is always false. P' is called the result of passing P back over F, and this operation of passing P back is called "regression."

So the idea of goal regression is linked to planning via plan modification...i.e. in order to achieve P and Q, construct a plan F that achieves P, and then modify F so that it achieves Q while still achieving P. The idea is to protect P so that the choice of where to place the steps for achieving Q is determined relative to the plan for P.

Assume that F is a linear sequence of instructions (F1, ..., Fn). In order to achieve Q after executing F, it suffices to achieve Q' immediately before executing Fn, where Q' is the result of passing Q back over Fn. Similarly, it suffices to achieve Q'' immediately before executing Fn-1, where Q'' is the result of passing Q' back over Fn-1.

The idea is that a goal may be difficult or impossible to achieve after F but may be easier at some earlier point. Or if Achieving Q after executing F destroys the truth of P, it is possible that planning to achieve Q' or Q'' earlier will not disturb P at all.

 How to do this:

  • have explicit "regression rules"
  • if a relation is defined in terms of other relations, it may be possible to pass back those defining relations;
  • if the plan step is defined in terms of simpler component steps, then knowing how to pass relations back over the components allows one to pass the relation back over the original plan step
  • if you don't know how to pass it back, make the assumption that the plan step has absolutely no effect on the relation. (Cf. frame problem).

A simple example is shown to the right. The protect annotation indicates the goal regression operation. By passing goals back over plan steps back-tracking and reversing the order may be avoided. This technique will not always prevent goal reordering.


(The observation that it is technically simpler to look at the "weakest preconditions" of a relation (passing it back) instead of the "strongest postconditions" (passing it forward), appears to be due to Z. Manna (1968) Termination of Algorithms. PhD Thesis, Department of Computer Science, Carnegie-Mellon University, Pittsburgh, PA; C.A.R. Hoare (1969) An axiomatic basis for computer programming. Communications of the ACM, 12, 10, 576-580, 583; and J.C. King (1969) A Program Verifier. PhD Thesis, Department of Computer Science, Carnegie-Mellon University, Pittsburgh, PA. The term "weakest precondition" is Dijkstra's. ( E.W. Dijkstra (1975) Guarded commands, non-determinacy in a calculus for the derivation of programs. Proceedings, International Conference on Reliable Software 2-2.13, Los Angeles, CA>


Notes from: Nils J. Nilsson, Principles of Artificial Intelligence. Palo Alto, CA: Tioga Publishing, 1980. Chapter 7.4.2 & Chapter 8.1

Planning - Table of Contents

 © Charles F. Schmidt