基于二维网格的寻路:最便宜的 way/algorithm 来找出一个位置是否可以到达

2d gridbased Pathfinding: Cheapest way/algorithm to find out if a location is reachable

我的主要寻路是通过 aStar 算法的实现完成的。只要有路径,性能就很好。

但是,如果有 none,则可能会解析所有可用节点,直到您得出没有路径的结论。

我能想到的最坏情况是在目标位置相对较近的地方几乎没有障碍物。

到目前为止我提出的一些想法可能会提高整体性能:

所以我在这里要问的是,如果有人那里有一些 bulletpoints/ideas 我可以添加到我的列表中,或者指出我可以使用的更便宜的寻路算法的方向确定是否有路径

第一个idea,应该细化!

由于您的启发式算法,A* 将大部分时间花在目标周围, 因此在它周围创造了一堵 "visited" 墙。

所以我认为您可以检查是否继续 "wall" 访问过的方块, 如果您找到包含目标但不包含源的闭合连续路径,则您无需进一步搜索。

第二个想法,未完成,但可能会减少"LOST"时间,
使用双向 A*,Source 运行 Destination,但同时 Destination 发现它是通往 Source 的路。

看看 https://qiao.github.io/PathFinding.js/visual/ 了解它的行为方式。