算法设计期末作业02-8.8

来源:互联网 发布:茵芙莎淘宝店铺 编辑:程序博客网 时间:2024/06/03 21:44

题目:

In theEXACT4SATproblem, 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 EXACT4SATis NP-complete.

解答过程:

首先,因为3SAT是NP-complete问题,下面只需要把3SAT问题在多项式时间内规约到4SAT问题上,即可证明4SAT问题是NP-complete问题。因为(a1∪a2∪a3)==(a1∪a2∪a3∪a4)∩(a1∪a2∪a3∪~a4),当a1∪a2∪a3为真时,(a1∪a2∪a3∪a4)∩(a1∪a2∪a3∪~a4)必为真,且a4和~a4必有一个是假的。假的语句对应的前面的a1∪a2∪a3必为真。同理,对于(a1∪a2),可以转为(a1∪a2∪a3∪a4)∩(a1∪a2∪a3∪~a4)∩(a1∪a2∪~a3∪a4)∩(a1∪a2∪~a3∪~a4)。当a1∪a2为真时,后面部分a3和a4不管怎么搭配,必为3个true,1个false,对于false的那个,其前面a1∪a2必为true。对于a1同理。
故综上所述,EXACT4SATis NP-complete

原创粉丝点击