【计算理论】计算复杂性 ( 3-SAT 是 NP 完全问题 | 团问题是 NP 完全问题 | 团问题是 NP 完全问题证明思路 )
文章目錄
- 一、3-SAT 是 NP 完全問題
- 二、團問題是 NP 完全問題
- 三、團問題是 NP 完全問題 證明思路
一、3-SAT 是 NP 完全問題
布爾可滿足性問題 ( Boolean Satisfiability Problem , SAT ) , 是 NP\rm NPNP 完全的 ;
3-SAT 問題 也是 NP\rm NPNP 完全問題 ;
3-SAT 問題 的邏輯公式 , 是由一些合取范式 , 這些合取范式中 , 每個子項中 , 所包含的 原子邏輯命題 或其否定命題 的 個數一定為 3\rm 33 ;
合取范式概念參考 【數理邏輯】范式 ( 合取范式 | 析取范式 | 大項 | 小項 | 極大項 | 極小項 | 主合取范式 | 主析取范式 | 等值演算方法求主析/合取范式 | 真值表法求主析/合取范式 ) ;
如下邏輯公式就是 3-SAT 問題邏輯公式 : 舉例說明 :
(a1∨a2∨z1)∧(z1 ̄∨a3∨z2)∧(z2 ̄∨a4∨z3)∧?∧(zl?3 ̄∨al?1∨al)\rm ( a_1 \lor a_2 \lor z_1 ) \land ( \overline{z_1} \lor a_3 \lor z_2 ) \land ( \overline{z_2} \lor a_4 \lor z_3 ) \land \cdots \land ( \overline{z_{l-3}} \lor a_{l-1} \lor a_l )(a1?∨a2?∨z1?)∧(z1??∨a3?∨z2?)∧(z2??∨a4?∨z3?)∧?∧(zl?3??∨al?1?∨al?)
SAT 與 3-SAT 問題是相互等價的 , 如果一般的命題邏輯公式 (a1∨a2∨?∨al)\rm ( a_1 \lor a_2 \lor \cdots \lor a_l )(a1?∨a2?∨?∨al?) 是可以滿足的 , 當且僅當 (a1∨a2∨z1)∧(z1 ̄∨a3∨z2)∧(z2 ̄∨a4∨z3)∧?∧(zl?3 ̄∨al?1∨al)\rm ( a_1 \lor a_2 \lor z_1 ) \land ( \overline{z_1} \lor a_3 \lor z_2 ) \land ( \overline{z_2} \lor a_4 \lor z_3 ) \land \cdots \land ( \overline{z_{l-3}} \lor a_{l-1} \lor a_l )(a1?∨a2?∨z1?)∧(z1??∨a3?∨z2?)∧(z2??∨a4?∨z3?)∧?∧(zl?3??∨al?1?∨al?) 邏輯公式也是可以滿足的 ;
二、團問題是 NP 完全問題
團問題是 NP 完全問題
團 是一個無向圖 點集 的 子集 , 使得 該點集子集 中 任何兩個節點之間都有邊相連 ;
團問題 就是 判定無向圖中 , 是否包含有 k\rm kk 個節點的 團 ;
上述團問題 , 是 NP\rm NPNP 問題 ;
給定一個無向圖 , 其中有一個 n\rm nn 個節點組成的集合 , 驗證該 n\rm nn 集合是否是團 ;
驗證的方法就是看這 n\rm nn 元集中的節點之間兩兩之間是否有邊相連即可 ;
驗證所花的時間是多項式時間 , 該計算問題在 NP\rm NPNP 中 ;
三、團問題是 NP 完全問題 證明思路
證明一個命題是 NP\rm NPNP 完全問題 :
① 證明是 NP\rm NPNP 問題 : 首先證明該問題是 NP\rm NPNP 問題 ;
② 證明是最難的 NP\rm NPNP 問題 : 然后證明所有的 NP\rm NPNP 問題 , 可以在多項式時間內規約到 該命題中 ; 也可以使用一個已經證明的 NP\rm NPNP 完全問題 , 在多項式時間內規約到 需要被證明的命題 ;
證明 團問題 是 NP\rm NPNP 完全的 , 從已知的 NP\rm NPNP 完全問題出發 , 已知的 NP\rm NPNP 完全問題就是 3-SAT 問題 ,
如果 3-SAT 問題是 NP\rm NPNP 完全的話 ,
只要證明 3-SAT 問題 可以在 多項式時間內規約 到 團問題 中 , 3-SAT ≤\leq≤ 團問題 ,
就可以證明 團問題 是 NP\rm NPNP 完全問題 ;
將 3-SAT 問題 可以在 多項式時間內規約 到 團問題 中 ,
給定一個 3-SAT 問題 的 布爾邏輯公式 ,
?=(x1∨x1∨x2)∧(x1 ̄∨x2 ̄∨x2 ̄)∧(x1 ̄∨x2∨x2)\rm \phi = ( x_1 \lor x_1 \lor x_2 ) \land ( \overline{x_1} \lor \overline{x_2} \lor \overline{x_2} ) \land ( \overline{x_1} \lor x_2 \lor x_2 )?=(x1?∨x1?∨x2?)∧(x1??∨x2??∨x2??)∧(x1??∨x2?∨x2?)
構造一個 無向圖 ,
使得 布爾邏輯公式 是可滿足的 , 當且僅當 , 無向圖中有一個 k\rm kk 團 ;
k\rm kk 團就是無向圖中 k\rm kk 個節點子集 , 每兩個節點之間都有邊相連 ;
證明過程 : 從 給定的 3-SAT 布爾邏輯公式 ?=(x1∨x1∨x2)∧(x1 ̄∨x2 ̄∨x2 ̄)∧(x1 ̄∨x2∨x2)\rm \phi = ( x_1 \lor x_1 \lor x_2 ) \land ( \overline{x_1} \lor \overline{x_2} \lor \overline{x_2} ) \land ( \overline{x_1} \lor x_2 \lor x_2 )?=(x1?∨x1?∨x2?)∧(x1??∨x2??∨x2??)∧(x1??∨x2?∨x2?) 中 , 構造出一個無向圖 出來 , 使得該無向圖可以滿足 " 布爾邏輯公式 是可滿足的 , 當且僅當 , 無向圖中有一個 k\rm kk 團 "
總結
以上是生活随笔為你收集整理的【计算理论】计算复杂性 ( 3-SAT 是 NP 完全问题 | 团问题是 NP 完全问题 | 团问题是 NP 完全问题证明思路 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【计算理论】计算复杂性 ( 多项式时间规
- 下一篇: 【计算理论】计算复杂性 ( 证明团问题是