NP完全问题
来源:互联网 发布:前后端分离 知乎 编辑:程序博客网 时间:2024/06/14 10:40
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完全问题。
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完全问题。
- NP、NP-完全、NP-难问题
- NP,NP-heard,P,NP完全问题
- NP完全问题
- 什么是NP完全问题?
- NP完全问题
- NP完全问题
- NP完全问题
- NP完全问题
- NP完全问题
- NP完全问题
- NP完全问题
- 什么是NP完全问题?
- NP完全问题
- 证明NP完全问题
- NP完全问题
- NP-完全问题证明
- NP完全问题
- NP完全问题作业
- 【论文笔记】Object Contour Detection with a Fully Convolutional Encoder-Decoder Network
- 生成SSH key步骤标记
- 快速破解IntelliJ IDEA
- BP算法详解
- 微信小程序之购物车功能
- NP完全问题
- jquery源码解析
- Linux系统中对SSD硬盘优化的方法
- Java学习笔记-《Java程序员面试宝典》-第5章Java Web-5.2J2EE与EJB(5.2.11-5.2.16)
- DFS:HDU1518-Square(剪枝较多的DFS)
- python_浅copy用法
- 开课一周
- tcp连接失败触发的异常
- 在Eclipse软件中用git从服务器导出项目