NP完全问题
来源:互联网 发布:视频dvd刻录软件 编辑:程序博客网 时间:2024/05/23 16:38
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完全问题。
- NP、NP-完全、NP-难问题
- NP,NP-heard,P,NP完全问题
- NP完全问题
- 什么是NP完全问题?
- NP完全问题
- NP完全问题
- NP完全问题
- NP完全问题
- NP完全问题
- NP完全问题
- NP完全问题
- 什么是NP完全问题?
- NP完全问题
- 证明NP完全问题
- NP完全问题
- NP-完全问题证明
- NP完全问题
- NP完全问题作业
- 漫谈程序员系列:怎样成为技术达人
- selenium3.0.1 sendkeys报错处理
- 【Python学习系列八】Python实现线性可分SVM(支持向量机)
- mybatis <foreach>标签
- 最长上升子序列
- NP完全问题
- WebappClassLoaderBase.clearReferencesJdbc
- python字符串格式化输出1
- 使用 XPath 解析 HTML 文档
- 查词典(查一个词后面的东西)
- hihoCoder 1105 : 题外话·堆
- flume-NG整合hdfs和kafka
- 简单常用的一个reset.css
- QT QML初体验随笔之QQuickView(11)