在PDDL中,我可以这样定义“子”类型:
(:types
one two - parent other
)
one
和two
也是parent
,other
是不同的。
就像谓词(both ?x - parent)
接受one
和two
一样。
我想做多层继承,我尝试过
(:types
sprite fanta - fizzy water - drink
food
)
我希望sprite
和fanta
成为fizzy
,并且fizzy
和water
都是drink
类型。
因此我的谓词(pour ?x - drink)
应该接受sprite
,但目前不接受。
如何正确设置此类型树?
object
├── drink
│ ├── fizzy
│ │ ├── fanta
│ │ └── sprite
│ └── water
└── food
答案 0 :(得分:1)
我希望回答您的问题还为时不晚。 此代码应执行您想要的操作:
(:types
food drink - object
water fizzy - drink
fanta sprite - fizzy)
希望它有所帮助!您可以找到整个PDDL参考here。