franzlst
franzlst

Reputation: 165

PDDL: Exact meaning of effects and conditions in durative-actions

In PDDL 2.1, durative-actions were introduced. They are described (amongst others) with conditons and effects. Both can be defined at start/at end, condition also over all.

I found the following document, describing PDDL 2.1 quite extensively: pddl2.1 : An Extension to pddl for Expressing Temporal Planning Domains. Nevertheless, I have some problems getting the exact meaning.

The paper gives the following example:

    (:durative-action heat-water
        :parameters (?p - pan)
        :duration (= ?duration (/ (- 100 (temperature ?p)) (heat-rate)))
        :condition (and (at start (full ?p))
            (at start (onHeatSource ?p))
            (at start (byPan))
            (over all (full ?p))
            (over all (onHeatSource ?p))
            (over all (heating ?p))
            (at end (byPan)))
        :effect (and
            (at start (heating ?p))
            (at end (not (heating ?p)))
            (at end (assign (temperature ?p) 100)))
    )

I'm wondering, whether (at start (onHeatSource ?p)) is redundant, as there is also the statement (over all (onHeatSource ?p)). If not, where is the difference?

What is the order of evaluation? condition at start, effect at start, effect at end, condition at end? Does over all include the time instance at start and at end?

Upvotes: 0

Views: 1500

Answers (1)

Prof.Chaos
Prof.Chaos

Reputation: 1045

Your question is actually answered in the very same article that you cite. On page 12 (or 72) you find the explanation:

Invariant conditions in a durative action are required to hold over an interval that is open at both ends (starting and ending at the end points of the action). These are expressed using the over all construct seen in Figures 6 and 8. If one wants to specify that a fact p holds in the closed interval over the duration of a durative action, then three conditions are required: (at start p), (over all p) and (at end p).

Thus I think there is nothing more one needs to explain.

Concerning your second question:

What is the order of evaluation? condition at start, effect at start, effect at end, condition at end? Does over all include the time instance at start and at end?

The last question was answered before: over all is an open interval. For the rest, i.e. the question about the order of the evaluation, I do not understand the question -- it seems to make no sense to me. Conditions are criteria that are required to hold in order for the action to be applicable. But in contrast to non-durative actions, these criteria are not just evaluated in the specific state in which it is applied to, but over a sequence of states. To which states these conditions apply is specified by the key words at start, at end, and over all.

The effects are not evaluated, but they "happen", i.e. they specify how the resulting state (in at end) changes as a consequence of this action application.

-- hope this helps

Upvotes: 1

Related Questions