【问题标题】:Heuristic function for finding the path using A star使用 A 星查找路径的启发式函数
【发布时间】:2012-02-26 18:59:54
【问题描述】:

我正在尝试为以下问题找到最佳解决方案

  1. 每个节点内表示的数字表示为(x,y)
  2. 节点的相邻节点始终具有y 值,即(当前节点y 值+1)。
  3. 当我们从一个节点转到其相邻节点时,x 值的更改成本为 1
  4. 如果x 的值没有变化,则从节点到其相邻节点没有成本。
  5. 没有两个具有相同y 值的节点被认为是相邻的。

最优解是成本最低的,我正在考虑使用 A* 寻路算法来寻找最优解。

我的问题,对于这类问题,A* 是一个不错的选择吗,或者我应该看看其他任何算法,而且我正在考虑使用递归方法来计算启发式成本,但我觉得它不是个好主意。

这是我认为启发式函数将是这样的示例

  • 节点的启发式权重 = Min(其子节点的启发式权重)
  • 子节点也是如此。

但据我所知,启发式是一个近似值,所以我认为就启发式函数而言,我的方向是错误的

【问题讨论】:

  • 启发式必须是可接受的(否则它不会是A*,而只是A),而不仅仅是“近似”。它还应该快速计算,否则你失去的比你得到的多。最重要的是,它应该是“有用的”——如果所有成本都是非负的,那么恒定的零启发式将起作用,但随后 A* 会降级为 BFS。
  • 那么你对我目前的启发式有什么看法
  • 嗯,你可以在 O(n) 中完成(只发生一次),这不是非常糟糕,但它确实意味着接触每个节点(并记住所有结果)所以 A* 种失去优势。毕竟,关键是 not 探索整个节点空间(所以它是 not O(1) 摊销的)。也正如所写的那样,它只有 0 或 1,并不完全“有用”,也许你错过了 +1?

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


【解决方案1】:

当像 Dijkstra's 这样的东西可以工作时,使用 A* 似乎有点过头了。 Dijkstra 仅适用于非负成本转换,在此示例中似乎是正确的。如果您可以进行负成本转换,那么 Bellman-Ford 也应该有效。

【讨论】:

    【解决方案2】:

    A* 保证在具有非负边路径成本的图中找到成本最低的路径,前提是您使用适当的启发式方法。什么使启发式函数合适?

    首先,它必须是可接受的,即。 e.对于任何节点,它应该对从该节点到任何目标节点的最便宜路径的成本进行低估或正确估计。这意味着启发式算法永远不应高估从节点到目标的成本。

    请注意,如果您的启发式计算每个节点的估计成本为 0,那么 A* 只会变成广度优先的穷举搜索。所以 h(n)=0 仍然是一个可接受的启发式,只是最坏的一个。因此,在所有可接受的启发式方法中,对目标成本的估计越严格,效果就越好。

    其次,计算成本必须便宜。它当然应该是 O(1),并且最好只查看当前节点。按照您的建议递归评估成本将使您的搜索明显变慢,而不是更快!

    因此,A* 适用性的问题是您能否提出一个相当好的启发式方法。从您的问题描述中,尚不清楚您是否可以轻松想出一个。

    根据问题域,如果放宽要求,A* 可能非常有用。如果启发式变得不可接受,那么您将失去找到最佳路径的保证。但是,根据对距离的高估程度,解决方案可能仍然足够好(对于“足够好”的问题特定定义)。优点是有时您可以更快地计算出“足够好”的路径。在某些情况下,启发式的概率估计效果很好(它可以有额外的限制以保持在允许范围内)。

    因此,一般来说,您对易处理的问题进行广度优先搜索,其次,您使用 A* 更快地搜索具有可接受启发式的易处理问题。如果您的问题对于广度优先穷举搜索是棘手的并且不承认启发式,那么您唯一的选择就是满足于“足够好”的次优解决方案。同样,A* 在这里可能仍然适用于不可接受的启发式,或者您应该查看光束搜索变体。不同之处在于,束搜索对当前正在探索的图表的数量方式有限制,而 A* 通过选择成本较低的一些子集来间接限制它们。当不同搜索路径之间的成本差异很小时,即使在放宽可允许性的情况下,也存在 A* 无法解决的实际情况。对路径数量有硬性限制的束搜索在此类问题中的工作效率更高。

    【讨论】:

      猜你喜欢
      • 2014-05-24
      • 2013-06-02
      • 1970-01-01
      • 2020-07-25
      • 2020-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-15
      相关资源
      最近更新 更多