k生成树问题

k-生成树(k-SPANDING TREE)问题是这样的:
输入:无向图G=(V,E)。
输出:G的生成树,其中所有节点度数不超过k。

如果该树存在,请证明对任意k>=2:

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

搜索问题要求:已知起始状态和目标状态;可以判断是否达到目标状态;状态空间离散;每个状态可以采取的合法行动和相应后继状态是确定的;环境静态;路径耗散函数已知。
起始状态:空树。过程:判断G中每个节点是否点度小于等于k,若满足则加入生成树。目标状态:添加完所有节点。G不变化,判断要求已知,生成树时间复杂度为O(V)。

(b)k-生成树问题是NP-完全的。

已证k-生成树问题为NP问题,该问题可以由NP完全问题Rudrata环路搜索问题归约得:
k=2时,k-生成树存在,则该生成树显然是图的一条最长链,只比Rudrata环路少一条边,实际为一条Rudrata路径。
k>2时,k-生成树由2-生成树组成。
所以k-生成树问题是NP-完全的。

你可能感兴趣的:(题目心得)