语义含义为 "one of type" 的 effect 的 PDDL 语法

PDDL syntax for effect with semantic meaning of "one of type"

我正在努力定义一个动作的效果。 场景如下:我有两个球(a 和 b)。他们每个人都可以拿来放。只要其中一个球被放入,灯 L1、L2、L3 中的一个就会亮起(哪个都无所谓) 我已经定义了 a, b - ballL1, L2, L3 - lamp 并且我有一个具有以下定义的操作:

(:action put 
 :parameters (?b - ball)
 :precondition
   (and
     (ballTaken ?b)
   )
 :effect
   (and
    (not( ballTaken ?b))
    (... **one of the lamps goes on**...)
   )
)

如何用 pddl 表达“其中一盏灯亮了”?所以,基本上 - 我如何使用未作为参数提供给效果中的动作的对象? 谢谢!

那是 non-deterministic 效果...这就是您想要的吗?如果它是任意的并且您不关心哪个,则为 lamp 使用一个参数。如果你想随机选择其中之一,那么使用non-deterministic规划符号...

(oneof (on lamp1) (on lamp2) (on lamp3))