日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【计算理论】计算复杂性 ( 无向图独立集问题 | 独立集问题是 NP 完全问题证明思路 | 证明独立集问题是 NP 完全问题 )

發布時間:2025/6/17 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【计算理论】计算复杂性 ( 无向图独立集问题 | 独立集问题是 NP 完全问题证明思路 | 证明独立集问题是 NP 完全问题 ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、獨立集問題
  • 二、獨立集問題是 NP 完全問題證明思路
  • 二、證明獨立集問題是 NP 完全問題





一、獨立集問題



無向圖的獨立集 , 指的是在無向圖中找到點集的子集 , 使得它們兩兩之間 , 沒有邊相連 ;

下圖中的無向圖中 , 黃色的點集是獨立集 ;


獨立集問題也是一個 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 問題 的 布爾邏輯公式 ,

?=(x∨y∨?z)∧(?x∨?y∨z)∧(?x∨y∨?z)\rm \phi = ( x \lor y \lor \lnot z) \land ( \lnot x \lor \lnot y \lor z ) \land ( \lnot x \lor y \lor \lnot z)?=(xy?z)(?x?yz)(?xy?z)

構造一個 無向圖 ,

使得 布爾邏輯公式 是可滿足的 , 當且僅當 , 無向圖中有一個 k\rm kk 獨立集 ;

k\rm kk 獨立集就是無向圖中 k\rm kk 個節點子集 , 每兩個節點之間都沒有邊相連 ;


證明過程 :給定的 3-SAT 布爾邏輯公式 ?=(x∨y∨?z)∧(?x∨?y∨z)∧(?x∨y∨?z)\rm \phi = ( x \lor y \lor \lnot z) \land ( \lnot x \lor \lnot y \lor z ) \land ( \lnot x \lor y \lor \lnot z)?=(xy?z)(?x?yz)(?xy?z) 中 , 構造出一個無向圖 出來 , 使得該無向圖可以滿足 " 布爾邏輯公式 是可滿足的 , 當且僅當 , 無向圖中有一個 k\rm kk 獨立集 "





二、證明獨立集問題是 NP 完全問題



任意給出一個 333 合取范式 ,

?=(x∨y∨?z)∧(?x∨?y∨z)∧(?x∨y∨?z)\rm \phi = ( x \lor y \lor \lnot z) \land ( \lnot x \lor \lnot y \lor z ) \land ( \lnot x \lor y \lor \lnot z)?=(xy?z)(?x?yz)(?xy?z)


將上述公式轉為無向圖 : 合取范式每個子項 , 轉換為三元組 , 如下圖所示 ;



無向圖構造原則 : 互為否定的點集 , 連接在一起 ,

沒有邊相連 : 下圖中 x,?y,?z\rm x , \lnot y , \lnot zx,?y,?z 互相不為否定 , 三個點之間沒有邊相連 ;

沒有邊相連 : 下圖中 y,?x,?x\rm y , \lnot x , \lnot xy,?x,?x 互相不為否定 , 三個點之間沒有邊相連 ;

有邊相連 : 下圖中 ?z,z,?z\rm \lnot z , z , \lnot z?z,z,?z 有兩個互相為否定 , 三個點之間有 222 條邊相連 ;

有邊相連 : 下圖中 x,?x,?x\rm x , \lnot x , \lnot xx,?x,?x 有兩個互相為否定 , 三個點之間有 222 條邊相連 ,


構造好的無向圖 :


如果 ?=(x∨y∨?z)∧(?x∨?y∨z)∧(?x∨y∨?z)\rm \phi = ( x \lor y \lor \lnot z) \land ( \lnot x \lor \lnot y \lor z ) \land ( \lnot x \lor y \lor \lnot z)?=(xy?z)(?x?yz)(?xy?z) 布爾邏輯公式可滿足 ,

當且僅當 ,

上述最終形成的無向圖中 , 一定存在著一個 333 個節點組成的獨立集 ;



布爾邏輯公式中 , 給定一組真值 ,

x=true,y=true,z=true\rm x=true , y=true , z=truex=true,y=true,z=true

那么 x,y,z,?x,?y,?z\rm x , y, z , \lnot x , \lnot y , \lnot zx,y,z,?x,?y,?z 中取值為真的就是獨立子集 ,

因此 x,y,z\rm x , y, zx,y,z 是獨立子集 ;



布爾邏輯公式中 , 給定一組真值 ,

x=false,y=隨意,z=false\rm x=false , y=隨意 , z=falsex=false,y=,z=false

那么 x,y,z,?x,?y,?z\rm x , y, z , \lnot x , \lnot y , \lnot zx,y,z,?x,?y,?z 中取值為真的就是獨立子集 ,

因此 一個 ?x\rm \lnot x?x 兩個?z\rm \lnot z?z 組成的點集 是獨立子集 ;

總結

以上是生活随笔為你收集整理的【计算理论】计算复杂性 ( 无向图独立集问题 | 独立集问题是 NP 完全问题证明思路 | 证明独立集问题是 NP 完全问题 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。