演算法概論 第八章第八題

Caesar發表於2019-05-13

演算法概論 第八章第八題 題解


題目描述

In the EXACT 4SAT 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 4SAT is NP-complete.

題解

由於EXACT 4SAT 屬於 NP,只要再證明4SAT的 NP 完全性即可。做法是將 3SAT 歸約到 EXACT 4SAT。

  1. 對於任意一個 3SAT 例項,如果其中某個子句中包含了同一個文字多次,那麼可以縮減為一次,如果同時包含了某個變數的肯定及否定,那麼可以將這個變數去掉。
  2. 在每個子句中可以新增一些輔助變數,將每個子句所包含的文字數目擴充到四個。

歸約完成。證畢。

總結

主要應用了歸約的思想。

相關文章