最佳优先搜索和广度优先搜索有什么区别?我们称之为“BFS”的是哪一个?
最佳答案
首先回答你的第二个问题:
which one do we call "BFS" ?
通常,当我们提到 BFS 时,我们谈论的是广度优先搜索。
What is the difference between best-first-search and the breadth-first-search
在比较此类算法时,我喜欢引用的类比是机器人挖金子。
给定一座小山,我们的目标是简单地找到黄金。
广度优先搜索事先不知道金子的下落,所以机器人只需沿着 10 英尺长的带挖 1 英尺深,如果没有找到任何金子,它就会挖 1 英尺深。
[![广度优先搜索][1]][1]
最佳优先搜索然而,它有一个内置的金属探测器,这意味着它有先验知识。当然,拥有金属探测器的成本,以及打开它并查看哪个地方最适合开始挖掘的成本。
最佳优先搜索被告知,而广度优先搜索是不知情的,因为一个有金属探测器而另一个没有!
[![知情搜索][2]][2]
广度优先搜索是完整的,这意味着如果存在解决方案,它将找到解决方案,并且给定足够的资源将找到最佳解决方案。
如果启发式(成本的估计量/因此先验知识)是可接受的,则最佳优先搜索也是完整的——这意味着它高估了获得解决方案的成本)
我从 http://slideplayer.com/slide/9063462/ 得到了 BFS 图像最佳优先搜索是我在 photoshop 上的失败尝试!
[1]:/image/m5EgX.png
[2]:/image/8tMbh.png
关于artificial-intelligence - 最佳优先 Vs。广度优先,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47093286/