我对启发式功能的“数学”无菌感到非常困难。我今天在AI课上梦见了3分钟,我错过了解释。有人可以向我解释如何计算启发式函数是否可以接受?我发布了这个(是h5 =(h1 + h2 + h3)/ 3可以接受吗?)但老实说,我不一定是这个问题。我只是通过例子更好地理解。
另外,我有“AI:现代方法”一书,但我找不到一个例子。如果你知道我在哪里找到一个,我将不胜感激。
答案 0 :(得分:4)
首先,我们回想一下,如果启发函数永远不会过高估计达到目标的成本,那么它就是可以接受的。这意味着什么?
简而言之,这意味着,如果启发式函数为状态h
返回值x
,则没有真正的解决方案,成本较低x
。例如,对于寻路,当前点和目的地之间的欧氏距离是可以接受的,因为没有路径可以缩短直线!换句话说,可接受的启发式总是乐观的。
现在,我们可以回到你的问题了。我们有三个可接受的启发式h1
,h2
和h3
,我们希望找到这三个函数的平均值是否也可以接受。现在,我们可以从X(s)
到目的地调用s
最佳可能的费用(换句话说,就是最优解决方案的费用)。 X的值显然是未知的,但它会很有用。
由于h1
,h2
和h3
是可以接受的,因此我们知道对于任何州s
:
h1(s) < X(s)
(请记住:h1永远不会高估最优成本!)h2(s) < X(s)
h3(s) < X(s)
然后,因为h5
是其他三个函数的平均值,我们确切知道,对于每个状态,它都在min(h1(s),h2(s),h3(s))
和max(h1(s),h2(s),h3(s))
之间。所以我们可以说每个州s
:
h5(s) <= max(h1(s),h2(s),h3(s)) <= X(s)
同样h5
也可以接受。