爬山算法和贪婪的最佳优先搜索算法有什么区别?

人工智能 比较 搜索 爬山 最佳优先搜索
2021-10-29 04:46:13

在观看麻省理工学院关于搜索的讲座时,4. 搜索:深度优先、爬山、梁教授以类似于最佳优先搜索的方式解释了爬山搜索。在大约 35 分钟的标记处,教授以类似于贪婪的最佳优先搜索的方式将路径排入队列,在其中对它们进行排序,并且最接近的节点首先展开。

然而,我在别处读到爬山不同于最好的第一次搜索。那这两者有什么区别呢?

1个回答

我们先看看他们的定义:

  1. 最佳优先搜索(BFS):

    最佳优先搜索是一种搜索算法,它通过扩展根据指定规则选择的最有希望的节点来探索图。

    通过“启发式评估函数”估计节点 n 的承诺f(n)一般来说,这可能取决于对 n 的描述、目标的描述、搜索收集到的信息,最重要的是,取决于关于问题域的任何额外知识。”

  2. 爬山(HC):

    在数值分析中,爬山是属于局部搜索家族的数学优化技术。它是一种迭代算法,从问题的任意解决方案开始,然后通过对解决方案进行增量更改来尝试找到更好的解决方案。如果更改产生了更好的解决方案,则对新解决方案进行另一个增量更改,依此类推,直到找不到进一步的改进。

根据定义,我们可以发现以下差异:

  • BFS 的目的是通过使用启发式函数(它可能是贪婪的)来达到指定的目标,而 HC 是一种局部搜索算法
  • BFS 主要用于图搜索(在宽状态空间中)以查找路径。vs. HC 用于优化任务。