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