0
A
回答
0
Greedy Best First Search在任何情況下的行爲都可能與Depth First Search類似嗎?
不,如果是的話,它會是深度優先搜索。
我看到這兩種算法的最壞情況是類似的O(b^m)。這是否意味着他們的行爲方式相同?
號
0
「最佳第一」只是意味着它完全依靠一些啓發式該分數可能的選項,並首先擴展的最佳選擇。深度優先搜索不使用這種啓發式。
想一想,它的一個方法是Djiksta將返回圖中具有非負邊的最短路徑。當您添加最佳優先搜索的評分機制時,您會得到A *。帶走Djikstra,你會再次回到最佳狀態。
相關問題
- 1. 將深度優先搜索轉換爲序列中的最優先(貪婪)搜索
- 2. 廣度優先搜索和深度優先搜索
- 3. 深度優先搜索和廣度優先搜索瞭解
- 4. Java - 深度優先搜索
- 5. 深度優先搜索
- 6. java深度優先搜索
- 7. 深度優先搜索(C++)
- 8. OCAML深度優先搜索
- 9. JavaScript深度優先搜索
- 10. 深度優先迭代深化搜索與深度優先搜索
- 11. 實現A * - 搜索作爲廣度優先搜索/深度優先搜索
- 12. 非貪婪搜索
- 13. 深度優先搜索確定深度
- 14. 深度優先搜索和圖形上的寬度優先搜索
- 15. 優先深度優先搜索廣度優先搜索或反之亦然
- 16. Traveral迷宮和深度優先搜索
- 17. 在Boost中執行深度優先搜索和寬度優先搜索
- 18. 統一成本搜索與深度優先搜索
- 19. 深度或廣度優先搜索?
- 20. 深度優先搜索中的Python「RuntimeError:最大遞歸深度」
- 21. java中的深度優先搜索
- 22. 在Python中的深度優先搜索
- 23. Java中的深度優先搜索
- 24. 圖的深度優先搜索
- 25. Vim非貪婪搜索
- 26. 貪婪遞歸搜索
- 27. 將廣度優先搜索轉換爲深度優先使用Java搜索
- 28. 廣度優先搜索/深度優先搜索還是定向圖?
- 29. 迭代加深深度優先搜索比深度優先搜索更高的時間複雜度?
- 30. Python深度第一次搜索字典
是否有任何可能的情況,當兩個算法以相同的方式尋找答案時,可能通過以相同方式遍歷節點。讓我們說目標在於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