a-star相关内容

A级明星:启发式的多重目标

让我们考虑一个简单的网格,其中的任何一点与最多4个其他点(北 - 东 - 西 - 南居委会)连接。 我写的程序,即计算从选择的初始点最小路为任何的目标点,其连接(有航线由目标点任意两个目标之间)。当然,可以在网格的障碍。 我的解决办法很简单:我使用的是A *算法可变启发函数H(X) - 曼哈顿距离从x到最近的目标点。要找到最近的目标点我必须做线性搜索(在O(n),其中N - 目标点数)。这里是 ..
发布时间:2015-11-30 21:35:32 C/C++

增加航点为A *的图搜索

我要计算使用A *一个起点和终点之间的最佳路径的能力。现在,我包括应用A *到对在我点的所有排列我的起点和终点之间的航点。 例如: 我想从1点到4点。另外,我想通过点2和3。 余计算的排列(1,2,3,4): 1 2 3 4 1 2 4 3 1 3 2 4 1 3 4 2 1 4 2 3 1 4 3 2 2 1 3 4 2 1 4 3 2 3 1 4 2 3 4 1 2 4 1 3 2 ..
发布时间:2015-11-30 21:31:51 C/C++

在PHP中验证A *实现

这是我从网站 < PHP 类AStarSolver { 功能解决(安培; $ S) { include_once('PQueue.class.php'); $ O =新PQueue(); $ L =阵列(); $ C =阵列(); $ P =阵列(); $ a = $ S-> getStartIndex(); $ Z = $ S-> getGoalIndex(); $ D = $ ..
发布时间:2015-11-30 20:45:12 PHP

AI:最快的算法发现,如果路径存在?

我要寻找一个寻路算法用于一个AI控制,需要寻找从一个路径B.二维网格的实体它不一定是最短的路径,但它需要计算速度非常快。网格是静态的(不会改变)和一些网格单元被障碍物占据。 我目前使用的是一个*,但它是我的目的,速度太慢,因为它总是试图计算出最快路径。当路径不存在,在这种情况下的A *将尝试探索过多的细胞发生的主要性能问题。 是否有不同的算法,我可以使用,可以找到一条比A *更快,如果路径并不 ..

启发式功能,使用星找到路径

我试图寻找以下问题的最优解 表示每个节点内的数字是重新psented为 $ P $(X,Y)。 在相邻节点到节点总是有一个是值是(当前节点y值+1)。 有1在 X 值,当我们从一个节点到其相邻系统变化的成本 在没有成本从节点将与其相邻,如果出现在 X 的值没有变化。 使用相同的是价值2号节点被认为是相邻的。 的最佳解决方案是一个成本最低,我想用A *寻路算法找到一个最佳的解决方案。 我的问题 ..
发布时间:2015-11-30 20:33:16 C/C++

为什么A *是更快,如果我使用4xManhattan的距离作为启发式的15拼图

我已经解决了15拼图实施的A *算法。我做了一个研究发现了一些可行或可采启发式,寻找一个快速的解决方案,我发现,使用4 *曼哈顿距离作为启发式总能解决所有的15拼图在不到一秒钟。我想这和有效地工作。我试图找到一个答案,但我不能找到它。 任何人能解释一下吗? 解决方案 4 *曼哈顿距离是不容许的启发,这使得算法表现得更加“靠近”贪婪最好先(这里的算法选择哪个节点仅仅基于开发启发式功能)。这使得 ..
发布时间:2015-11-30 16:36:11 C/C++

寻找最小割集有限子图之间

如果一个游戏地图被划分成子图,如何最大限度地减少子图之间的边缘? 我有一个问题,我试着通过一个基于网格的游戏,如吃豆子或推箱子,使A *搜索,但我需要找到“外壳”。这是什么意思用外壳?子图用尽可能少切边地给出数的最大尺寸和最小尺寸的顶点的每个充当软约束子图。 或者你可以说,我期待找到子图之间的桥梁,但它通常是相同​​的问题。的 示例 由于游戏看起来像这样,我想要做的就是找​​到外壳,这 ..

关于使用A *的15平方的难题问题

我试图建立一个 A *求解了的 的目的是重新排列的瓷砖,以便它们出现在它们的自然位置。您只可以一次滑动一个砖。拼图的每个可能的状态是在搜索图的节点。 对于H(x)函数,我现在用的是砖的错位,从目标状态的总金额,在所有瓷砖。另外,在上述图像中,5是在位置0,0,和属于在位置1,0,因此它有助于1到H(x)函数。下一瓦片是11,位于0,1,属于在2,2,因此它有助于3到h(x)的。等等。 编辑:我 ..
发布时间:2015-11-30 16:18:36 C/C++

为什么的*指数在内存中的复杂性?

维基百科上的A *的复杂以下(链接这里)说: 更大的问题比它的时间 复杂性是A *的内存使用情况。在 最坏的情况下,它也必须记住 节点的指数数量。 我不明白,这是正确的,因为: 假设我们探索节点A,与继任者B,C和D.然后,我们添加B,C和D,以开放的节点列表,并附以参照,我们移动从打开节点到闭合节点 如果在一段时间内,我们发现另一个路径给B(例如,通过Q),即比通过甲路径越好,则所有 ..

与传送器一格的A *受理的启发?

假定有细胞,其中一些被填充有壁的二维网格。字符可以从一个正方形的任何方是一步水平或垂直它的一个步骤,但不能跨墙。 给定的起始位置和结束位置中,我们可以通过使用A *算法以可容许的启发式找到从起始位置到终止位置的最短路径。在当前的设置中,曼哈顿距离会被接受,因为它从来没有高估到目的地的距离。 现在假设,除了墙壁,世界上有对传送器的。踏上一个传送点立即传送一个字符连接的传送点。传送器的存在打破了上 ..

启发式使用A *查找具有最高增益的路径

而不是寻找最短路径 假设我要改变逻辑在A *,试图找到最有用的路径(即具有最高增益)(即,一个成本最低)。 在我的情况下,这个目标是不固定的作为一个独特的结局节点。一个节点被定义为任何有距离的节点 B 从起点。 在香草版本(“寻找最短路径”)我被要求不能过高估计成本(即,找到一个启发式即小于或等于实际成本)。 在我修改后的版本,而不是(“寻找最有效路径”),边标有工具而不是成本,我想最大限 ..
发布时间:2015-11-30 15:38:29 C/C++

如何使用A *算法找到最好的三条路线

在A *通常是你得到的结果是只有一条路径。是否有可能,虽然对于给定的起点和终点,根据A *有3个推荐路径?所以第二个返回的第二个最佳路径,第三个是第三最佳路径。 我在想,也许修改启发式某种程度上反映了这第二个和第三个最佳路径..你们有什么感想? 更新: 我的实现是在PHP和我使用的是闭集。因此,如果有一种方法可以做到这一点,让我知道。 解决方案 这可以很容易,如果你的语言具有回溯/发电机/ ..
发布时间:2015-11-30 15:33:15 C/C++

修改了星寻路启发式设计

第一, 理想的路径是(按重要性排序): 1。最短 我的启发(F)为: 曼哈顿距离(H)+路径长度(G) 这是越野车,因为它推崇,改变了方向朝向目标的路径,然后蜿蜒回来。 第二, 理想的路径是: 1。最短 2.从接近相同的Y目标坐标(如果长度相等) 我的启发保持不变。我在最后检查第二个标准,在达到目标之后。启发式被做稍微低效(修复于水火之中的问题),这也导致了总 ..
发布时间:2015-11-30 15:26:44 C/C++

A *启发式,高估/低估?

我感到困惑的条款高估/低估。我完全得到如何的A *算法的工作原理,但我不能确定具有高估或低估一个启发式的影响。 时的高估,当你把直接鸟瞰线的平方?为什么会是使算法不正确的?相同的启发式用于所有节点 时的低估,当你把直接鸟瞰线的平方根?为什么是算法还是正确? 我找不到一篇文章,其中介绍了它很好的疏通,所以我希望有人在这里有一个很好的说明。 解决方案 你高估时,启发式的估计比实际的最终路径开 ..
发布时间:2015-11-30 14:53:01 AI人工智能

最快的跨平台的A *的实现?

有了这么多的实现可用,什么是最快的执行(至少CPU密集型的,最小的二进制),跨平台(Linux操作系统,在Mac,Windows,iPhone)A *实现C ++使用小网格? 实现 谷歌返回: http://www.heyes-jones.com/astar.html (在该网站上的大多数链接都死了。) http://www.grinninglizard.com/MicroPather (据 ..
发布时间:2015-11-30 14:46:07 移动开发

A *容许启发式的网格模具轧

我需要一些帮助找到一个很好的启发以下问题: 您将得到一个 研究 -by- C 网格和六面的骰子。让 启动 并 结束 是两个不同的细胞在这个网格中。查找的路径开始到结束,使得 模的表面的总和仰视,作为芯片被沿路径转向,被 最小的。 模具的起始取向是以下的(“2”朝南): 余仿照此问题的方法是通过考虑模具的面作为边缘的中的曲线图的成本的值。图的顶点的形式为(行,列,死亡)(即,在网格中的 ..
发布时间:2015-11-30 14:43:06 C/C++

需要一个想法,与多个目标的星级搜索算法

的搜星与指定目标的算法是pretty的简单。然而,如果在一个图多重目标。例如;你可能希望找到一条最短路径必须包括previously指定的节点。约束在这里是说,你的路径必须包含A,B和C节点(或以上)不只是找到一个节点A或B套餐或C.和图形包括一个或多​​个A,B,C类型的节点的路径。因此,有一个问题,我怎么能修改作为一个明星搜索算法的多重目标 编辑:我们可以访问节点多个 解决方案 您所描述 ..
发布时间:2015-11-30 14:38:04 C/C++

回溯中的一颗明星

蓝墙 凸显绿色电池=打开清单 红色突出显示单元=收盘行情一览 您好,谁能告诉我怎样才能实现回溯在AA星级搜索算法? 我根据维基实施的搜星,但它并没有走回头路,我的意思是原路返回,开放清单(绿色细胞),包括2,0和3,3所示的画面,在到达2, 0当前节点会“跳”到3,3,因为成本已经超过3.3,并继续从那里搜索,怎么能这样做,它会原路返回,从2,0-> 2,1-> 2,2 ......所有 ..
发布时间:2015-11-30 14:37:40 C/C++

我如何使用A *算法找到的第100最短路径?

我 如何使用A *算法找到的第100最短路径? 解决方案 找到第k最短路径的问题是 NP -Hard ,所以任何修改A级明星,会做什么后,你是 - 将指数在输入的尺寸 证明: (注:我将显示在简单的路径) 假设你有一个运行在多项式时间内,返回 k的长度的多项式算法的最短路径让算法是 A(G, K) 路径的最大数量为 N!,并通过在范围应用二进制搜索[1,N!] 找长度的最短路径 N ..
发布时间:2015-11-30 14:33:11 C/C++

阿星(A *)算法在Java中的实现

免责声明:我对Java的一些背景知识,因为我是predominantly C#开发人员 想拥有Java实现的A *算法。 是的,我看到了同样的网上的很多版本,我无法在它们之间做出选择。 我要寻找一个A *算法的实现,使用Java的所有新功能,使得算法快(即使一点点位)。原因是,我们正在实施,对于在一个 网​​络游戏 等,性能是重中之重。 任何指针(在ATLEAST去哪里找)? 解决方案 ..
发布时间:2015-11-30 14:21:36 Java开发