【计算理论】计算复杂性 ( NP 完全问题 | 顶点覆盖问题 | 哈密顿路径问题 | 旅行商问题 | 子集和问题 )
文章目錄
- 一、頂點覆蓋問題
- 二、哈密頓路徑問題
- 三、旅行商問題
- 四、子集和問題
- 五、NP 完全問題
一、頂點覆蓋問題
頂點覆蓋 ( Vertex Cover ) :
給定一個 無向圖 G\rm GG , G\rm GG 的 點集覆蓋 定義 :
找到 無向圖 G\rm GG 的 點集子集 V\rm VV ,
使得 無向圖 G\rm GG 中的任何一條邊 , 都與 點集子集 V\rm VV 的至少一個節點是接觸的 ;
頂點覆蓋問題 : 查看 無向圖 G\rm GG 中 是否包含一個指定大小的 滿足上述要求的 點集子集 V\rm VV ;
符號化表示 :
VERTEX?COVER={<G,K>∣G是無向圖,包含k個節點的點集覆蓋}\rm VERTEX-COVER = \{ <G, K> | G 是無向圖 , 包含 k 個節點的 點集覆蓋 \}VERTEX?COVER={<G,K>∣G是無向圖,包含k個節點的點集覆蓋}
其中 k\rm kk 個節點 的 點集覆蓋 就是無向圖中有 k\rm kk 個點的點集子集 , 滿足點集覆蓋要求 ;
點集覆蓋 是 NP\rm NPNP 完全問題 ;
二、哈密頓路徑問題
哈密頓路徑問題在圖論中是很重要的問題 ;
在下圖中 , 從某個頂點出發 , 將所有的頂點都走一遍, 并且每個頂點只能經過一次 ,
經過所有頂點的 圈 稱為 哈密頓圈 ,
經過所有頂點的 道路 稱為 哈密頓道路 , 又稱為 哈密頓路徑 ;
哈密頓路徑問題 就是 找到無向圖中的哈密頓路徑 ;
涉及到的其它概念 :
…
途徑 : 頂點和邊的交替出現的序列 , 其順序符合圖中的位置即可 ;
跡 : 每個邊不能相同的 途徑 ;
路 : 每個點都不相同的 跡 ;
…
這三個概念 , 一個比一個嚴格 ;
…
閉途徑 : 起點 和 終點 相同的 途徑 ;
閉跡 : 起點 和 終點 相同的 跡 , 也稱 回路 ;
圈 : 起點 和 終點 相同的 路 ;
…
GGG 指的是 Graphic 圖 ;
EEE 指的是 Edge 邊 ;
VVV 指的是 Vertext 頂點 ;
哈密頓路徑 , 參考 【圖論】簡單 概念 及 公式 入門 ( 完全圖 | 二部圖 | 連通圖 | 歐拉回路 | 哈密頓圈 | 平面圖 | 歐拉定理 ) 博客中的 歐拉回路 與 哈密頓圈 ;
哈密頓路徑問題 是 NP\rm NPNP 完全的 ;
無向圖中哈密頓路徑是否存在 , 該問題也是 NP\rm NPNP 完全的 ;
前者是求出具體的哈密頓路徑 , 后者求哈密頓路徑是否存在 ;
三、旅行商問題
旅行商問題 : 無向圖中 , 每條邊都有一個權重 , 求是否有一條哈密頓路徑的權重之和 , 不超過給定的自然數 W\rm WW ;
旅行商問題 是 NP\rm NPNP 完全的 ;
四、子集和問題
子集和問題 : 給定一個 自然數集合 , 給定一個 自然數 t\rm tt , 問給定的自然數集合中 , 是否存在子集 , 使它們之和等于給定的自然數 t\rm tt ;
子集和問題 是 NP\rm NPNP 完全的 ;
五、NP 完全問題
計算理論中的 NP\rm NPNP 完全問題 :
SAT\rm SATSAT 布爾可滿足性問題 ;
dHAMPATH\rm dHAMPATHdHAMPATH 哈密頓路徑問題 ;
TSP\rm TSPTSP 旅行商問題 ;
下圖就是已知的 NP\rm NPNP 完全問題 ;
總結
以上是生活随笔為你收集整理的【计算理论】计算复杂性 ( NP 完全问题 | 顶点覆盖问题 | 哈密顿路径问题 | 旅行商问题 | 子集和问题 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【计算理论】计算复杂性 ( 无向图独立集
- 下一篇: 【Android NDK 开发】Kotl