【发布时间】:2012-12-19 10:30:47
【问题描述】:
我知道一般问题包括局部最大值和高原,但是我很好奇是否还有与此特定搜索相关的问题,以及为了克服这些问题,我的最佳行动方案是什么。
谁能给我一个例子,说明这个搜索适合用来解决哪种问题?
【问题讨论】:
标签: algorithm prolog artificial-intelligence state-space
我知道一般问题包括局部最大值和高原,但是我很好奇是否还有与此特定搜索相关的问题,以及为了克服这些问题,我的最佳行动方案是什么。
谁能给我一个例子,说明这个搜索适合用来解决哪种问题?
【问题讨论】:
标签: algorithm prolog artificial-intelligence state-space
最佳优先搜索的问题:
还有一个无限分支的问题。假设你是
跟随一个分支,其中深度 i 的节点具有启发式值
h(v_i) = 2^-i。你永远不会归零,但最好先贪婪
将继续开发这些节点。
示例:
2
/ \
/ \
/ \
1 1.5
| |
1/2 1
| |
1/4 0
|
1/8
|
1/16
|
...
注意上面是admissible heuristic function,但是最好的第一次搜索永远不会得到解决方案,它会卡在无限分支中。
解决方案:
h(v) 进行选择,而是使用f(v) = h(v) + g(v) 选择接下来要探索的节点(其中g(v) 是“到目前为止的成本”。该算法如果给出admissible heuristic function,则它是完整的(如果存在则找到解决方案)和最优(找到“最佳”解决方案)。何时使用最佳优先搜索:
h*),最好的第一搜索将找到一个最佳解决方案 - 而且速度很快。f:V->R 上而不是在 h:V->R 上。【讨论】: