Reputation: 165
In PDDL 2.1, durative-action
s were introduced. They are described (amongst others) with conditon
s and effect
s. 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
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