A *搜索给出的次优解

时间:2014-09-13 12:47:08

标签: search artificial-intelligence heuristics

我不明白下面的图表如何通过A *搜索提供次优解决方案。

enter image description here

上面的图表是一个例子,其中A *搜索给出了一个次优解,即启发式是可接受的但不一致。每个节点都有一个与之对应的启发式值,并给出了遍历节点的权重。我不明白A *搜索将如何扩展节点。

2 个答案:

答案 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 *