一,旅行商問題與H回路的聯系(H回路 定義為 哈密爾頓回路)
旅行商問題是希望售貨員恰好訪問每個城市一次,最終回到起始城市所用的費用最低,也即判斷圖中是否存在一個費用至多為K的回路。(K相當於圖中頂點的個數)
由於售貨員可以從某個城市到其他任何一個城市。因此,該問題對應的是一個完全圖(設為G′)。而關於判斷哈密爾頓回路的圖(設為G)並不一定為完全圖,因此,在將哈密爾頓回路問題歸約到旅行商問題時,定義一個費用函數(詳情參考《算法導論第二版中文版》第626頁。
通過這個費用函數,將判斷G′是否存在一個費用至多為K的路徑轉化為G中是否有哈密爾頓回路。
二,最長路徑問題與H回路的聯系
圖的最長路徑:若一條路徑包含了圖中所有的頂點且各個頂點只包含一次,那么它就是一條最長路徑。(如果有回路或圈則某個頂點一定會出現在路徑中出現了兩次)
哈密爾頓回路問題對應的圖為G,最長路徑問題對應的圖為G′,那么將哈密爾頓回路問題歸約到最長路徑問題,實質上是已經G具有H回路(H圈),如何判斷G′具有H路?
如何根據實際要證明的已知的最長路徑問題建模而成的G′,構造出G呢?-----在G′的基礎上增加一個頂點V,並將G′中各個點與V連一條邊,形成的圖即G。
若G中存在H圈則G′中存在H路。
理論證明參考《圖論》中的度序列定理。
