best-first-search和广度优先搜索有什么区别?我们称之为“BFS”?
答案 0 :(得分:6)
首先回答你的第二个问题:
我们称之为“BFS”?
通常,当我们提到BFS时,我们正在讨论广度优先搜索。
best-first-search和广度优先搜索
之间有什么区别?
比较这些算法时我喜欢咨询的类比是机器人挖掘黄金。
鉴于山丘,我们的目标是找到黄金。
广度优先搜索之前没有关于黄金下落的知识,所以如果没有找到任何金币,机器人只需在10英尺长的地方挖1英尺深,它就会挖1个脚更深。
然而,最佳搜索具有内置金属探测器,因此意味着它具有先验知识。当然,有一个金属探测器的成本,并打开它的成本,并看到哪个地方是最好开始挖掘。
最佳优先搜索已通知而广度优先搜索未知,因为其中一个有金属探测器而另一个没有! 广度优先搜索已完成,这意味着如果存在解决方案,它将找到解决方案,并且给予足够的资源将找到最佳解决方案。
如果可以接受启发式(成本的估算/因此先验知识)(意味着它高估了获得解决方案的成本),那么最佳优先搜索也是完整的。
我从http://slideplayer.com/slide/9063462/获得了BFS图像最佳搜索是我在photoshop中失败的尝试!
答案 1 :(得分:1)
这是2种算法来搜索图形(树)。
广度首先查看某个深度的所有元素(节点),尝试找到一个解决方案(搜索值或其他),然后继续更深层次并查看每个节点,依此类推。
最好先看看"最佳"主要由启发式定义的节点,检查该节点的最佳子节点,依此类推。
A *将是heursitic(最好的第一次搜索)的一个例子,它的方式更快。但是你需要一个启发式的东西,你不需要进行广度搜索。
创建启发式需要自己的努力。宽度优先是开箱即用。