Without knowing the state in which an operator o is applied, it is in general not pos- sible to tell if it produces (or consumes) a given atom. An operator with precondition hV, vi and effect hV, v0
i (with v 6= v0
) always consumes hV, vi and always produces hV, v0
i. However, if an operator only has the effect on V but not the precondition, it may producehV, v0i, but only if s[V ] 6= v0 in the state s in which the operator is ap- plied. Similarly, it may consume the current value of V , but we cannot know what this value is from the operator description alone. Similar vagaries arise from variables whose value is unspecified in the goal. However, we can give upper and lower bounds on the induced net change for arbitrary plans depending on their operator counts. To do so, we distinguish four disjoint classes of operators for each atom:
• Operators that always produce atom hV, vi:
APhV,vi ={o ∈ O | eff (o)[V ] = v and pre(o)[V ] = v0 with v0 6= v}
• Operators that sometimes produce atom hV, vi:
SPhV,vi ={o ∈ O | eff (o)[V ] = v and V /∈ vars(pre(o))}
• Operators that always consume atom hV, vi:
AChV,vi ={o ∈ O | eff (o)[V ] = v0with v 6= v0and pre(o)[V ] = v}
• Operators that sometimes consume atom hV, vi:
SChV,vi ={o ∈ O | eff (o)[V ] = v0with v 6= v0and V /∈ vars(pre(o))}
Operators that fall into none of these classes never change the truth value of the atom. We can extend the definitions of the net change induced by an operator or operator sequence for an atomhV, vi. The definitions now depend on the state as well.
B.1. Net Change Constraints
Definition B.1 (induced net change). Let o be an operator and π = ho1, . . . , oni an
operator sequence such thato and π are applicable in a state s. The net change that o induces for atomhV, vi in s is
netchange(o)s hV,vi = 1 ifo applied in s produceshV, vi −1 if o applied in s consumes hV, vi 0 otherwise.
Theaccumulated net change induced by sequence π is netchange(π)shV,vi =
n
X
i=1
netchange(oi)
sJho1,...,oi−1iK
hV,vi .
With the classification of operators into APhV,vi, SPhV,vi, AChV,viand SChV,vi, we can
give bounds to the possible net change induced by an operator (sequence).
netchange(o)s hV,vi ∈ {1} if o∈ APhV,vi {0, 1} if o∈ SPhV,vi {−1} if o∈ AChV,vi {−1, 0} if o ∈ SChV,vi {0} otherwise
This justifies the following proposition:
Proposition B.1. The accumulated net change induced by the application of operator sequenceπ in s can be bounded from above and below as follows:
X o∈APhV,vi occurπ(o) + X o∈SPhV,vi occurπ(o) − X o∈AChV,vi
occurπ(o) ≥ netchange(π)s hV,vi ≥ X o∈APhV,vi occurπ(o) − X o∈AChV,vi occurπ(o) − X o∈SChV,vi occurπ(o) .
Likewise, we can give bounds on the total net change between a given state s and any goal state: the set of possible net change values between such states is
pncs→?hV,vi = {0, 1} if V /∈ vars(s?) and s[V ]6= v {−1, 0} if V /∈ vars(s?) and s[V ] = v {1} if s?[V ] = v and s[V ]6= v {−1} if s?[V ] = v0 and s[V ] = v 6= v0 {0} otherwise.
Combined with the bounds from Proposition B.1, we can finally define a general version of lower and upper bound net change constraints:
Appendix B. From TNF to Unrestricted SAS+
Definition B.2 (net change constraint). LetΠ = hV, O, sI, s?, costi be a planning task
ands one of its states. For an atomhV, vi over V the lower bound net change constraint cncls,hV,vifor atomhV, vi and state s is the constraint
X o∈APhV,vi Counto + X o∈SPhV,vi Counto − X o∈AChV,vi
Counto ≥ min(pncs→?hV,vi)
and theupper bound net change constraint cncus,hV,viis the constraint max(pncs→? hV,vi)≥ X o∈APhV,vi Counto − X o∈AChV,vi Counto − X o∈SChV,vi Counto
Close inspection of these constraints again shows that the set of lower bound net change constraints for all atoms exactly matches the constraints of hSEQfor unrestricted SAS+tasks.
The definition for TNF tasks is much simpler, and every task can be transformed into TNF by transition normalization. Is any information lost during the transformation? It turns out that the state equation heuristic value for the unrestricted SAS+ taskΠ is identical to the heuristic estimate in TNF(Π) for which we can use the simpler and cleaner constraint system.
Proposition B.2. LetΠ be a general SAS+ task. LetCΠbe the set of lower bound net change constraints for all atoms ofΠ and a state s of Π according to Definition B.2. Let CTNF(Π)be the same set of constraints for TNF(Π) according to Definition 9.8. Then,
hLPCΠ(s) = hLP CTNF(Π).
Proof: Consider the lower bound net change constraint for an atomhV, vi. Operators that always produce or consume hV, vi in Π have a precondition and an effect on V which is not changed by transition normalization. In TNF(Π) they induce the same coefficients in the constraint forhV, vi.
Operators that sometimes producehV, vi in Π have an additional precondition hV, ui and thus always producehV, vi in TNF(Π). Since operators that always produce a atom are treated the same as operators that sometimes produce it, this does not affect the equation.
Operators that sometimes consumehV, vi in Π also have an additional precondition hV, ui in TNF(Π). This precondition guarantees that they cannot consume hV, vi in TNF(Π) so they are irrelevant for this atom. In both Π and TNF(Π) they do not occur in the constraint.
Operators that have a prevail condition onhV, vi have the matching effect in TNF(Π). They can be either left out of the constraint completely or they can be seen as both consumers and producers, in which case their terms cancel out.
Operators that are irrelevant inΠ because they do not mention V are still irrelevant in TNF(Π).