
17.2 Planning for Reachability Goals 409
Strong-Plan(P)
π ← failure; π
←∅
While π
= π and S
0
⊆ (S
g
∪ S
π
) do
PreImage ← StrongPreImg(S
g
∪ S
π
)
π
← PruneStates(PreImage, S
g
∪ S
π
)
π ← π
π
← π
∪ π
if S
0
⊆ (S
g
∪ S
π
) then return(MkDet(π
))
else return(failure)
end
Figure 17.4 Strong planning algorithm.
PreImage is therefore the set of pairs (s, a) such that a is guaranteed to lead to states
in S
g
or to states in S
π
for which a solution is already known,
2
where S
π
is the set
of states of π
. This set is then pruned by removing pairs (s, a) such that a solution
is already known for s:
PruneStates(π, S) ={(s, a) ∈ π | s ∈ S}
The algorithm terminates if the initial ...