《算法概论》习题解答 8.10
来源:互联网 发布:手机用usb使用电脑网络 编辑:程序博客网 时间:2024/06/05 14:29
8.10 证明以下问题是某些NP完全问题的一般化,以此证明该问题也是NP完全的。
证明思路是将问题中的某些条件特殊化,并证明特例与某些NP完全问题相同。
(a)判断一个无向图G是否为另一个无向图H的子图。
A:令图G是一个环,而且G和H的顶点数相同。那么如果G是H的子图,H中必然存在Rudrata回路。因此求解这个问题相当于求解图H的Rudrata回路,因此问题(a)是NP完全的。
(b)找出一个图G中长度为g的简单路径。
A:令g=结点数-1,那么问题就变成找出图G的Rudrata路径,因此问题(b)是Rudrata路径的一般化,也是NP完全的。
(c)找出一个真赋值,使其满足给定的CNF其中至少g个子句。
A:令g=CNF的子句数,那么问题就变成SAT问题,因此问题(c)是SAT问题的一般化,也是NP完全的。
(d)给定整数值a、b,找出G的一个子图,使其恰好a个结点且至少有b条边。
A:令b=a*(a-1)/2,那么问题就变成找出G中结点数为a的团,因此问题(d)是NP完全的。
(e)给定整数值a、b,找出G的一个子图,使其恰好a个结点且至多有b条边。
A:令b=0,那么问题就变成找出G中结点数为a的独立集,因此问题(e)是NP完全的。
(f)集合覆盖问题。
A:令集合U为图G的所有边组成的集合,令集合S为n个集合的集合,这n个集合分别是以图G每个结点所出发的所有边组成的集合,显然它们都是U的子集。那么对于U和S的集合覆盖问题就相当于找出图G的最小顶点覆盖问题,因此问题(f)是NP完全的。
(g)给定两个矩阵,依次为距离矩阵和连接需求矩阵,以及预算b,找出一个图G,使得其中所有边的总代价不超过b,并且在任意两个不同的结点i和j之间,存在rij条结点互不相交的路径。
A:对于距离矩阵,如果两个结点有边相连,设距离为1,否则为2;对于连接矩阵,设为2;最后设b为结点个数,那么求解这个问题相当于求解图G的TSP问题,因此问题(g)是NP完全的。
- 《算法概论》习题解答 8.10
- 算法概论习题解答8.22
- 【算法概论习题】8.8解答
- 算法设计 《算法概论》第八章 8.10 习题解答
- 算法概论第八章部分习题解答
- 《算法概论》习题8.14解答
- 《算法概论》习题8.10
- 算法概论8.9解答
- 《算法概论》习题8.8
- 《算法概论》习题8.12
- 《算法概论》习题8.19
- 《算法概论》习题8.20
- 《算法概论》习题8.3
- 《算法概论》 习题8.8
- 《算法概论》 习题8.9
- 算法概论习题证明
- 算法概论课后习题
- 《算法概论》习题8.22
- html标签使用注意事项
- CUDA之同步函数详解
- 栈(ADT)
- mysql数据库方言的选择问题
- macOS High Sierra公测版申请及下载安装
- 《算法概论》习题解答 8.10
- 剑指offer--面试题9:用两个栈实现队列
- 剑指offer | 训练题58:按之字形打印二叉树
- 磁珠还可以用来抑制纹波噪声?
- (转)投资很难赚到你不信的那份钱︱投资道
- 第八章课后题_1
- 2017暑假七林集训day16
- Scala练习-顺序查找
- 数据库的一些操作