问题标签 [pddl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
233 浏览

pddl - PDDL 如何为多个谓词分配编号

我有基于图块的地图,其中代理需要从一个图块到另一个图块,一些图块具有(占用的 pos-XY)意味着代理不能踩到这些名为 pos-XY 的图块。这部分工作,但我需要让这些瓷砖只在某些回合被占用。我尝试使用行动成本并像这样为每个(占用的 pos-XY)添加一个数字:(占用的 pos-XY Z)计划将 Z 数与当前的行动成本进行比较。但我什至无法将号码分配给占用的瓷砖。

如何为这些占用的图块分配一个数字,如何将其与操作成本进行比较?

0 投票
1 回答
424 浏览

planning - PDDL中疑似超时问题(函数使用)

我开始学习 PDDL 并创建一个域,其中 2 个代理互相战斗并模拟我的英雄应该获胜并最大化其健康点的战斗。尝试在http://editor.planning.domains/上编译我的项目时,我遇到了 Suspected timeout plan 错误

我的想法是为生命值、法力或攻击创建一些函数,并使用不同的动作/能力来降低代理相互战斗时的生命值/法力,因为我需要降低值并设定一个目标,敌方英雄被杀。

我从这个简单的例子开始,这是我的会话: http ://editor.planning.domains/#read_session=xoSpf2es0Y

我在编写这段代码时期望得到的计划是进行 4 次近战攻击以杀死敌人。

我可以在问题文件中写类似 (:goal (= (health arthas) 0)) 的内容吗?我还没有看到任何 PDDL 示例写过类似的东西。

0 投票
1 回答
133 浏览

r - pddl 错误:持续动作声明中的语法错误

我正在 pddl 中实现一个系统,我必须使用持续动作,这是我的代码,但它给了我标题的错误。

0 投票
1 回答
58 浏览

artificial-intelligence - 开发规划算法时的问题

我正在尝试使用PDDL. 下面我试图定义域和问题文件

我想要实现的是

  1. 机器人在房间里
  2. 当人进入房间时,机器人需要检测到人
  3. 迎接人类
  4. 它必须检测房间中的其他物体(如杯子、水果等)

当我运行此代码时,我将出现以下错误。

我正确地遵循了语法,但它抛出了这个错误。我不知道该怎么做。谁能告诉我一个方向,如果可能的话,可以给我一些调试资源PDDL吗?

0 投票
1 回答
66 浏览

artificial-intelligence - 人形机器人的 PDDL 规划 - 计划无法包括人形机器人响应和条件结果

我是 PDDL 和 AI 规划领域的新手。我实际上是在为一个人形机器人在场景中与人类交互创建一个计划。场景如下

  1. 人类进入房间(房间里有机器人和一些物体)
  2. 机器人检测到人
  3. 检测后问候人类
  4. 然后人类要一个杯子
  5. 机器人假设人类想喝咖啡,并在人类服用药物的时间做出反应(药物和咖啡应该有 1 小时的间隔)
  6. 人类响应时间
  7. 如果时间匹配到 1 小时的间隔,机器人会响应它会找到杯子
  8. 机器人检测到桌上的杯子
  9. 机器人回应人类杯子在桌子上
  10. 人类拿起杯子
  11. 机器人在检测到人拿着杯子后向人打招呼

我的PDDL域文件逻辑如下:

我的 PDDL 问题文件如下:

目前它生成以下计划:

我希望预期的计划是这样的:

我不确定为什么该robot_respond行动从未出现在计划中,即使它已在效果和先决条件中给出。

如果对此问题有任何指导,我将不胜感激。一个多星期以来,我一直在努力使逻辑正确。

0 投票
1 回答
81 浏览

planning - 在 PDDL 2.1 中分配除法值,公制 FF

我在函数部分有 3 个变量:

我已经将它们全部初始化为0我的问题init

我的域中的一个动作改变了xand的值y

现在,当我尝试分配 to 的值时x/yz它说这不是线性任务。

但是当我写(assign (z) (/ (x) 2 ) )它时分配了正确的值x/2,同样地(assign (z) (/ (y) 2 ) ),它被分配了正确的值(y/2)。这确保了 x 和 y 不为零。

现在为什么(assign (z) (/ (x) (y) ) )不工作?请帮帮我。

0 投票
0 回答
31 浏览

restriction - 无法将楼层限制添加到 My Miconic PDDL 域代码

我正在尝试向我的代码添加楼层限制,但它没有在 PDDL 中运行。有人可以帮我找出我犯错的地方吗?

这是 PDDL 域:

这是PDDL问题:

0 投票
2 回答
169 浏览

pddl - 具有多种类型的 PDDL 谓词变量

我正在尝试编写一个 PDDL 域。我有4种。我的问题是,当指定一个谓词时:

我希望 x 能够采用其中三种类型,但它只允许我做一种。我应该怎么办?

0 投票
2 回答
170 浏览

pddl - PDDL 谓词名称必须是字符串

我正在尝试使用 pddl 解决计划任务,并且我编写了以下域

问题 我将要计划的问题定义如下

)

试图解决这个问题我改变了我的代码,但现在我面临另一个问题。杀死怪物后的特工没有去下一个房间,而是返回然后侧柱到d房间收集宝藏并留在d。奇怪的是,刨床说代理现在在房间 c,而在下一个状态它说他在房间 b。

Planner 结果
Planer Kill Monster agent at room c

规划器结果 规划器移动下一个应该是房间 d,它说房间 b 状态是错误的

0 投票
0 回答
31 浏览

pddl - 在 PDDL 中建模可变数量的副作用

为了激发我的问题,考虑一个带有可以推动石头的可移动代理的网格世界。到目前为止,一切都很好。我们可能有一个看起来像这样的推送操作(借用自 sokoban pddl):

现在假设我们想要让代理推动一块石头,即使它后面有任意数量的石头。效果是所有这些石头都将在推动方向上移动 1 个位置(前提是它们没有从网格上掉下来或占据与墙壁相同的位置)。

你会如何建模?