A star算法是否肯定以较低的成本返回路径? 我正在运行此算法,它提出了一条没有最低成本的路径(我发现了另一条成本较低的路径) 为什么它提出了这条道路而不是另一条(成本较低)? 除了成本标准外,它还有其他标准来选择提议的路径吗? 这是我要问的关于绿色路径成本较低的示例,但算法建议使用橙色路径
答案 0 :(得分:2)
A star算法是否绝对返回路径少 费用?
是的,只要您使用了一致的启发式方法即可。如果是这样,有两种选择,
它必须是这两者之一,因为事实证明,无论何时使用consistent heuristic function,A *总是会找到最佳路径。
想象一下,绿色路径中的第一个节点(从A到达的成本为1)根据您使用的h(green_1) = 20
函数具有启发式值。该值高估了从该节点到目标节点B的实际最短路径,即6。现在让我假设橙色路径中所有节点的试探性估计对应于从该节点到B的实际最短路径。因此,>
f(绿色_1)= g(绿色_1)+ h(绿色_1)= 1 + 20 = 21
对应于橙色路径的所有f(n)值将具有较小的f(n)
值,因此将不会选择green_1进行扩展。目标节点也将使用f(B) = g(B) + h(B) = 11 + 0
添加到OPEN列表中并进行扩展,并且由于我们的启发式方法仅向我们承诺了一条绿色边的成本为21的路径,因此比已经发现的橙色路径还差,该算法将完成并返回次优解决方案。
。
答案 1 :(得分:1)
试探法必须返回小于或等于实际最小成本的值。否则,算法可能会返回错误的结果。