PDDL:持续性行为中效果和条件的确切含义

时间:2018-09-07 08:41:43

标签: planning pddl

在PDDL 2.1中,引入了durative-action。它们与其他conditoneffect一起描述。两者都可以定义为at start / at endcondition也可以定义为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 starteffect at starteffect at endcondition at endover all是否包含时间实例at startat end

1 个答案:

答案 0 :(得分:0)

您引用的同一篇文章中实际上回答了您的问题。在第12页(或第72页)中,找到了说明:

  

在持续性操作中需要不变条件才能保持   两端打开的时间间隔(开始和结束时结束   动作要点)。这些使用全部表示   如图6和8所示。   p在持续性操作的持续时间内保持关闭状态,   那么需要三个条件:(at start p)(over all p)(at end p)

因此,我认为没有什么需要解释的了。

关于第二个问题:

  

评估顺序是什么?启动条件,启动效果,   最后效果,最后条件?全部包括时间吗   实例在开始和结束时?

在回答之前最后一个问题:over all是一个 open 间隔。对于其余的问题,即关于评估顺序的问题,我不理解这个问题,对我来说似乎没有任何意义。 条件是为了使操作适用而必须具备的条件。但是,与非持续性操作相反,这些条件不仅在应用它的特定状态下进行评估,而且还在一系列状态下进行评估。这些条件适用于哪些状态,由关键字at startat endover all指定。

效果不会被评估,但是它们会“发生”,即,它们指定(at end中的结果状态由于该操作应用程序而发生的变化。

-希望对您有帮助