我知道一般问题包括局部最大值和高原,但是我很好奇是否还有与此特定搜索相关的问题以及克服这些问题的最佳行动方案是什么。
有人还可以给我一个例子,说明这个搜索适合使用哪种问题?
我知道一般问题包括局部最大值和高原,但是我很好奇是否还有与此特定搜索相关的问题以及克服这些问题的最佳行动方案是什么。
有人还可以给我一个例子,说明这个搜索适合使用哪种问题?
最佳优先搜索的问题:
还有一个无限分支的问题。假设您正在跟踪一个分支,其中深度节点i
的启发式值为
h(v_i) = 2^-i
. 你永远不会达到零,但贪婪的最佳优先将继续开发这些节点。
例子:
2
/ \
/ \
/ \
1 1.5
| |
1/2 1
| |
1/4 0
|
1/8
|
1/16
|
...
请注意,上面是允许的启发式函数,但是最好的第一次搜索永远不会得到解决方案,它会卡在无限分支中。
解决方案:
h(v)
接下来要探索的节点f(v) = h(v) + g(v)
(g(v)
“到目前为止的成本”在哪里。算法是完整的(如果存在则找到解决方案)并且是最优的(找到“最佳”解决方案)如果给定一个可接受的启发式函数。何时使用最佳优先搜索:
h*
文献中所表示的),最好的第一次搜索会找到一个最优的解决方案——而且速度很快。f:V->R
而不是 on h:V->R
。