算法概论,第八章课后习题8.3

吝啬SAT问题是这样的:给定一组子句(每个子句都是其中文字的析取)和整数k,求一个最多有k个变量为true的满足赋值——如果该赋值存在。证明吝啬SAT问题为NP完全问题。

首先,证明吝啬SAT问题是NP问题:对于吝啬SAT问题的一个可能解,只需要把解中的每个变量的值带入原子句中,化简后判断其是否为true;另外还需要额外的判断这个解中变量为true的个数是否不大于k。根据这两个条件就可以得出结果了,而这两个步骤都可以在多项式时间内完成,所以吝啬SAT问题是NP问题。

接下来,证明吝啬SAT问题是NP完全的。已知SAT问题是NP完全问题,那么如果可以证明SAT问题可以归约为吝啬SAT问题,那么吝啬SAT问题也是NP完全的。

对于一个含有n个变量的SAT问题,构造一个吝啬SAT问题,并令k=n,其中每个子句都相同。这样就从SAT问题转换到了吝啬SAT问题。接下来就是证明这个归约是正确有效的。

如果吝啬SAT问题有解,那么这个解必然也是SAT问题的解,因为两者的子句是一样的。

如果吝啬SAT问题无解,那么SAT问题也必定无解。因为两个子句是一样的,如果SAT问题有解,那么这个解必然也能够成为吝啬SAT问题的解,又因为k=n,所以绝对不会有超过k个变量的值为true,所以如果吝啬SAT问题无解,那么SAT问题也必定无解。

那么,对于两个问题的转化,因为实际上并没有牵扯到具体的变化,所以时间复杂度是O(1)的,满足条件。

所以,SAT问题可以归约为吝啬SAT问题,所以吝啬SAT问题是NP完全的。

吝啬SAT问题是NP完全问题的证明相关推荐

  1. 8.3 证明STINGY SAT是NP完全问题

    题目 STINGY SAT is the following problem: given a set of clauses(each a disjunction of literals) and a ...

  2. 什么是NP问题,什么是NP hard问题,什么是NP完全问题。

    http://www.cs.pitt.edu/~ztliu/wordpress/2011/05/np-problem/ 首先解释一下什么是NP问题,什么是NP hard问题,什么是NP完全问题. 看下 ...

  3. 8.3 吝啬SAT问题

    8.3 吝啬SAT问题是这样的:给定一组子句(每个子句都是其中文字的析取)和整数k,求一个最多有k个变量为true的满足赋值--如果该赋值存在.证明吝啬SAT是NP-完全问题. 解答:   若已知某个 ...

  4. 【计算理论】计算复杂性 ( 3-SAT 是 NP 完全问题 | 团问题是 NP 完全问题 | 团问题是 NP 完全问题证明思路 )

    文章目录 一.3-SAT 是 NP 完全问题 二.团问题是 NP 完全问题 三.团问题是 NP 完全问题 证明思路 一.3-SAT 是 NP 完全问题 布尔可满足性问题 ( Boolean Satis ...

  5. 【计算理论】计算复杂性 ( NP 完全问题 - 布尔可满足性问题 ★ | 布尔可满足性问题是 NP 完全问题证明思路 ) ★

    文章目录 一.NP 完全问题 - 布尔可满足性问题 ★ 二.布尔可满足性问题是 NP 完全问题证明思路 一.NP 完全问题 - 布尔可满足性问题 ★ 布尔可满足性问题 ( Boolean Satisf ...

  6. 【计算理论】计算复杂性 ( 无向图独立集问题 | 独立集问题是 NP 完全问题证明思路 | 证明独立集问题是 NP 完全问题 )

    文章目录 一.独立集问题 二.独立集问题是 NP 完全问题证明思路 二.证明独立集问题是 NP 完全问题 一.独立集问题 无向图的独立集 , 指的是在无向图中找到点集的子集 , 使得它们两两之间 , ...

  7. 【计算理论】计算复杂性 ( 证明团问题是 NP 完全问题 )

    文章目录 一.团问题是 NP 完全问题 证明思路 二.证明团问题是 NP 完全问题 一.团问题是 NP 完全问题 证明思路 证明一个命题是 NP\rm NPNP 完全问题 : ① 证明是 NP\rm ...

  8. 证明:hitting set是NP完全问题

    <算法概论>P266 8.9 首先证明hitting set(我暂且翻译为击中集)是一个NP问题.给定该问题的一个实例,包括一组集合{S1,S2,...,Sn},大小限制b,再给定问题的一 ...

  9. 证明碰撞集(HITTING SET)问题是NP完全问题

    问题描述: 给定一组集合{S1,S2,S3,-,Sn}和预算b,求一个集合H,其中H和所有Si相交且H的规模不超过b.求证该问题是NP完全问题 证明: (1)先证该问题是一个NP问题. 假设给出集合H ...

  10. 算法:NP问题,NP完全问题(NPC),NPhard问题

    在做计算机算法关于NP完全问题这一章的作业的时候,发现有很多概念理解的不是很透彻,然后就反复看老师的讲义,在网上查阅各种资料,花了很多时间来弄懂这块的内容.发现书上的概念太正式,定义太标准,不容易很快 ...

最新文章

  1. 微软热门知识点之------c#3.0新特性【转】
  2. 一句话回复:关于'SqlMembershipProvider' requires a database schema compatible with schema version '1'...
  3. Hadoop之MapReduce程序应用一读取专利引用数据集并对它进行倒排
  4. .NET Core 和 DevOps
  5. 我的docker随笔14:MySQL操作实例
  6. Linux常用命令(二)——超详版
  7. python手机版-手机版python
  8. drds节点异常处理,docker节点进程一直重启
  9. 小学-综合素质【5】
  10. ecshop后台首页mysql_ecshop商城后台使用手册
  11. 【keil5调试】warning:enumerated type mixed with another type
  12. gpio_desc()的分析
  13. oa系统服务器地址怎么查找,oa系统的服务器地址怎么看
  14. 用 CPU 烤出来的肉,会特别香吗?
  15. 年度大促将至,企业如何进行性能压测
  16. 2019 年值得学习的顶级 JavaScript 框架与主题
  17. PC1 ping PC2 步骤
  18. 不用找,你想要的CAD图纸素材都在这里
  19. 图像兴趣点检测与描述 的深度学习方法总结
  20. CentOS7:内网中两台机器不能连接的问题(Destination Host Unreachable),实际为AP隔离问题

热门文章

  1. 计量经济学(十)---模型选择:标准与检验
  2. batchplot插件用法_最好用的CAD批量打印机SmartBatchPlot使用指南
  3. win10下硬盘安装linux mint
  4. 下载并还原AdventureWorksDW2012数据库
  5. 基于Markdown语法的个人简历
  6. SPLUS XML操作
  7. iperf工具源码下载、编译、以及测试网络带宽
  8. windows批处理for循环用法
  9. 三边测量定位算法C语言实现
  10. html右下角的广告特效,用jQuery实现网页右下角弹出广告效果