问题标签 [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 回答
156 浏览

prolog - 在序言中有一个“全局堆栈之外”

嘿伙计们,我有一个关于 Prolog 的相当简单的问题。

在编译器中运行它后它说​​它没有问题但是当我尝试执行命令 plan(state1,on(b1,b2),Plan,FinalState). 时它只是说全局堆栈之外。有人可以帮我解决这个问题

0 投票
1 回答
696 浏览

constraint-programming - 计划推理和约束求解之间的区别

我是这个主题的新手,我目前对规划、约束解决和推理之间的差异感到困惑

据我所知,计划是确定正确的“事情”去做。

这可以通过遵循一些限制来完成。那么每个规划问题到底是一个csp对吗?

那么规划是 csp 问题的一个子集?

推理只是对大型本体的查询,例如“兔子是否是一种生命形式”。

0 投票
1 回答
293 浏览

artificial-intelligence - 行动计划和运动计划有什么区别?

我很难理解动作和动作规划之间的区别。运动规划是否只涉及为移动代理寻找轨迹?

0 投票
1 回答
955 浏览

artificial-intelligence - 实验室中猴子的 STRIPS 表示

我一直在查看一些关于 STRIPS 格式的 AI 计划表示的材料,并发现不同的人似乎以不同的方式制定相同的问题。

例如,维基百科有一个关于实验室中的猴子问题的例子。问题指出:

有一个盒子可以让猴子爬上去够到悬挂在天花板上的香蕉。最初,猴子在A,香蕉在B,盒子在C。猴子和盒子的高度是Low,但是如果猴子爬到盒子上,他的高度就和香蕉一样高。猴子可用的动作包括从一个地方到另一个地方,将一个对象从一个地方推到另一个地方,从一个对象上爬上或爬下,以及抓住或松开一个对象。如果猴子和物体在相同高度的相同位置,则抓住物体会导致握住物体。

这是维基百科的计划(请注意,它与此问题描述不完全匹配,但它是同一个问题。它似乎没有实现 Ungrasp,这对于本次讨论并不重要):

维基百科解决问题

现在在这个计划中我看不到香蕉位于 Level(high),所以从计划中真正泄露这一点的唯一方法是通读整个动作集并从那里推断出猴子必须是在 Level(high) 与香蕉交互,因此它们必须在 Level(high)。

将此信息置于初始状态是否是一个好主意,并具有以下内容:

Monkey(m) & Bananas(ba) & Box(bx) & Level(low) & Level(high) & Position(A) & Position(B) & Position(C) & At(m, A, low) & At (ba, B, 高) & At(bx, C, 低)

这样看起来很冗长,但同时也让读者可以通过阅读初始状态来理解场景。我还被告知我们不应该在 STRIPS 中的任何地方使用常量,所以我认为将 A、B 和 C 声明为 Positions 是个好主意。

是有些人的做法不同(我觉得这会破坏使用标准化语言来表示事物的想法),还是我提出的一种方式格式不正确?我是 STRIPS 的新手,所以我完全有可能(并且很可能)遗漏了一些关键点。

0 投票
1 回答
339 浏览

optimization - 使用 OptaPlanner 解决“加权活动选择”问题

我们想为游客计划活动,根据喜欢、不喜欢等从一大堆(大约 10K)可用的活动中选择一些(大约 10 个)一天。我认为它属于“加权活动选择”类问题.

(1) 是否可以使用 OptaPlanner 解决这个问题?(2)我们应该怎么做?(3) 可以参考相关文件吗?

0 投票
1 回答
987 浏览

prolog - 两室规划师 Blocks world Prolog

我需要一些非常基本的帮助来解决这个问题。我有一个房间规划器,给定一个开始状态和结束状态,它使用递归解决这个问题。但是,我想为两个州(又名房间)解决这个问题。我决定设置标志是我最好的选择,因为房间的每个状态都在房间 1 或房间 2 中。但是我不知道如何实现这一点。任何人都可以将我推向正确的方向吗?

澄清一下,新状态将是 (ontable(X), room1) 而不是 ontable(X)

0 投票
1 回答
442 浏览

pseudocode - Can someone explain this STRIPS forward planning pseudo code for me?

I'm struggling to understand lines 4,5 (and what is E used for?), lines 9 (how does it choose?) and line 10.

Thank you for any help you can offer.

0 投票
1 回答
56 浏览

owl - 用 OWL + SWRL 编写动作理论:可能吗?

为了解决符号规划问题,我们编写了行动理论。编写行动理论的流行语言是 STRIPS 和 ADL。

为了描述一个动作,我们需要提供:

  • 先决条件
  • 效果

例如,在机器人领域,我们有RobotObject类,以及closeToholding属性。

如果成立,则该动作pickUp(?robot, ?object)是可能的closeTo(?robot, ?object),并且也是forall ?o in Object . not holding(?robot, ?o)

如何用 OWL 和/或 SWRL 表示先决条件?

动作效果怎么样?

0 投票
0 回答
39 浏览

genetic-algorithm - 具有约束的生产计划的基因表示

我正在尝试提高生产系统的吞吐量。系统的确切类型不相关(我认为)。

描述

  1. 该系统由一站(编号为 1、2、3...)和一个ARM组成。
  2. 系统随机接收一个ITEM
  3. 每个ITEM都有一个与之关联的PLAN(例如,ITEM1可能有一个PLAN表示它需要通过站 3,然后是站 1,然后是站 5)。PLAN包括有关ITEM在每个站点的时间信息(一系列硬最大值/最小值)。
  4. 每个STATION一次只能容纳一件物品
  5. ARM用于将每个项目一个移动到下一个站。每个PLAN还包括ARM的时序信息,这是一个固定值。

目前的做法

我有两个当前(工作)计划解决方案。

第一个维护每个STATION的使用主列表,将其视为“预订”方法。当每个新的 ITEM-N进入时,系统会向前搜索以找到 PLAN-N适合的最早可能的插槽。因此,例如,它会尝试在 t=0 处拟合它,然后逐步尝试更高的延迟,直到找到合适的值(实际上我在这里有一些启发式方法来减少处理时间,但方法仍然有效)

第二个为每个项目维护一个列表,指定它何时开始。当一个新的ITEM-N 进入时,系统会将其PLAN-N与所有现有列表进行比较,以找到合适的开始时间。同样,它从 t=0 开始,然后逐渐尝试更高的延迟。

这两种解决方案都没有利用每个站点允许ITEM的时间范围。假定一个固定时间(中点或最小值)。

理想的解决方案

不言而喻,如果当前的某些ITEM改变了它们在某个STATION中花费的持续时间,无论是通过缩短该持续时间(因此新的ITEM可以进入STATION代替)或延长该持续时间(因此ARM时间移动 ITEM)。

我正在尝试实现该问题的遗传算法解决方案。我当前的基因包含 N 个数字(介于 0 和 1 之间),其中 N 是当前系统中所有项目中的站点总数以及要添加的新项目。将此基因转换为实际持续时间很简单(0 是最小持续时间,1 是最大持续时间,两者之间呈线性比例)。

然而,这种基因表示始终会产生相互重叠的不可用计划。这样做的原因是,当多个项目已经被理想地安排(在时间上连续,计划明智)时,持续时间不可能发生变化。这是不可避免的,因为一旦项目已经被处理,它们就不能延迟或提前。

上述情况的一个示例,假设ITEMASTATION3中持续时间 t1 到 t2 和 t3 到 t4。然后ITEMB出现并占用STATION3持续时间 t2 到 t3(因此STATION3在 t1 和 t4 之间被充分利用)。以我目前的基因表示,我几乎可以保证永远找不到有效的解决方案,因为这需要基因的某些元素具有完全正确的值,以免产生重叠。

问题

  1. 有比我上面描述的更好的基因表示吗?
  2. 做一些简单的爬山来找到可修改的时间会更好吗?或者,遗传算法真的适合这个问题吗?
0 投票
2 回答
294 浏览

model-checking - Model Checking For Numbers Lite Game

I am going through the model checking methods and I want to use the techniques in order to solve a game called Numbers Paranoia lite as a planning problem.

Given an MxN, (MxN > 8), matrix in which each plate is either Problem Image - empty - identified by a unique number ranging from 1 to 8

the goal is to find a path that starts from the plate labelled with 1, covers all the plates in the matrix and ends on the plate labelled with 8. All non-empty plates in a valid path must be sorted in increasing order from 1 to 8.

I am confused with modelling the game into transition state and running NuSMV for results. Here is my solution