0

我正在尝试解决 Pacman 风格的 PDDL 问题,并且有一个特殊的场景我已经坚持了好几天了。我得到了经典

ff: 目标可以简化为 FALSE。没有计划能解决它

这意味着这个问题是微不足道的和逻辑相关的。但是,我是 PDDL 的新手,似乎无法弄清楚是什么原因造成的。

问题很简单,吃豆人 (P) 必须吃掉食物 (F),但有两个幽灵特工 (G) 挡住了它。为了通过他们,吃豆人需要消耗胶囊(C),使他隐形。

(编辑:我已删除该问题,因为它是作业的一部分。我设法解决了该问题,并将在作业评分后立即发布解决方案。)

4

1 回答 1

0

在此线程中:关于 AI 规划中的 PDDL @haz 提到了一种很好的方法,可以在目标从初始状态无法到达时调试 PDDL 模型。

最好的测试方法是遵循以下策略:(1)写下一个你知道会解决它的计划;(2)从第一个动作开始,以目标为前提;(3) 重复到最后。如果失败,请开始将初始状态更改为您期望在计划执行期间的完整状态。– 哈兹 5 月 1 日 2:04

我上传了一个能够找到解决方案的新版本(如果幽灵不在食物路径中):

http://editor.planning.domains/#read_session=c7Vez9nrti

两个主要问题:

  • 您永远不会删除 GhostPos,但它会出现在目标公式中
  • 如果 GhostPos 正在前往 FoodPos 的途中,那么您将永远无法到达食物,因为移动动作需要不是 Ghost。
于 2020-05-04T09:34:26.737 回答