欧拉回路和哈密尔顿回路
“哈密爾頓回路問題”與“歐拉回路問題”看上去十分相似,然而卻是完全不同的兩個問題。“哈密爾頓回路問題”是訪問除原出發結點以外的每個結點一次且僅一次(圖2有哈密爾頓回路,如B到C到A到D再到B就是一個回路),而“歐拉回路問題”是訪問每條邊一次且僅一次;對任一給定的圖是否存在“歐拉回路”歐拉已給出了充分必要條件,而對任一給定的圖是否存在“哈密爾頓回路”至今仍未找到滿足該問題的充分必要條件。
所謂旅行推銷員問題是:
推銷員從駐地出發經過所要去的城市至少一次返回原地,應如何安排使其總的旅行距離最短。
類似的可以使費用最小或時間最短等。稱符合要求的巡游路線為一個巡回。巡回的概念里不包含優化指標的比較,只是一個可行方安。從旅行推銷員問題的概念來看它的本質是哈密爾頓圈的應用與延伸若把城市作為一個頂點,哈密爾頓圈只要求過每一個頂點一次且僅一次;
而推銷員回路是至少一次必要時允許重復通過。(補充類使問題還有“中國郵路問題”,詳細內容見參考資料)。
旅行推銷員問題中各個頂點重復通過主要是考慮巡回線路的最佳化問題。對于確定的圖,歐拉回路如果存在則回路是唯一的,而哈密爾頓圈若存在則可能有多條。
定義:
1。
推銷員回路:
在過各個頂點的巡回線路中,若每個頂點至少經過一次,則稱為推銷員回路
2
哈密爾頓回路
在過各個頂點的巡回線路中,若每個頂點只經過一次,則稱為哈密爾頓回路。
求解這種問題一般都有兩類解法:
??一類是精確解法,他是個np問題精確解法的恐怖我就不說了,但可通過一些方法來逼近多項式解法,我就搞過用貪心法和分支定界法綜和運用使問題的復雜度縮小很多,
另外就是近似解法,有局部搜索法,但我用模擬退貨和遺傳算法也解過還算理想,但細節上有些困難。
找出無向/有向圖內的最長無環路徑,簡便起見路徑無權值。
對于這個問題,就可以看成是哈密爾頓路徑的問題。
有空整理下
總結
以上是生活随笔為你收集整理的欧拉回路和哈密尔顿回路的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 找出第一个只出现一次的字符
- 下一篇: 桶球问题