为什么DFS不是最优的,但BF是最佳的

Ham*_*aee 7 artificial-intelligence

我脑子里已经有这个问题很长时间但从来没有得到合理的答案:

通常在人工智能课程中,当涉及到搜索时,总是说BFS是最优的但是DFS不是,但是我可以拿出许多用DFS显示的例子,我们甚至可以更快地得到答案.所以有人可以解释一下吗?我错过了什么吗?

use*_*ica 12

最佳,如"产生最佳路径",而不是"是最快的算法".在状态空间中搜索目标路径时,DFS可能会产生比BFS更长的路径.请注意,BFS仅在操作未加权时才是最佳选择; 如果不同的动作有不同的权重,你需要像A*这样的东西.

  • @HamedMinaee:如果您知道目标位于树的最左侧分支,则根本不需要搜索算法.只需每次都在列表中执行第一个操作.这不是一个特别常见的情况,因此针对该情况进行优化并没有用. (2认同)