最佳优先对比广度优先

best-first Vs. breadth-first

最佳优先搜索和广度优先搜索有什么区别?我们称哪一个为 "BFS" ?

那是搜索图(树)的 2 个算法。

广度首先查看某个深度的所有元素(节点),试图找到一个解决方案(搜索值或其他),然后继续更深一层并查看每个节点等等。

Best 首先查看主要由启发式定义的 "best" 节点,检查该节点的最佳子节点等。

A* 是启发式(最佳优先搜索)的一个例子,它的速度更快。但是您需要一种启发式方法,而广度搜索则不需要。

创建启发式需要自己的努力。广度优先开箱即用。

先回答你的第二个问题:

which one do we call "BFS" ?

通常当我们提到 BFS 时,我们指的是广度优先搜索。

What is the difference between best-first-search and the breadth-first-search

在比较此类算法时,我喜欢参考的类比是机器人挖金。

给定一座山,我们的目标就是找到金子。

广度优先搜索事先不知道黄金的下落,所以如果机器人没有找到任何黄金,它只会沿着 10 英尺长的地带挖 1 英尺深黄金,它挖得更深 1 英尺。

然而,

最佳优先搜索 具有内置的金属探测器,因此意味着它具有先验知识。当然,拥有金属探测器是有成本的,还有打开它并查看哪个地方最适合开始挖掘的成本。

最佳优先搜索是知情,而广度优先搜索是未知情,因为一个有金属探测器,另一个没有't!

广度优先搜索已完成,这意味着它会找到一个存在的解决方案,如果有足够的资源就会找到最优解。

最佳优先搜索也是完整的,前提是启发式——成本的估计/因此先验知识——是可接受的——这意味着它高估了获得解决方案的成本)

我从 http://slideplayer.com/slide/9063462/ 获得了 BFS 图像,最佳优先搜索是我在 photoshop 上的失败尝试!