演算法概論課後習題8 8

2021-08-03 17:06:14 字數 493 閱讀 6624

設3sat的例項i=(a1v a2v a3)(a4 v a5 v a6)...(.anv an+1v an+2)

根據4sat問題的條件,每個變數最多在每個子句中出現一次。如果某個變數在子句中出現多次,則縮減為1次。

如果某個子句中同時包含互反的兩個變數,則將這兩個變數同時去除。

接下來在各子句中新增1個變數,轉化為4sat。如(a1v a2v a3)轉化為4sat的例項(a1v a2v a3vb)∧(a1v a2v a3v?b)

如果某組數值滿足(a1v a2v a3),則它也同時滿足(a1v a2v a3vb)∧(a1v a2v a3v?b)。所以如果3sat例項是可滿足的,4sat例項也是可滿足的。

另外,如果(a1v a2v a3vb)∧(a1v a2v a3v?b)是可滿足的,由於b和?b是一真一假,所以可推出(a1v a2v a3)為真,3sat的例項是可滿足的。

結合上述兩條可推出3sat可歸約為4sat。

綜上所述,4sat問題是np-完全問題。

演算法概論習題 8 8解答

在精確的4sat exact 4sat 問題中,輸入為一組子句,每個字句都是恰好4個文字的析取,且每個變數最多在每個子句中出現一次。目標是求它的滿足賦值 如果該賦值存在。證明精確的4sat是np 完全問題。在證明精確的4sat問題是np 完全問題前,先得證明其屬於np問題。因為exact 4sat和...

《演算法概論》8 8

題目 在精確的4sat exact 4sat 問題中,輸入為一組自居,每個字句都是恰好4個文字的析取,且每個變數最多在每個字句中出現一次。目標是求它的滿足賦值 如果該賦值存在。證明精確的4sat是np完全問題。證明 用歸約來證明 如果問題a可以歸約到問題b,記作a b,如果a是np完全問題,則通過歸...

演算法概論 8 8

在精確的4sat exact 4sat 問題中,輸入為一組子句,每個子句都是恰好4個文字的析取,且每個變數最多在每個子句中出現一次。目標是求它的滿足賦值 如果該賦值存在。證明精確的4sat是np 完全問題。考慮通過將3sat問題歸約到4sat exact 4sat 問題來驗證4sat exact 4...