You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Klotski滑动谜题PDDL问题文件语法错误排查请求

问题原因

你的PDDL文件语法错误源于坐标数字未被声明为合法对象:
PDDL是一阶逻辑规划语言,谓词的所有参数必须是:objects段中明确声明的对象类型。你直接使用的坐标值(0、1、2、3、4)没有被定义为对象,导致解析器在第14行遇到0时无法识别,误以为此处应该出现define关键字,从而抛出语法错误。

修复方案

1. 添加坐标对象声明

在:objects段中补充坐标值的对象声明,同时确保domain文件中at和empty谓词的参数类型包含对应的坐标类型(比如coordinate)。

2. 清理冗余目标条件(可选)

:goal段中存在重复的empty条件(如(empty 1 1)、(empty 1 3)重复出现),虽不影响语法,但会增加目标检查的冗余,建议移除重复项。

修改后的完整problem.pddl
(define (problem klotski)
  (:domain klotski)

  (:objects
    piece2x2 - piece
    piece2x1 - piece
    piece1x2-1 piece1x2-2 piece1x2-3 piece1x2-4 - piece
    piece1x1-1 piece1x1-2 piece1x1-3 piece1x1-4 - piece
    exit - piece
    0 1 2 3 4 - coordinate  ; 新增坐标对象声明
  )

  (:init
    (at piece2x2 0 0)
    (at piece2x1 0 2)
    (at piece1x2-1 0 4)
    (at piece1x2-2 2 0)
    (at piece1x2-3 2 2)
    (at piece1x2-4 2 4)
    (at piece1x1-1 3 0)
    (at piece1x1-2 3 1)
    (at piece1x1-3 3 3)
    (at piece1x1-4 3 4)
    (at exit 1 4)
    (empty 1 0) (empty 1 1) (empty 1 3) (empty 1 4)
    (empty 2 1) (empty 2 3) (empty 3 2)
  )

  (:goal
    (and
      (at piece2x2 1 3)
      (empty 0 0) (empty 0 1) (empty 0 3) (empty 0 4)
      (empty 2 0) (empty 2 1) (empty 2 3) (empty 2 4)
      (empty 3 0) (empty 3 1) (empty 3 3) (empty 3 4)
    )
  )
)

内容的提问来源于stack exchange,提问作者Munna Khandakar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 01:47:06