在PDDL 2.1中,引入了durative-action
。它们与其他conditon
和effect
一起描述。两者都可以定义为at start
/ at end
,condition
也可以定义为over all
。
我找到了以下文档,其中相当详尽地描述了PDDL 2.1:pddl2.1 : An Extension to pddl for Expressing Temporal Planning Domains。但是,我在获取确切含义方面有些困难。
本文给出了以下示例:
(: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)))
)
我想知道(at start (onHeatSource ?p))
是否多余,因为还有语句(over all (onHeatSource ?p))
。如果没有,区别在哪里?
评估顺序是什么? condition at start
,effect at start
,effect at end
,condition at end
? over all
是否包含时间实例at start
和at end
?
答案 0 :(得分:0)
您引用的同一篇文章中实际上回答了您的问题。在第12页(或第72页)中,找到了说明:
在持续性操作中需要不变条件才能保持 两端打开的时间间隔(开始和结束时结束 动作要点)。这些使用全部表示 如图6和8所示。
p
在持续性操作的持续时间内保持关闭状态, 那么需要三个条件:(at start p)
,(over all p)
和(at end p)
。
因此,我认为没有什么需要解释的了。
关于第二个问题:
评估顺序是什么?启动条件,启动效果, 最后效果,最后条件?全部包括时间吗 实例在开始和结束时?
在回答之前最后一个问题:over all
是一个 open 间隔。对于其余的问题,即关于评估顺序的问题,我不理解这个问题,对我来说似乎没有任何意义。 条件是为了使操作适用而必须具备的条件。但是,与非持续性操作相反,这些条件不仅在应用它的特定状态下进行评估,而且还在一系列状态下进行评估。这些条件适用于哪些状态,由关键字at start
,at end
和over all
指定。
效果不会被评估,但是它们会“发生”,即,它们指定(at end
中的结果状态由于该操作应用程序而发生的变化。
-希望对您有帮助