算法第八章课后练习 8.10
2018-01-06 11:15
239 查看
算法第八章课后练习 8.10
题目
8.10 利用推广的方法证明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) 可靠网络:给定两个n*n矩阵,一个距离矩阵 dij, 一个连接需求矩阵 rij 以及预算b。我们要求一个图G=({1,2,3,……,n}, E)使得:(1)其中所有边的总代价不超过b;(2)在任意两个不同的顶点i和j之间,存在rij条顶点互不相交的路径。(提示:假设所有dij都为1或2,b=n,所有的rij=2. 想一下这会是哪个著名的NP-完全问题?)
解答
a. 令图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. Hint中所描述的特例即是一个TSP。
相关文章推荐
- 《Algorithms》第八章课后习题8.10题解
- 算法设计 《算法概论》第八章 8.10 习题解答
- 做《算法》课后练习前需要做的事
- C++primer第八章课后变成练习的小问题
- 算法导论 6章堆排序的代码实现和部分课后练习
- python学习第八章函数部分课后练习自己尝试的代码
- 算法(第四版)课后练习 1.3.29
- 算法导论第六章6.5有限队列中的6.5-9课后练习
- 第八章继承课后练习答案
- 算法竞赛入门经典-课后练习-3-1-2分数统计
- 《算法(第4版)》课后练习答案及相关问题解决方案
- 【算法概论】第八章课后习题
- 算法(第四版 Robert Sedgewick)课后练习答案 1.1 基础编程模型
- 算法竞赛入门经典:第八章 高效算法设计 8.8二分查找之范围统计
- 【算法学习笔记】10.数据结构基础 二叉树初步练习3(遍历与递归复习)
- 蛙蛙推荐:算法练习:最大间隙问题
- leetcode演练算法-----mit学习算法,,学习和练习相得益彰
- 蓝桥杯练习系统习题-算法训练4
- 课后练习2-8
- java例程练习(List常用算法)