带有A * JPS(跳转点搜索)

时间:2017-07-19 15:23:22

标签: algorithm graph-algorithm path-finding a-star pathfinder

我正致力于实现A * JPS (跳转搜索点), 虽然我理解它的基础知识,但似乎我仍然缺少一点。

尝试查找起始节点(标记为 S 与目标节点之间的路径(请参阅附图) (标记为 G 。 具有黑色棋盘格的单元格是被探索的节点,而具有箭头的白色单元格是跳跃点(具有关联方向)。所有细胞的旅行费用都是1,除了蓝色的是障碍物。

但是,正如您所看到的,某些区域尚未被探索,因此无法找到目标节点存在的路径。它似乎是由于它没有在一些跳跃点上对角线探测而引起的,但从我的理解,我们应该只考虑当前的方向(即按照图片上的箭头)

所以我的问题是,这次尝试有什么不对?我是否错过了跳跃点或误解了它的工作方式?

Attached image : A* JPS attempt (无法嵌入图片:P)

感谢您的回答。

  

线性(垂直和水平,但不是对角线)强迫邻居失踪。   C.F. BlueRaja的帖子图2

1 个答案:

答案 0 :(得分:0)

您似乎错过了论文中描述的强制邻居步骤。与图片中箭头相邻的未探测节点应排队为强制邻居。

见图2和3 here

Forced neighbors