8.12 k-生成树(k-SPANNING TREE)证明 等题

8.12原题

输入:无向图G=(V, E)
输出:G的一个生成树,其中所有的节点度数都不超过k——如果该树存在。
请证明对任意k>=2:
(a)k-生成树问题是一个搜索问题。
(b)k-生成树问题是NP-完全的。(提示:由k=2开始,考虑该问题与Rudrata路径问题的关联。)

解答

(a) k-生成树问题能够在多项式时间内验证,因此是一个搜索问题。
(b) 假设k=2时,如果要找到一个生成树的节点度都小于等于2,相当于是一条哈密顿路径。因此可以把哈密顿路径问题规约到本问题上。求一个无向图的哈密顿通路是NP完全问题,因此本题也是NP完全问题。


8.15原题

证明如下问题是NP-完全的:
输入:两个图G1 = (V1, E1)和G2 = (V2, E2);预算b。
输出:两个节点集合 V1V1 V2V2 ,它们被移除后,将在两个图中分别留下至少b个节点,且图的剩余部分完全一样。

解答

首先证明它是NP问题:给定一个解时,可以在多项式时间内验证该解,得证。
接下来证明它时NP完全问题:
考虑将最大独立集问题归约到最大公共子图问题,求任意图G=(V, E)的节点数为b的独立集。则令G1=(V, E),G2=(V, E+?)。则规约到本问题,得证。

你可能感兴趣的:(C++)