8.10利用推广的方法证明NP-完全性。对以下每个问题,通过证明它是本章某个NP-完全问题的推广说明它是NP-完全的。
(a)子图同构:给定两个作为输入的无向图G和H,判断G是否为H的一个子图(即删了H中的某些顶点和边后,得到的新的图最多只要再修改某些顶点的名字,便可与G相同),且如果是,返回由V(G)和V(H)的相关映射。
(b)最长路径:给定图G和整数g,求G中一条长为g的简单路径。
(c)最大SAT:给定一个CNF公式和整数g,求满足其中至少g个子句的真赋值。
(d)稠密子图:给定一个图和两个整数a和b,求G中的a个顶点,使得它们之间最少有b条边。
(e)稀疏子图:给定一个图和两个整数a和b,求G中的a个顶点,使得他们之间最多有b条边。
(f)集合覆盖。(该问题衍变出了两个著名的NP-完全问题)
(g)可靠网络:给定两个nxn矩阵,一个距离矩阵dij,一个连接需求矩阵rij以及预算b。我们要求一个图G=({1,2……,n},E)使得:(1)其中所有边的总代价不超过b;(2)在任意两个不同顶点i和j之间,存在rij条顶点互不相交的路径。(Hint:假设所有的dij都为1或2,b=n,所有的rij=2.)


答案:
(a)Rudrata回路事实上是子图同构的问题。我们先令图G为一个环,环上的顶点数等于图H的顶点数。如果G是H的同构的子图,则说明H存在Rudrata回路。所以Rudrata回路事实上是子图同构的问题。
(b)只要设g=|V|-1,就可得到一条Rudrata路径。
(c)设g=子句的总数目,便是SAT。
(d)若为最大团问题,我们可以设b=a*(a-1)/2,此时,这a个顶点两两相连。
(e)设b=0,便可得到最大独立集问题。
(f)可以看作是最小顶点覆盖的一个推广
(g)假设所有的dij都为1或2,b=n,所有的rij=2。此特例即为一个TSP。


8.22


答案:
(a) 可以从通过顶点覆盖的减少证明是NP完全。给出了一个顶点覆盖实例(G,b),其中G是一个无向图,我们想要一个小于等于b顶点覆盖,我们构建了一个实例(G,b)
FAS如下:
如果G =(V,E)有n个顶点v1,…,vn,然后使G0 =(v0,E0)是一个有向图,包含2n个顶点W1,W’ 1,…,WN,W’ N,和N + 2 | E |(有向)边,(WI,i)所有i = 1,2,…,n(w’i,wj)和(w’j,wj)每(vi,vj)∈E。由于FAS是可以在多项式时间内验证的,所以该问题属于NP问题。
(b)设G中一个大小为b的顶点覆盖为C,对于任意定点vi属于C,设其在G’中相对应的顶点为wi和w’i,那么将边(wi,w’i)添加进E’中,将C中的每个顶点进行处理,得到了相应的E’,而E’就是要求解的FAC问题的结果,它的大小为b,这是因为对于顶点wi和wi’,当去掉(wi,wi’)之后所有与wi相邻的边都不可能位于任何一个环中,这是因为wi,不存在出的边,同理可得与wi’相邻的边都不可能位于任何一个环中,这是因为wi’,不存在入的边。
(c)对于G中的任意一条边(vi,vj),设边中顶点在G中对应着wi,wi’,wj,wj’,相对应的就是边(wi,wi’),(wj,wj’),(wi’,wj)以及(wj’,wi),如果E’是G’的一个大小为t的FAS,那么这四条变中至少有一个是属于E’的否则就会形成环,那么边e一定有一个端点是属于{wi,wj},如果wi是e的端点,那么将vi,加入到C中,否则将vj加入到C中,那么C就是G的与一个 大小最大为t的顶点覆盖。

本次作业我选了两道题。通过复习课本和查阅相关资料,完成了以上两题的解答,由于我用的是英文版本的教材,所以将其翻译成中文时,借助了一些资料和自己的理解,其问题或答案可能有不正确的地方,如发现,还望指正。

《算法概论》第八章NP完全问题部分习题解相关推荐

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

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

  2. np完全问题的例子_MIT开发光子算法,试图解决世界7大数学难题的“NP完全问题”...

    2000年5月,美国克雷数学研究所(Clay Mathematics Institute,CMI)提出7个数学难题,称为"千禧年大奖难题",挑战者每解出1道题目,若通过两年验证期和 ...

  3. 【算法】NP完全问题以及世界数学七大难题

    NP完全问题(NP-C问题),是世界七大数学难题之一. 1.NP完全问题 P (确定性多项式算法)对NP (非确定性多项式算法) 人们发现,所有的完全多项式非确定性问题,都可以转换为一类叫做满足性问题 ...

  4. 算法中的P问题、NP问题、NP难问题和NP完全问题

    P问题:该问题存在一个可以在多项式时间内解决该问题的算法.(P:polynominal,多项式) 为什么我们要研究这个?因为计算机处理的输入常常不是那么几十个几千个那么一点点,想象一下,当计算机处理的 ...

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

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

  6. 《算法图解》学习笔记(八):贪婪算法和NP完全问题(附代码)

    欢迎关注WX公众号:[程序员管小亮] python学习之路 - 从入门到精通到大师 文章目录 欢迎关注WX公众号:[程序员管小亮] [python学习之路 - 从入门到精通到大师](https://b ...

  7. 算法4类问题:P问题、NP问题、NP完全问题、NP难问题

    在讲P类问题之前先介绍两个个概念:多项式,时间复杂度. 1.多项式:axn-bxn-1+c 称为x最高次为n的多项式 2.时间复杂度 时间复杂度表示所需的计算工作量,当输入值接近无穷时,算法所需工作量 ...

  8. 算法中的P问题、NP问题、NP完全问题和NP难问题梳理

    结论(可以简单这么初步认识):NPH>NPC>NP>或=P 在讲P类问题之前先介绍两个个概念:多项式,时间复杂度.(知道这两概念的可以自动跳过这部分) 1.多项式: axn−bxn− ...

  9. [总结]算法中的P问题、NP问题、NP完全问题和NP难问题

    在讨论算法的时候,常常会说到这个问题的求解是个P类问题,或者是NP难问题等等,于是我特地搜了这方面的资料,自己总结了下,估计研究算法的大家应该都知道,要是我总结的哪里不对,欢迎一起探讨~ 在讲P类问题 ...

  10. 算法中的P问题、NP问题、NP完全问题和NP难问题

    在讨论算法的时候,常常会说到这个问题的求解是个P类问题,或者是NP难问题等等,于是我特地搜了这方面的资料,自己总结了下,估计研究算法的大家应该都知道,要是我总结的哪里不对,欢迎一起探讨~ 在讲P类问题 ...

最新文章

  1. IF10+的数据库文章!这里有5个案例,一起发起来?
  2. 【工业智能】人工智能真的无所不能吗?
  3. 如何创建并运行java线程
  4. linux日志队列长度,Linux 消息队列长度处理
  5. 机器学习的前期入门汇总
  6. 关于六年级定格动画计算机教案,定格动画教案
  7. 看动画学算法系列之:后缀树suffix tree
  8. jsp+mysql学生成绩管理系统_jsp+servlet+mysql学生成绩管理系统 javaweb成绩管理系统 - 下载 - 搜珍网...
  9. dedecms调用某一顶级栏目下二级标签
  10. 区块链入门与去中心化应用实战 之一 第2章 区块链技术的核心概念和原理
  11. 荣耀Magic4性能体验超苹果再次实锤!非官方游戏性能对比出炉
  12. tcp报文解析工具_15 张图,了解一下 TCP/IP 必知也必会的 10个要点
  13. 计蒜客 - T1012 A*B问题
  14. npm安装模块版本符_Java SE 9:模块和模块描述符基础知识(第2部分)
  15. spring事务失效二:业务代码捕获异常
  16. Android 计算网络速度文件下载剩余时间<<最优方案>>
  17. 智慧党建管理系统开发,组织部干部人事管理任免平台建设
  18. 关于使用GHOST进行磁盘对拷整盘镜像以及镜像恢复的一些注意事项
  19. antdesign 柱状图_010-ant design pro advanced 图表
  20. 1503 Problem A 最简分式

热门文章

  1. Android office教程,Excel办公软件Office教程app
  2. Mysql压缩包版的安装教程
  3. Mellanox IB卡介绍
  4. 颜色模型与颜色应用---标准基色和色度图
  5. 计算机里面为什么只剩c盘,电脑只剩下C盘了,怎么处理
  6. airtest基本介绍
  7. 无盘服务器易乐游,网维大师、易乐游无盘万兆性能评测
  8. linux系统ca证书认证失败修复过程记录
  9. windows下ghostscript (gs)安装,环境变量设置,是否安装成功
  10. SIM900A 通过RS232串口进行短信的发送。