我通过图像处理获得了所有可能的迷宫路径。现在,我想使用A *算法来找到迷宫的最短路径。但是,我对欧几里德距离是否是更好的启发式或曼哈顿距离感到困惑。它是依赖于迷宫类型还是独立于迷宫类型的启发式选择?哪个距离(曼哈顿或欧几里德)将是以下可能路径的好选择,为什么?请建议。
PS。 (如果您有任何参考,请添加您的参考。这将有所帮助)
答案 0 :(得分:2)
Heuristic的目标是向探路者提供背景信息。这些信息越准确,探路者就越有效率。
你有两个相反的要求来获得一个好的启发式,这很好,因为它意味着有一个最佳点。他们在这里:
当然,最佳启发式算法会返回准确,正确的长度(通常无法实现或无法达到目的),因为它无法在不停止允许的情况下返回更长的路径。
在您的情况下,看起来您正在处理4连接的网格。在这种情况下,曼哈顿距离将是比欧几里德距离更好的度量,因为与曼哈顿相比,欧几里得将低估所有位移的成本(由于Pythagorean Theorem)。
除了'图表是4连通网格'之外没有任何进一步的知识,没有比曼哈顿更好的指标。但是,如果你设法获得更多的数据(障碍物密度,“高速公路”等),那么你可以设计一个更好的启发式方法 - 尽管保持可接受性本身就是一个非常难的问题。
编辑仔细观察,看起来你左下角有一个倾斜的顶点。如果是这样,那你就不是4连通图,那么你必须使用欧几里德距离,因为曼哈顿是不可接受的。
答案 1 :(得分:-2)
尚不清楚在图形上对角移动是否可以提高物理速度:向上移动一个块与向右对角移动一个块是否需要相同的时间?如果是这样,切比雪夫距离最好https://en.wikipedia.org/wiki/Chebyshev_distance。否则使用欧几里得距离