问题标签 [planning]

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 投票
1 回答
279 浏览

artificial-intelligence - 找不到机器人寻路的解决方案

我是 pddl 的新手。我需要找到解决方案,让机器人可以将不同的物体放在不同的目标单元中。我正在使用来自http://www.fast-downward.org/的软件。但是,问题是我的操作无法找到所需的解决方案。限制是即使机器人携带一个物体,也不能有 2 个物体在同一个房间里。附:域文件:

和问题文件:

0 投票
2 回答
80 浏览

search - 我可以使用启发式方法在蒙特卡洛搜索树的播放阶段获得结果吗?

据我了解,MCTS 中的 playout 或模拟阶段的目标是在反向传播期间获得结果并奖励或惩罚路径上的节点。(如果我错了请纠正我)

我的问题是我是否可以使用领域知识启发式来获得这个结果,而不是实际模拟游戏到底。

我问的原因是我在做类似于寻路的事情,目标是找到到达目标状态(节点)的路径,这意味着在我的情况下模拟游戏到最后是非常困难的。

0 投票
0 回答
1180 浏览

python - 尝试在 matplotlib 中实现潜在的字段导航

我正在尝试生成一种算法,其中多个代理(蓝色)作为一个团队协同工作,通过在 2D 网格中执行环绕和盘旋战术来捕获速度稍快的敌方代理(红色)。所以我正在尝试制作一个强大的多智能体算法,允许多智能体捕获一个智能且更快的敌方智能体

所以我试图通过使用一种称为潜在场导航的东西来赋予敌方特工导航和避障能力。基本上,敌方特工假装在出口处有一个吸引力,每个蓝色特工都有一个排斥力

单击此处了解有关潜在领域的更多详细信息

当我在敌方特工中实现这一点时,被吸引到出口的特工是成功的(除了当它靠近它时它会减速)。我遇到的主要问题是敌人试图避开蓝色粒子的排斥场。当它试图逃跑时,它会做一些事情,例如以之字形快速移动,绕着一个蓝色粒子或一组或多个粒子绕圈跑。

我希望敌方特工以智能的方式顺利避开蓝色粒子。

另外,是否有人知道如何将排斥场变成切向场,那就太好了。我想要切向场,以便红色粒子可以穿过蓝色粒子。

此外,虽然代码很长,但敌方代理使用的唯一函数是 goToExit(),因此该函数及其调用的任何函数都是唯一相关的。

我的代码:

0 投票
0 回答
1069 浏览

ff - Metric-FF 未最小化指标(总成本)

我正在尝试使用 Metric-FF (v2.1) 来解决经典的规划问题。我注意到我的计划不是最优的,并开始尝试最小化成本。我意识到尽管激活了成本最小化,但计划者似乎并未考虑成本。我创建了以下最小示例,其中包含一个谓词和两个相同的方法(除了它们的成本):

我要解决的只是:

这导致do2被调用,尽管do1是更便宜的操作。如果我更改它们在域文件中的位置,则会选择 do1。

如果您知道任何可用的规划器可以正确解决此问题,我会很乐意使用它。

0 投票
0 回答
86 浏览

c - 时间和内存限制作为 Metric-FF 中的参数

在运行 Metric-FF 时,它不会出现任何时间或内存限制作为可能的输入参数。我的问题是,是否可以在运行规划器时将它们作为输入参数引入?引用的规划器如下: https ://fai.cs.uni-saarland.de/hoffmann/metric-ff.html

0 投票
1 回答
289 浏览

artificial-intelligence - 是否可以从 PDDL 实施中获得多个计划?

我正在尝试编写一个可以解决 PDDL 中的迷宫的程序,例如使用 graphplan。从我在互联网上看到的示例中,可以找到问题的解决方案(例如PDDL Graphplan can't find plan),但只有一个。我对我的项目有一些特定的限制,这要求我获得所有可能的解决方案来解决迷宫,然后分别评估这些解决方案。这可能吗?

0 投票
0 回答
108 浏览

java - 用于在 Java 集合中存储不同对象的标记接口

我正在用 Java 实现一个带有一堆目标的线性规划器。出于这个原因,我使用了一个堆栈,我需要在其中存储不同的对象:谓词、运算符、状态。为此,我创建了一个名为 Stackable 的接口,因此我有一个Stack<Stackable>. 这个接口是空的,因为所有可堆叠的对象都没有任何共同点,除了它们都必须堆叠。

由于我不喜欢空界面的想法,因此我开始阅读并遇到了Marker interface一词,我认为这是我的 Stackable 的情况。我也发现一般都可以用注解代替,但是我没用过,不知道能不能解决我的问题。

这就是为什么我想知道:

  1. 我的设计是否有更好的替代方案(通过使用注释或其他方式)?
  2. 如果在某些情况下标记接口仍然是一种解决方案,我如何区分何时应该使用它们?
0 投票
3 回答
796 浏览

artificial-intelligence - 使用规则引擎进行规划

我可以使用规则引擎来解决作业调度问题 ( JSS ) 吗?

我想要这样的东西。这是否可能与规则引擎或不是一个好主意。

0 投票
1 回答
349 浏览

artificial-intelligence - 使用线性规划在 m 台机器上规划 n 个工作

我听说你可以使用线性规划来解决规划问题。我真的不明白如何做到这一点,因为线性规划是最优的,并且大规模规划(例如在 m 台机器上规划 n 个工作)具有指数难度。

那么我如何使用线性编程解决例如 100 个工作和 10 台机器的问题?你能给我一些解释或进一步阅读吗?

0 投票
1 回答
167 浏览

solution - Optaplanner 通过规划解决方案传递变量

我有一个计划实体请求和一个计划变量作为出租车。

我想将日期(特定日期)传递给 drools 文件以进行 cab 分配。

我尝试将日期添加到计划解决方案中,但规则总是在我捕获日期的地方失败。

规划方案

流口水文件

规则“检查重叠 Shift1”