为了支持定时初始( timed initial)字面值,PDDL 2.2中的问题语法进行了非常简单的扩展。关键字的选择是一个有趣的选择,因为 at 是一个常用的谓词名,用于指示某个可定位的位置 (at Adam Bush-House)
这个关键字用于定义定时初始( timed initial)字面值的方式意味着它不应该与使用 at 作为谓词名的域发生冲突。然而,这完全取决于规划器如何分析计划。
先引入一个简单的例子:
(define
(problem trainplanning1)
(:domain railways)
(:objects
Pompey Guildford London - station
train1 train2 - train
)
(:init
(train-not-in-use train1)
(at 20 (train-not-in-use train2))
)
... goal omitted
)
内容
- Timed initial literals
Timed Initial Literals
(at <time_value> <predicate>)
使用time关键字定义 timed initial的初始文字,然后是谓词变为true的时间点的值,然后是谓词本身。
在计划中,时间只是一个数字,没有对它所代表的范围做任何假设,因此写一些东西,比如10可以表示10秒,分钟,甚至是小时。
最终,建模用户的责任是确定他们希望将模型映射到什么范围,从而确定他们获得的时间精确度的“分辨率”。
(at 20 (train-not-in-use train2))
上述声明表示,在某一时刻,2号列车将不再使用
References
- PDDL - The Planning Domain Definition Language, [Ghallab, M. Howe, A. Knoblock, C. McDermott, D. Ram, A. Veloso, M. Weld, D. Wilkins, D.]
- PDDL2.1: An Extension to PDDL for Expressing Temporal Planning Domains, [Fox, M. Long, D.]
- PDDL2.2: The Language for the Classical Part of the 4th International Planning Competition[Edelkamp, S. Hoffmann, J.]
- PDDL Examples
- OPTIC - Optimising Preferences and Time Dependent Costs
来自 <https://github.com/nergmada/pddl-reference/blob/master/docs/reference/PDDL2.2/problem.md>