0
A
回答
0
Greedy Best First Search在任何情况下的行为都可能与Depth First Search类似吗?
不,如果是的话,它会是深度优先搜索。
我看到这两种算法的最坏情况是类似的O(b^m)。这是否意味着他们的行为方式相同?
号
0
“最佳第一”只是意味着它完全依靠一些启发式该分数可能的选项,并首先扩展的最佳选择。深度优先搜索不使用这种启发式。
想一想,它的一个方法是Djiksta将返回图中具有非负边的最短路径。当您添加最佳优先搜索的评分机制时,您会得到A *。带走Djikstra,你会再次回到最佳状态。
相关问题
- 1. 将深度优先搜索转换为序列中的最优先(贪婪)搜索
- 2. 广度优先搜索和深度优先搜索
- 3. java深度优先搜索
- 4. OCAML深度优先搜索
- 5. 深度优先搜索确定深度
- 6. 深度优先搜索和图形上的宽度优先搜索
- 7. Traveral迷宫和深度优先搜索
- 8. 在Python中的深度优先搜索
- 9. java中的深度优先搜索
- 10. 图的深度优先搜索
- 11. 贪婪递归搜索
- 12. Python深度第一次搜索字典
- 13. C++有向图深度优先搜索
- 14. Java算法深度优先搜索
- 15. 深度优先搜索无堆
- 16. 深度优先搜索指令
- 17. 深度优先搜索(图形方法)
- 18. 深度优先搜索算法
- 19. 深度优先搜索算法序言
- 20. 深度优先搜索在Java
- 21. 深度优先搜索子网格
- 22. C++深度优先搜索(DFS)实施
- 23. 使用队列深度优先搜索
- 24. 深度优先搜索基础知识
- 25. 堆栈溢出深度优先搜索
- 26. 深度优先搜索算法
- 27. 何时使用深度优先搜索
- 28. Python非递归深度优先搜索
- 29. 深度优先搜索 - Java类实现
- 30. SWI-Prolog深度优先搜索?
是否有任何可能的情况,当两个算法以相同的方式寻找答案时,可能通过以相同方式遍历节点。让我们说目标在于m级树的叶节点。 DFS的最坏情况是o(b^m),GBFS也是如此。我们可以改变h(n)是否有某种方式使它像DFS一样适用于某些特殊情况? – Zombie 2012-03-01 10:43:41
设置h(n)= -g(n)会给你一个搜索,这取决于你从队列中取出什么顺序。 (可能是随机或先入,模拟BFS)。 因此,使它像DFS一样行事的策略是维护一个计数器,每次计算启发式时都会减少计数器。例如。您的启发函数是: H(N): 计数器=计数器 - 1 回报-g(N)+计数器 再次,这是不是A *的一个特别有用的应用,但它确实工作。 – sjdlgjsljg 2012-03-01 11:14:52