关于NP完全问题的证明例题

关于NP完全问题的证明例题


NP完全的定义:https://en.wikipedia.org/wiki/NP-completeness

与之相关的还有P问题,NP问题,NP难…


例题

此例题摘自算法概论:

The k-SPANNING TREE problem is the following.
Input: An undirected graph G = (V,E)
Output: Aspanningtreeof G in which each node has degree≤ k, if such a tree exists.
Show that fo rany k ≥2:
(a) k-SPANNING TREE is a search problem.
(b) k-SPANNING TREE is NP-complete. (Hint: Start with k = 2 and consider the relation between this problem and RUDRATA PATH.)


解答

  • 验证任意解x是否为k-生成树,即确定G中的所有顶点是否都能在x中找到,x中是否有环,以及x中每个顶点的度数与k的比较,都能通过搜索算法在多项式时间内解决,因此是一个搜索问题。
  • 假设k=2时,如果要找到一个生成树的节点度数都小于等于2,相当于是一条哈密顿路径。因此可以把哈密顿路径归约到k-生成树问题上。反之也成立。因为无向图的哈密顿路径是NP完全问题,所以k-生成树问题也是NP完全问题。

你可能感兴趣的:(算法练习)