Start with required facts . If , the empty prefix suffices. Otherwise choose an action adding a member of and deleting none of , record it as a final action, and remove its add effects from . Repeat and reverse the recorded actions when the residual requirements hold initially. Reject if no permitted action exists.
Soundness follows because each recorded last action supplies its removed requirements without deleting the remaining ones. If a plan satisfies a residual not contained in , its last action affecting cannot delete an -fact and must add one; therefore a candidate exists. Any selected candidate leaves a smaller required set, which is no harder to achieve than . This proves completeness by mathematical induction. Every selection removes a required fact, so there are at most selections and a scan of all effect lists at each step gives polynomial time.

Articles by others on the same topic (0)

There are currently no matching articles.