我一直有一个问题,但从来没有得到合理的答案:
通常,在人工智能课程中,当涉及到搜索时,总是说BFS(广度优先搜索)是最优的,但DFS(深度优先搜索)不是,但我可以举出许多例子证明DFS甚至可以更快地得到答案。所以,有人能解释一下吗?我可能漏掉了什么吗?
我一直有一个问题,但从来没有得到合理的答案:
通常,在人工智能课程中,当涉及到搜索时,总是说BFS(广度优先搜索)是最优的,但DFS(深度优先搜索)不是,但我可以举出许多例子证明DFS甚至可以更快地得到答案。所以,有人能解释一下吗?我可能漏掉了什么吗?
“Optimal”在这里指的是“产生最佳路径”,而不是“是可能的最快算法”。当搜索状态空间以找到目标路径时,深度优先搜索(DFS)可能会产生比广度优先搜索(BFS)更长的路径。需要注意的是,只有当操作未加权时,BFS才是最优的;如果不同的操作具有不同的权重,则需要像A*这样的算法。
您可以参考下面的链接,它考虑了一棵树的例子,并使用两种方法进行解决。 link