我已經從多個來源讀取,並且從我對2^N次運行的算法的理解中瞭解到。我的問題是什麼導致TSP達到這個運行時間?我似乎無法找到一個僞代碼,所以我可以檢查它。瞭解旅行推銷員的時間複雜性
-1
A
回答
3
你的意思的算法是有可能的容斥:
雖然使用A*
以下狀態空間尋找最短路徑:
- 狀態是由一組城市到的分區定義「訪問」集合,「未訪問」集合和「當前」節點。
- 有效的轉換是將一個節點從「當前」移動到「已訪問」以及一個從「未訪問」移動到「當前」集合的轉換。其成本等於從舊「當前」到新「當前」的距離。
- 起始狀態是:沒有城市被「訪問」,任意城市是「當前」。
- 完成狀態是:沒有城市是'未訪問',任何城市都是'當前'。
容斥的時間複雜度是由國家的數給出:恰好有一個「當前」城市(的n
因子)和所有其他城市要麼參觀或未訪問(的2^n
因子)。
'A *'算法最多隻能進入一次狀態。對於每個狀態,它將最多探索'n'個其他節點並將它們推入優先級隊列。優先級隊列最多會花費'O(n)'時間來執行其操作。
因此,運行時間是O(2^n * n * n * O(n))
= O(2^n * poly(n))
。進一步的洞察表明,O(2^n * poly(n))
等於O(2^n)
。
+0
不,這是不正確的_進一步的洞察表明'O(2^n * poly(n))'等於'O(2^n)'._ –
+0
@MithleshUpadhyay怎麼回事?我確實寫了一個證明,但我沒有打算髮表。你是否有相反方向的證據表明我當時犯了一個數學錯誤? –
相關問題
- 1. 旅行推銷員
- 2. 使用A *解決旅行推銷員
- 3. 旅行推銷員(TSP)性能
- 4. Neo4J - 旅行推銷員
- 5. WEKA旅行推銷員
- 6. 旅行推銷員問題
- 7. 旅行推銷員:矩陣和旅遊
- 8. 有時間限制的旅行推銷員
- 9. F#旅行推銷員的表現
- 10. 旅行推銷員的提示
- 11. 旅行推銷員的交叉算法?
- 12. 一棵樹上的旅行推銷員
- 13. Gurobi/Python的旅行推銷員
- 14. 多項式時間的精確旅行推銷員問題(TSP)解決方案?
- 15. 旅行推銷員C程序錯誤
- 16. 遺傳算法旅行推銷員C++
- 17. 簡體中文Prolog旅行推銷員
- 18. 索引出差旅行推銷員
- 19. 進化算法 - 旅行推銷員
- 20. 遺傳算法旅行推銷員
- 21. 旅行推銷員啓發式
- 22. 旅行推銷員使用Pyomo
- 23. 旅行推銷員,包括通過城市旅行
- 24. 公制旅行推銷員,強求解決方案的優勢
- 25. 如何解決SML中的旅行推銷員?
- 26. 瞭解時間複雜度
- 27. 在GA中應用突變來解決旅行推銷員
- 28. 解釋時間複雜性?
- 29. 旅行銷售人員python
- 30. 使用樹的多項式時間旅行推銷員[動態規劃]
問題沒有時間複雜性。算法具有時間複雜性。 TSP的包含 - 排除算法運行在'O(2^n * n)'時間和空間中。 TSP的時間複雜度(如果理解爲解決它的最佳算法的時間複雜度)目前是未知的。 –
謝謝你是正確的我的意思是解決TSP問題的算法。那麼,關於包含排除和分支和綁定等算法會導致運行時間複雜度的算法又是什麼呢? – staticFlow