盲搜索和启发式搜索有什么区别?

shr*_*i s 2 artificial-intelligence

我正在寻找人工智能领域中使用的盲搜索和启发式搜索之间的差异。

小智 6

盲目搜索 - 在没有信息的情况下搜索。
例如:BFS(盲搜索方法之一)。我们只是为当前状态(当前节点)生成所有的后继状态(子节点),并查找其中是否存在目标状态,如果没有,我们将生成子节点的后继状态之一,依此类推。因为我们没有信息,所以只生成所有。

启发式搜索 - 搜索信息。
例如:A* 算法。我们根据成本和具有启发式函数的“启发式信息”选择我们的下一个状态。

案例示例:找到最短路径。
使用盲搜索,我们只是尝试所有位置(蛮力)。
使用启发式,假设我们有关于起点和每个可用位置之间距离的信息。我们将使用它来确定下一个位置。


小智 5

盲目搜索:

  • 它本质上是完全野蛮的,因为它没有任何特定领域的知识。
  • 这是一个非常漫长的过程
  • 它也称为无信息搜索或暴力搜索。
  • 使用大内存。
  • 搜索过程会记住所有对搜索过程无用的不需要的节点。
  • 它不使用任何特殊的搜索功能。
  • 示例:深度优先搜索和广度优先搜索。

启发式搜索:

  • 他们使用特定领域的知识来进行搜索过程。
  • 通过使用启发式,可以减少搜索过程。
  • 这称为知情搜索。
  • 这种类型的搜索不会浪费时间。
  • 没有使用大内存。
  • 启发式函数用于搜索。
  • 例如:爬山、最佳优先搜索以及 A* 和 AO*。