您的位置:首页 > 其它

The k-spanning tree problem is the following

2018-01-01 00:23 435 查看

8.12 The k-spanning tree problem is the following.

Description

Input: An undirected graph G = (V,E)

Output: A spanning tree of G in which each node has degree ≤ k, if such a tree exists.

Show that for any k ≥ 2:

(a) k-spanning tree is search problem.

(b) k-spanning tree is NP-complete.(HINT:Start with k=2 and consider the relation between this problem and RUDRATA PATH.)

题意

(k-生成树问题是这样的:

输入:无向图G = (V,E)

输出:G的一个生成树,其中所有的节点度数不超过k—–如果该树存在的话。

请证明对任意的k,k≥2:

(a) k-生成树问题是一个搜索问题

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

解法

(a)

k-生成树是指给定一个无向图,找到一个生成树,其中每个节点的度数不超过k。验证任意给定的正解S是否是k生成树的过程,只需要用图搜索算法对S进行搜索,假设通过搜索可以知道S中所有顶点,不包含环,且每个点的度数不超过K,那么S就是K的生成树。同时我们知道图的搜索算法可以在多项式时间内解决,因此k-生成树问题是一个搜索问题,同时也证明它是一个NP问题。

(b)

由(a)我们可以知道K-生成树一个完全问题,而证明是NP-完全问题只需要找到一个NP-完全问题规约到K-生成树问题。我们可以将RUDRATA路径问题规约到K-生成树问题。若K=2,此时的2-SPANNING TREE实际上就是一条RUDRATA路径。当K>2的时候,只要找到一课2-SPNNING TREE就可以找到k-SPANNING TREE.因此对于每个图通过搜索RUDRATA路径问题就可以通过寻找K-SPANNING TREE来解决。也就是说RUARATA路径问题可以规约为k-SPANNING TREE问题。综上k-生成树问题是NP-完全问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐