NP完全問題

8.3

STINGY SAT is the following problem: given a set of clauses (each a disjunction of literals) and an integer k, find a satisfying assignment in which at most k variables are true, if such an assignment exists. Prove that STINGY SAT is NP-complete.

吝嗇SAT問題是這樣的一個問題:給定一組字句(每個字句都是其中文字的析取)和整數k,求一個最多有k個變量爲true的滿足賦值——如果該賦值存在。證明吝嗇SAT問題是NP完全問題

證明:我們要證明吝嗇SAT問題是NP完全問題,首先要證明吝嗇SAT問題是NP問題,然後把SAT問題歸約到吝嗇SAT問題。吝嗇SAT問題是SAT問題的一個變種,任何一個解都可以在多項式時間內驗證,因此屬於NP問題。另外,如果我們將k設爲所有變量的總數,歸約過程的時間複雜度爲O(1),是多項式時間複雜度,就可以將SAT問題歸約到吝嗇SAT問題,已知SAT問題是NP完全問題,於是吝嗇SAT問題也是NP完全問題。

8.8

In the EXACT 4 SAT problem, the input is a set of clauses, each of which is a disjunction of exactly four literals, and such that each variable occurs at most once in each clause. The goal is to find a satisfying assignment, if one exists. Prove that EXACT 4 SAT is NP-complete.

在精確的4SAT(EXACT 4SAT)問題中,輸入爲一組字句,每個子句都是恰好4個文字的析取,且每個變量最多在每個子句中出現一次。目標是求它的滿足賦值——如果該賦值存在。證明精確的4SAT問題是NP完全問題。

證明:已知3SAT是NP完全問題,我們只需將3SAT問題歸約到EXACT 4SAT問題,便可以證明它是NP完全問題。

首先EXACT 4SAT的解是可以在多項式時間內驗證的,屬於NP問題。

對於任意一個3SAT實例,如果其中某個子句中包含了同一個文字多次,那麼可以縮減爲一次,如果同時包含了某個變量的肯定以及否定,那麼可以去掉這個變量。然後,在每個子句中添加一些啞變量(即沒有用的輔助變量),這樣就可以將每個子句所包含的文字數目擴充到4個。如此,便將3SAT問題歸約到了EXACT 4SAT問題,於是它是一個NP完全問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章