我不明白下面的图表如何通过A *搜索提供次优解决方案。
上面的图表是一个例子,其中A *搜索给出了一个次优解,即启发式是可接受的但不一致。每个节点都有一个与之对应的启发式值,并给出了遍历节点的权重。我不明白A *搜索将如何扩展节点。
答案 0 :(得分:3)
启发式h(n)不一致。
让我首先定义一个启发式函数何时被认为是一致的。
h(n) is consistent if
– for every node n
– for every successor n' due to legal action a
– h(n) <= c(n,a,n') + h(n')
这里显然&#39; A&#39;是节点的继承者&#39; B&#39;
但是h(B) > h(A) + c(A,a,B)
因此,启发式函数不一致/单调,因此A *无需给出最优解。
答案 1 :(得分:0)
老实说,我没有看到A *如何能够使用给定的启发式返回次优解。 这是一个简单的原因:给定的启发式是可以接受的(甚至单调/一致)。
h(s) <= h*(s) for each s in the graph
您可以自行检查,比较每个节点的h值与g的最短路径的成本。
鉴于A *的最优性,我不知道它如何能够返回次优解,当然应该是S -> A -> G
。
它可以返回次优解决方案的唯一方法是,如果找到来自通往目标的边界中的节点的动作(因此要有到达目标的路径),它会停止,但是这不会是A * 。