證明吝嗇SAT問題為NP完全問題。

2021-07-25 11:26:38 字數 510 閱讀 4646

吝嗇sat問題是這樣描述的:給定一組子句(每個子句都是其中文字的析取)和整數k,求乙個最多有k個變數為true的滿足賦值——如果該賦值存在。而我們的目的就是證明吝嗇sat問題為np完全問題。

這是書《演算法概論》的習題8.3。我證明的方法是用歸約的方法:由已知的np完全問題歸約到該問題,並證明歸約的過程的時間複雜度為多項式時間複雜度即可。

我選取的已知的np完全問題為sat問題,因為這兩個問題十分相似,差別在於sat並沒有「最多k個變數」這樣的限制。

歸約的過程十分簡單,假設sat問題有n個變數,則該sat問題等價於k = n的吝嗇sat問題。這樣的歸約過程的時間複雜度為o(1),是多項式時間複雜度。

如果說吝嗇sat問題有多項式時間演算法,那麼sat問題也有多項式時間演算法。然而sat問題本身就是np完全問題,所以吝嗇sat也是np完全問題。

這樣就證明了吝嗇sat問題為np完全問題。

8 3 證明吝嗇SAT問題是NP 完全問題

吝嗇sat問題是這樣的 給定一組子句 每個子句都是其中文字的析取 和整數k,求乙個最多有k個變數為true的滿足賦值 如果該賦值存在。證明吝嗇問題是np 完全問題。這道題,我的思路是 首先證明吝嗇sat問題是是np問題,然後用歸約的方法 由已知的np完全問題 sat問題 歸約到該問題,並證明歸約的過...

課本8 3證明 吝嗇SAT問題是NP完全問題

8.3 證明吝嗇sat問題是np 完全問題。首先已知sat問題是np 完全問題,因此只要找到乙個由sat問題到吝嗇sat問題的規約就可以證明吝嗇sat問題也是完全 np問題。對於任何乙個給定包含n個變數的sat的例項i n 對於i中的任何子句 採用子句集 代替,其有效性證明與sat問題到3sat問題...

精確4SAT問題np完全性證明

1.題目描述 在精確的4sat問題中,輸入為一組子句,每個子句都是恰好4個文字的析取,且每個變數最多在每個子句中出現一次.目標是求它的滿足賦值 如果該賦值存在.證明精確的4sat問題是no 完全問題.2證明過程 通過將 3sat 歸約到 exact 4sat 來證 明後者的 np 完全性。對於任意乙...