Achieving the Functionality of Filter Conditions in a Partial Order Planner

One of the most common modifications made to the standard STRIPS action representation is the inclusion of filter conditions. A key function of such filter conditions is to distinguish between operators that represent different context-dependent effects for the same action. We consider how filter conditions may be used to provide this functionality in a complete and correct partial order planner. We conclude that they are not effective, and that in general the use of filter conditions is incompatible with the basic assumptions that lie behind partial order planning. We present an alternative mechanism, using the secondary preconditions of Pednault (1988, 1991) to represent context-dependent effects. The use of secondary preconditions is effective, and preserves completeness and correctness.