【问题标题】:A* with manhattan distance or euclidean distance for maze solving?A* 与曼哈顿距离或欧几里得距离解决迷宫问题?
【发布时间】:2017-10-09 22:33:40
【问题描述】:

我通过图像处理得到了所有可能的迷宫路径。现在,我想使用 A* 算法来找到迷宫的最短路径。但是,我对欧几里得距离是更好的启发式距离还是曼哈顿距离感到困惑。它取决于迷宫类型还是启发式选择独立于迷宫类型?对于以下可能的路径,哪个距离(曼哈顿或欧几里得)将是一个不错的选择,为什么?请建议。

PS。 (如果您有任何参考,请也添加您的参考。这会有所帮助)

【问题讨论】:

  • 我在 A* 中使用欧几里得和曼哈顿(分别)作为启发式实现了最短路径查找。但是,没有一个能给出好的结果。我想自我生成启发式。有什么可能的选择?帮助将不胜感激。请提出建议。

标签: path-finding maze euclidean-distance


【解决方案1】:

Heuristic 的目的是为探路者提供上下文信息。这些信息越准确,探路者的效率就越高。

你有两个相互矛盾的要求来获得一个好的启发式,这很好,因为它意味着有一个甜蜜点。他们在这里:

  • 启发式必须是admissible,这意味着它永远不会高估距离。否则,算法将被破坏,并可能返回甚至不是最优的路径。
  • 启发式必须返回可能的最大距离。一个启发式算法会低估一个单元格的剩余路径,而当另一个单元格可能更好时,它会支持该单元格。

当然,最优启发式算法会返回准确、正确的长度(这通常无法实现或违背目的),因为它不能返回更长的路径而不停止被接受。


在您的情况下,您似乎正在处理 4 连接网格。在这种情况下,曼哈顿距离将是比欧几里得距离更好的度量,因为与曼哈顿相比,欧几里得会低估所有位移的成本(由于Pythagorean Theorem)。

除了“该图是一个 4 连通网格”之外没有任何进一步的知识,没有比曼哈顿更好的度量标准了。但是,如果您设法获得更多数据(障碍物密度、“高速公路”等),那么您可能能够设计出更好的启发式方法 - 尽管保持其可接受性本身就是一个非常困难的问题。


编辑 仔细观察,左下角的顶点似乎有角度。如果是这样,那么您不在 4 连通图中,那么您必须使用欧几里得距离,因为曼哈顿不会被接纳。

【讨论】:

    【解决方案2】:

    不清楚您是否可以在图表中沿对角线移动?如果是这样,切比雪夫距离最好https://en.wikipedia.org/wiki/Chebyshev_distance。否则使用曼哈顿距离

    【讨论】:

      猜你喜欢
      • 2019-03-08
      • 1970-01-01
      • 2019-05-07
      • 2013-10-20
      • 2012-06-18
      • 1970-01-01
      • 2020-08-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多