【发布时间】:2013-06-24 07:05:33
【问题描述】:
我正在研究一些双向 A* 算法。我从头到尾,从头到尾搜索。当第一个线程遇到来自其他线程(来自打开或关闭列表)的节点时,它会停止并绘制一条返回路径。
但是当线程采用不同的路径并且它们没有在应有的位置相遇时,我遇到了问题。
【问题讨论】:
标签: parallel-processing path-finding a-star bidirectional
我正在研究一些双向 A* 算法。我从头到尾,从头到尾搜索。当第一个线程遇到来自其他线程(来自打开或关闭列表)的节点时,它会停止并绘制一条返回路径。
但是当线程采用不同的路径并且它们没有在应有的位置相遇时,我遇到了问题。
【问题讨论】:
标签: parallel-processing path-finding a-star bidirectional
这是一个阻碍双向搜索研究的常见问题,直到 Kaindl & Kainz 在 1997 年证明没有必要。PNBA*: A Parallel Bidirectional Heuristic Search Algorithm 的第 2.3 节提供了额外的历史背景,以及克服此问题的(并行)双向算法。
您不妨先阅读Yet Another Bidirectional Algorithm for Shortest Paths,因为它所描述的(串行)NBA* 算法已被第一篇论文广泛引用。
我刚刚成功地调整了我在here 找到的开源 Hexgrid PathFinding 实用程序,以使用 PNBA* 的串行版本。 (实际上大约介于 NBA* 和 PNBA* 之间)这将在一两天内上传。
Making the Shortest Path Even Quicker 概述了使用带有预处理的双向 A* 开发 Bing 地图路径查找器。 Reach for A* 和 Better Landmarks Within Reach 中提供了预处理工作的详细描述以及相关算法的使用
【讨论】: