我知道一般问题包括局部最大值和高原但是我很好奇是否有更多与此特定搜索相关的问题以及我为克服这些问题而采取的最佳行动方案。
有人也可以举例说明这种搜索可以用于哪种问题吗?
答案 0 :(得分:13)
最佳首次搜索的问题:
无限分支也存在问题。假设你是
跟随分支,其中深度为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。何时使用Best First Search:
h*
),最好的第一次搜索将找到一个最佳解决方案 - 而且速度很快。f:V->R
而不是h:V->R
上。