算法 第八章习题 8.12

习题8.12
题目:
输入:无向图G=(V,E),
输出:G的一个生成树,其中所有点度数不超过k——如果这样的树存在。 
给定K大于等于2。

a:k-生成树问题是一个搜索问题。 
b:k-生成树问题是NP-完全的。(提示:由k=2开始,考虑与Rudrata路径问题的关联)

solution:
a:搜索问题的特征性定义是:任何可能解的正确性都能被快速检验。则用图搜索算法对A进行搜索,就能验证任意给定解A是否是k生成树。若A是生成树,则A中所有顶点、不包含环、且每个点度数不超过k。因此这样来看我们使用图搜索的算法就能在多项式时间内解决,所以k-生成树问题是一个搜索问题。

b:由(a)可知,k-生成树也是一个NP问题。所以要证它是一个NP-完全问题,可以使用归约证明,将Rudrata路径问题归约到k-生成树问题。
当k=2时,若存在k-生成树,则该生成树是图的一条最长链,该连包含图中所有节点。取最长链的两端节点,该链实际为一条Rudrata路径,因此Rudrata路径问题可以规约到K-生成树问题。
而当k>2时,只要找到一棵2-生成树,就已经找到了k-生成树。所以对每个图寻找Rudrata路径问题都可以通过寻找k-生成树的算法来解决。也就是说Rudrata路径问题可以归约为k-生成树问题。
因此,综上可知k-生成树问题是NP-完全的。



你可能感兴趣的:(算法 第八章习题 8.12)