【计算理论】计算复杂性 ( 多项式时间规约 | NP 完全 ★ | 布尔可满足性问题 ) ★
文章目錄
- 一、多項式時間規約 分析
- 二、NP 完全 ★ ( 計算理論最重要的概念 )
一、多項式時間規約 分析
多項式時間規約概念 : 【計算理論】計算復雜性 ( 多項式等價引入 | 多項式時間規約 )
下圖中 , 給定 輸入 x\rm xx , 想要知道 x\rm xx 字符串 , 是否可以被 L\rm LL 語言對應的算法接受 ;
做一個規約 , 將上述問題 , 轉化為 f(x)\rm f(x)f(x) 是否能被 L′\rm L'L′ 語言對應的算法接受 ;
首先將 x\rm xx 字符串 , 輸入到函數 f\rm ff 中計算 , 得到輸出 f(x)\rm f(x)f(x) ,
然后將 f(x)\rm f(x)f(x) 輸入到 L′\rm L'L′ 算法中 , 查看該輸入是否能被接受 ,
如果 L′\rm L'L′ 接受 f(x)\rm f(x)f(x) , 那么就說 x\rm xx 是被 L\rm LL 所接受的 ;
二、NP 完全 ★ ( 計算理論最重要的概念 )
NP 完全 定義 ★ :
如果 語言 B\rm BB 是 NP\rm NPNP 完全的 , 必須滿足如下兩個條件 :
① 是 NP\rm NPNP 問題 : 語言 B\rm BB 對應的計算問題必須在 NP\rm NPNP 中 , 換句話說就是可以找到一個多項式算法 , 可以驗證該計算問題 ;
② 是 NP\rm NPNP 最難問題 : 在 NP\rm NPNP 中的任何計算問題 A\rm AA , 都可以在 多項式時間規約 到 B\rm BB , 也就是說在 NP\rm NPNP 中的任何計算問題 , 其難易程度都不會超過 B\rm BB , B\rm BB 是 NP\rm NPNP 中最難的問題 ;
NP\rm NPNP 中其它所有的計算問題的難以長度都不會超過 B\rm BB , B\rm BB 問題是 NP\rm NPNP 中最難的問題 ;
NP 完全命題 ★ : 如果 B\rm BB 問題是 NP\rm NPNP 完全的 , 并且 B\rm BB 能在 多項式時間規約 到 C\rm CC , 記作 B≤C\rm B \leq CB≤C , 則 C\rm CC 也是 NP\rm NPNP 完全的 ;
該命題是很重要的命題 , 驗證一個命題是 NP\rm NPNP 完全的 , 需要滿足上面的兩個條件 , ① 是 NP\rm NPNP 問題 , ② 是 NP\rm NPNP 最難問題 ;
將計算問題與 NP\rm NPNP 中最難問題 B\rm BB 進行比較 , 是很難的 , 如果已經知道某個計算問題是 NP\rm NPNP 完全的 , 就不需要與 NP\rm NPNP 中所有問題進行比較 , 只與當前已知的 NP\rm NPNP 完全問題比較即可 ;
將 已知的 NP\rm NPNP 完全的 計算問題 B\rm BB , 與 要驗證的 C\rm CC 問題 , 進行規約 , 就知道 C\rm CC 問題是否是 NP\rm NPNP 完全的 ;
歷史已經找到了一個 NP\rm NPNP 完全問題 : 布爾可滿足性問題 ( Boolean Satisfiability Problem;SAT ) ;
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的【计算理论】计算复杂性 ( 多项式时间规约 | NP 完全 ★ | 布尔可满足性问题 ) ★的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【计算理论】计算复杂性 ( 多项式等价引
- 下一篇: 【计算理论】计算复杂性 ( 3-SAT