是否允许h5 =(h1 + h2 + h3)/ 3?

Bil*_*ald 1 search artificial-intelligence heuristics

我对启发式功能的“数学”无菌性感到非常困难。今天我在AI课上做了3分钟的梦,我错过了解释。有人可以向我解释一下启发式函数是否可以接受时如何计算?我发布了这个(h5 =(h1 + h2 + h3)/ 3是否可以接受?),但老实说,我不必一定是这个问题。我只是以身作则更好地理解。

另外,我还有《 AI:一种现代方法》一书,但找不到示例。如果您知道在哪里可以找到我,我将不胜感激。

Dav*_*rsa 5

首先,我们回想一下,如果启发式函数从不高估达到目标的成本,则可以认为它是可以接受的。这是什么意思

简而言之,这意味着,如果启发式函数返回h状态的值,x 则不会存在成本更低的实解x。例如,为了寻路,当前点与目的地之间的欧几里得距离是允许的,因为没有一条路径可以缩短成一条直线!换句话说,允许的启发式总是乐观的

现在,我们可以回到您的问题。我们有三个可允许的启发式方法h1h2并且h3我们想确定这三个函数的平均值是否也是可允许的。现在,我们可以称呼从状态到目的地X(s)最佳可能成本s(换句话说,就是最佳解决方案的成本)。X的值显然是未知的,但将很有用。

因为h1h2并且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)
Run Code Online (Sandbox Code Playgroud)

因此也是h5可以接受的。