为什么允许的启发式工作?

时间:2013-10-27 07:01:31

标签: artificial-intelligence a-star heuristics

我在A *搜索算法的背景下遇到了可接受的启发式术语。有人可以解释(或直觉)为什么启发函数h只有在不过度估计实际距离时才可以被允许?

2 个答案:

答案 0 :(得分:2)

考虑A *的停止条件,如果算法到达具有特定F值的目标节点,则算法停止,其中F等于G - 到目前为止构建的路径起点加上启发式值H,它表示对目标的剩余路径的估计。

在目标节点,F等于G,因为对目标的剩余路径的估算为0。

只有在H可以接受时,停止条件才有效,因为我们可以确定,如果我们在目标节点计算的F值小于任何其他F值,在任何其他节点中计算,我们可以肯定地确定它是最短路径,因为没有其他路径可以以较小的F值到达目标。

如果它不可接受,那么可能有一些我们计算F的其他节点高估了目标的剩余路径,我们无法将算法停止为更短的路径可能存在。

答案 1 :(得分:1)

对于那些不寻求免费提供资源而且不费力的人。

  

在计算机科学中,特别是在与...相关的算法中   寻路,一个启发式函数如果从来没有被认为是可以接受的   高估了达到目标的成本,即成本   估计达到目标不高于可能的最低值   从路径中的当前点开始的成本。可接受的启发式是   也被称为乐观启发式。

这是维基百科的链接:

http://en.wikipedia.org/wiki/Admissible_heuristic

关于第二个问题

如果没有高估真实成本,那么启发式是可以接受的,只是因为它是以这种方式定义的。