pddl2.2
的域語法向域新增了非常小的更改。但是,與對
pddl
的任何更新一樣,它引入了新的
requirements
,但惟一的新語法是派生謂詞,謂詞的定義方式與
actions
的定義方式類似,並且在域檔案的同一節中定義。
先引入乙個簡單的例項:
(define
(domain railways)
(:requirements :derived-predicates :timed-initial-literals)
(:types
train station - object )
(:predicates
(train-
not-in-use
?t - train)
(train-has-guard
?t - train)
(train-has-driver
?t - train)
(train-usable
?t - train) )
(:functions
... - omitted )
(:durative-action move-train
... - omitted )
(:derived (train-usable
?t - train) (
and
(train-has-guard ?t)
(train-has-driver ?t)
) )(:derived
... - omitted )
)內容:
requirements
(:requirements )
requirements
類似於程式語言中的
import/include
語句,但是由於
pddl
是一種宣告性語言,所以它是
:作為給定規劃器的
:requirement是「
必需的」
,以促進語言的某些實現。
這是pddl2.2向pddl語言新增的需求列表。
1、derived predicates:
(:derived )
派生謂詞是通過命名派生結果的謂詞來宣告的,並通過計算邏輯表示式來計算值。
注意,派生謂詞的宣告類似於
actions
,因為派生謂詞的每個宣告都使用
:derived
關鍵字。
(:derived (train-usable
?t - train) (
and
(train-has-guard ?t)
(train-has-driver ?t)
) )上面的例子指定了火車只有在有火車和司機的情況下才可用。
2、timed initial literals:
(:requirements :timed-initial-literals)
允許在定義問題時使用定時初始字面值。
(at 10 (train-not-in-use t1))
references
來自 <>
PDDL語法學習 Domain篇 2
pddl 為pddl中的域引入了兩種新的結構,一種是過程,另一種是 events 本質上可以分別看作是不可控制的持續行為 uncontrollable durative actions 和不可控制的瞬時行為 uncontrollable instantaneous actions respectiv...
PDDL語法學習 Problem篇 3
為了支援定時初始 timed initial 字面值,pddl 2.2 中的問題語法進行了非常簡單的擴充套件。關鍵字的選擇是乙個有趣的選擇,因為 at是乙個常用的謂詞名,用於指示某個可定位的位置 at adam bush house 這個關鍵字用於定義定時初始 timed initial 字面值的方...
markdown語法學習
markdown是純文字格式的語法,支援轉換為html,可以幫助整理知識 學習筆記 markdown的段落是由若干行文字組成,前後由空行隔開 普通段落不該用空格或製表符縮排 markdown支援兩種標題樣式 setext和atx setext風格的標題用符號 first level 和 second...