我瞭解到,儘管看起來相似,歐拉路徑可以在線性時間內解決,而哈密頓路徑問題是NP完全的。我想知道造成這種差異的原因是什麼?我不太瞭解圖論,所以可能不會很好地理解一個嚴格的證明,但是一些術語應該沒問題。爲什麼歐拉路徑可以在線性時間內實現,而不是哈密爾頓路徑?
回答
基本上,歐拉問題可以用動態規劃解決,漢密爾頓問題不能。
這意味着如果您有圖的一個子集並通過它找到有效的循環路徑,則可以將此部分解與其他部分解組合,並找到全局有效路徑。對於最佳路徑來說,情況並非如此:即使在通過圖的一小部分找到了最佳路徑之後,這也可能是全局最優路徑的一部分(事實上,它通常並不是最終路徑的一部分) T)。非正式地,通過大圖的最佳路徑取決於圖中所有其他部分的確切值,因此沒有人找到正確使用「分而治之」的方法。
如果我們考慮無向圖的情況,如果圖連通並且只有兩個奇數度的頂點(開始和結束頂點),則存在歐拉路徑。此路徑只訪問一次邊緣。所以,歐拉路徑的存在依賴於頂點的度數而不是頂點的實際數量。
對於哈密爾頓路徑,沒有簡單的必要條件是已知的(當然也沒有多項式時間算法)。由於路徑必須一次打到每個頂點,所以「硬」的方法是檢查頂點的所有排列並查看路徑是否存在。
謝謝!但爲什麼歐拉路徑的必要條件存在,但漢密爾頓路徑卻不知道? – Jingping
其實, 哈密頓路徑的限制是你只能訪問一次邊緣。但是歐拉你可能會訪問相同的頂點,有時也會訪問相反方向的相同邊。然而,在大多數情況下,可以創建一個新的頂點,但只可能添加一個邊。
Bellman,R.(1962),「旅行商問題的動態規劃處理」,Journal of the ACM 9:61-63,doi:10.1145/321105.321111。
如果你只是檢查的文章,有一個動態編程實現圖形(不適用於各種課程的圖表)。而也有一些HMM實現爲好,
比約克倫,安德烈亞斯(2010 ),「無向哈密爾頓性的行列式總和」,Proc。第51屆IEEE計算機科學基礎研討會(FOCS'10),第173-182頁,arXiv:1008.0541,doi:10.1109/FOCS.2010.24。
eulerian路徑的好處是;你可以得到子圖(分支和邊界相似),然後得到總週期圖。真相可以說,eulerian大多是爲本地解決方案..
希望有所幫助..
- 1. 爲什麼TSP NP-hard而哈密爾頓路徑NP-complete?
- 2. 哈密頓路徑在Haskell
- 3. 枚舉*所有*哈密爾頓路徑
- 4. 最短哈密爾頓路徑和bitmasking
- 5. 歐拉路徑DFS實現
- 6. 哈密頓路徑分析
- 7. 哈密頓路徑算法
- 8. 在完全無向加權圖中查找哈密爾頓路徑與哈密爾頓電路
- 9. 如何將TSP轉化爲最小哈密爾頓路徑?
- 10. 哈密頓路徑問題的變化
- 11. 歐拉路徑,有向圖
- 12. 哈密頓電路
- 13. 這條路線的路徑是什麼?
- 14. 唯一拓撲排序意味着存在哈密頓路徑
- 15. BeautifulSoup - 爲什麼打印文件路徑而不是內容
- 16. Node.js的哈皮路線路徑
- 17. 爲什麼我可以在MacVim上使用相對路徑和絕對路徑?
- 18. 繪製點劃線(....)線索路徑,而不是一個線路(________)
- 19. 圖形數據庫和歐拉路徑
- 20. 榆樹路由指定的路線,而不是路徑
- 21. 拉斐爾路徑不顯示
- 22. 什麼路徑可以接受?
- 23. 爲什麼Hadoop FTPFileSystem.listStatus(路徑路徑)不起作用?
- 24. 爲什麼相對路徑路徑不顯示HTML5字幕
- 25. JRE內的JVM的路徑是什麼?
- 26. 什麼是「規範路徑」?
- 27. 什麼是路徑//它與/
- 28. 什麼是類路徑?
- 29. 這種路徑是什麼?
- 30. wiredep是returing物理路徑,而不是相對路徑
我想我現在對它很清楚。但是,您是否認爲歐拉路徑是全球有效路徑,而哈密爾頓路徑是最佳路徑? – Jingping
實際上,似乎有一個圖形的動態編程實現,請參閱我的答案.. – teutara