问题标签 [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.
artificial-intelligence - How to store mathematical values in PDDL?
I need to create a plan in PDDL to visit a subset of n places, each of which has a score. I need to maximize the utility, which is defined as the sum of each individual score. How do I represent this domain in PDDL? Specifically, how do I store score for each place?
java - 如何在 Choco 中搜索期间创建/发布和删除/取消发布约束
我在 Choco 求解器中有一个项目,但我对搜索过程中的外部影响有疑问。
我有一个计划图,其中(比方说)按层组织的 BoolVars 和分配给层的持续时间,这意味着一些动作开始和一些结束。从计划结束到计划开始,变量选择是静态的(层中动作的选择是任意的)。
我正在研究一种使用单纯形算法来帮助分配持续时间的解决方案,因为在动作A的开始和结束之间,我们需要有一个等于N的持续时间。两者之间还有一些限制。
附加约束是基于 BoolVar 的实例化创建的,但是它们被组织在一个外部矩阵中,因此当添加动作A的结束动作时,在效果中会向矩阵添加额外的行并且重新制定当前约束. 在回溯时,我们想以相反的方式修改矩阵,即删除行并取消约束。
有没有办法在 Choco 中实现这种复杂的行为?
dijkstra - WSN 中的规划算法
我正在寻找一些可用于从 WSN 中的传感器节点收集信息的规划算法。我找到了 Dijkstra 算法,但它的问题是它不能通过所有给定的节点。我的测试需要 3 种算法。
algorithm - 快速向下规划器
我目前正在研究 AI 快速向下规划器,希望在这方面有所帮助。我知道规划器会收到一个 domain.pddl 文件和一个 question.pddl 文件,此外,它还会收到一个搜索算法和一个启发式函数。
许多规划器(不仅仅是快速向下 - 例如 pyperplan 规划器)让我们有机会修改或创建新的搜索算法以达成解决方案。但正如我所见,已经有很多搜索算法。我的问题是:实现我们自己的搜索算法的想法是什么?或者我
我错过了什么吗?
algorithm - 曼哈顿距离泛化
对于我正在进行的一项研究,我试图找到一个基于曼哈顿距离的令人满意的启发式方法,它可以处理任何问题和领域作为输入。这也称为域独立启发式。现在,我知道如何将曼哈顿距离应用于基于网格的问题。有人可以给出提示如何将其概括为适用于每个领域和问题,而不仅仅是基于网格的问题吗?
algorithm - 回归目标导向的行动计划
我目前正在尝试从目标状态进行回归搜索,以找出将为我的 GOAP 规划器实现目标状态的操作列表。到目前为止,我所记录的伪代码如下所示:
我听说 GOAP 与 A* 算法完全一样,只是节点是状态,边是动作。但是由于在 A* 中,节点不需要满足任何条件,这让我很困惑如何调整 A* 算法以处理先决条件。我正在努力理解的是如何存储动作并比较动作的成本以找到最有效的路径。如果我们假设类动作有一个函数 getCost() 返回动作的成本,那么在考虑先决条件时我将如何处理?
heuristics - 前瞻性规划启发式 - 如何计算 hmax 和 hadd?
我试图理解前向规划启发式 hmax 和 hadd 的概念。网上找了一些资源,实在看不懂怎么计算hmax和hadd的值?
这里我指的资源:
http://ai.cs.unibas.ch/_files/teaching/fs16/ai/slides/ai36-handout4.pdf
我知道在 hmax 中,我们考虑了成本的最大化,而对于 hadd,我们对成本进行了求和。
这些(图中圈出的)值是如何计算的?由于初始状态是{a},因此我假设初始状态的启发式值假定为 0。我说得对吗?
一般来说,初始状态的启发式价值是多少?
非常感谢你的帮助 :)
artificial-intelligence - PDDL 中的 Link 和 Path 有什么区别?
在 PDDL 的驱动程序日志域中,我们指定了链接和路径。
它在问题中的定义方式是:
路径和链接有什么区别?我试图创建一个类似的问题,但省略了路径,我不断遇到无法解决的问题。如何正确定义路径?
谢谢!
recursion - Prolog 排列调度
我有以下带有谓词参加的文件,这表示每个学生都参加了某门课程(第一个参数:Student_ID,第二个参数:Course_ID)。
我想要做的是创建一个谓词函数,它创建一个包含 3 个列表(A、B、C)和课程的考试时间表。
每个列表都象征着一周。然后,例如为了找到适合大多数学生的最佳时间表,它以 3-3-2 的形式打印出所有不同的课程排列:
[c204,c209,c210]
列表 A 是第一周的第一个案例中的课程。
清单 B 是第 2 周等...
问题1:
那么,我怎样才能采用参加/ 2 谓词并仅将第二个参数转换为列表,以使列表包含已声明的所有课程。
例如:L = [c212,c213...]
。
问题2:
排列将使用名为 k_permutation/3 的自定义函数完成:
但由于某种原因,这个自定义函数 (k_permutation/3) 运行无限时间。函数递归有问题吗?该功能应该如何使用?
planning - 人工智能中的分层任务网络(HTN)
我无法理解 HTN 是什么。我相信我们希望将计划的所有小动作分解为更高级别的计划。
例如:
“乘坐巴士”是“去巴士”、“买票”、“坐下”等的HLA。
我错了吗?希望有一个简单的解释。