繁体   English   中英

A-Star算法(重建路径)

A-Star algorithm (reconstruct path)

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我已经设法实现a *并且我得到了正确的路径。

问题在于,鉴于每个节点(从端到端)都有一个父链接,但没有第一个链接,我如何才能重新构建从头到尾的路径,所以我的角色不知道该去哪里。

我正在做的是返回封闭列表,并从索引0开始到x,直到到达结尾。 这通常可以很好地工作,但是我知道必须有另一种方式。


另外,检查相邻节点的最佳方法是什么?

我已经使每个节点都创建了一个矩形,然后查看它是否相交,这就是我知道它们连接的方式。 我还将这种技术与播放器一起使用,以了解何时到达节点。

谢谢!!

1 个回复

您有了目标节点(一旦找到目标节点,就可以对其进行缓存)。

上树(使用parent字段),直到找到一个没有树的节点,该节点就是您的根。 通过向上链接找到的路径是反向顺序中的最短路径。

我曾经针对BFS而不是A *提出过类似的问题

编辑 :将堆栈恢复为原始状态的一种简单方法是,当从目标到源时,将节点放入堆栈中;找到源时-开始将元素弹出堆栈。

1 A-star最短路径算法

我想使用以下开源A星代码编写我正在制作的小游戏,但想知道如何添加被阻止的节点? 这段代码似乎没有考虑到这一点。 我已经有X,Y坐标被阻止的列表。 对于每个阻塞的坐标对,我尝试: 但这是行不通的,因为我没有将其从优先级队列中删除。 任何帮助,将不胜感激。 这是A星码 ...

2014-10-06 04:41:53 0 583   c++
2 优化A-Star算法

我已经实现了A *算法根据维基百科在这里的实现但是,它在移动设备上运行太慢了。 我必须等待无数个小时才能完成该功能,尽管它在桌面计算机上运行良好。 我可以做些什么来优化算法? 这是实际的代码 ...

3 关于A-star算法

在A-Star算法中,如果找到通往当前边界(开放列表)上的节点的更好路径,我们是否替换了边界中的节点? 例如:边界的节点B的评估函数值为f(x)= 25,在探索节点C的子级时,我们有一条从C到B的路径,其f(x)= 15,我们是否在边界中替换此值? ...

4 A-Star 搜索算法找不到有效路径

我正在尝试在我的 3D 网格中实现用于寻路的 A* 算法。 我一直在学习教程,但没有找到有效的路径。 我已经通过我的代码来找出发生了什么,但我不知道如何解决这个问题。 对于最基本的测试,我只使用 2-D 网格(它是 3-D,但只有一个 Z 选项,所以基本上是 2-D)。 这是它在做什么: 所 ...

5 如何计算A-star搜索算法中的总路径成本?

我需要在以下算法中计算总路径成本 此代码查找两个节点之间的最短或最佳路径。 这段代码不是我写的,我实际上是在尝试学习明智的搜索算法以及它们是如何工作的。 您的兴趣将不胜感激。 我还附上了一张图表图片,其中包含此代码中使用的实际值和启发式值 知情搜索地图 ...

7 A-star算法Java实现说明

我最近在A star算法的Java实现上进行了课程学习,其中输入数据采用20 * 20网格的形式。 根据A star算法伪代码,将开放列表中最终成本最低的节点选择为要移动到的当前节点。 在用Java实际实现该算法之前,我经历了其他语言的许多不同实现,例如ruby,python和c + ...

8 运行A-star算法的代码时为什么没有输出?

我尝试使用python实现A-star算法,但是当完成代码并尝试使用shortest_path功能时,没有输出,也没有错误,有人可以帮我找出原因吗? 这是我的判断代码,对不起无权将所有代码放在这里: 这是我对A明星的整体计划: F = G(从当前点到起点的路径长度)+ H(从 ...

9 用十六进制实现A-Star算法

首先,让我说我是一个初学者,该程序是我第一次尝试“单飞”,因此,如果我听起来像个白痴,请耐心等待。 我有一个十六进制网格,我想使用A *查找从一个到另一个的路径。 六边形图块适合放置在80 x 80的正方形内,内部存储为二维数组,并在代码中由这些2D坐标(即hex [0,0],hex ...

2011-12-21 18:13:08 1 995   c#/ a-star
10 A-Star算法详细信息

我开始使用A *算法,但是我没有意识到它是如何工作的。 例如,我有一个图,它是: A-> B = 9(不是最初错误输入的90) A-> C = 20 C-> D = 40 现在我想从A开始并使用提到的路径转到D。 如果我使用此启发式函数:h( ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM