在观看麻省理工学院关于搜索的讲座时,4. 搜索:深度优先、爬山、梁教授以类似于最佳优先搜索的方式解释了爬山搜索。在大约 35 分钟的标记处,教授以类似于贪婪的最佳优先搜索的方式将路径排入队列,在其中对它们进行排序,并且最接近的节点首先展开。
然而,我在别处读到爬山不同于最好的第一次搜索。那这两者有什么区别呢?
在观看麻省理工学院关于搜索的讲座时,4. 搜索:深度优先、爬山、梁教授以类似于最佳优先搜索的方式解释了爬山搜索。在大约 35 分钟的标记处,教授以类似于贪婪的最佳优先搜索的方式将路径排入队列,在其中对它们进行排序,并且最接近的节点首先展开。
然而,我在别处读到爬山不同于最好的第一次搜索。那这两者有什么区别呢?
我们先看看他们的定义:
最佳优先搜索(BFS):
最佳优先搜索是一种搜索算法,它通过扩展根据指定规则选择的最有希望的节点来探索图。
通过“启发式评估函数”估计节点 n 的承诺一般来说,这可能取决于对 n 的描述、目标的描述、搜索收集到的信息,最重要的是,取决于关于问题域的任何额外知识。”
爬山(HC):
在数值分析中,爬山是属于局部搜索家族的数学优化技术。它是一种迭代算法,从问题的任意解决方案开始,然后通过对解决方案进行增量更改来尝试找到更好的解决方案。如果更改产生了更好的解决方案,则对新解决方案进行另一个增量更改,依此类推,直到找不到进一步的改进。
根据定义,我们可以发现以下差异: