证明支配集是NP完全的

时间:2011-03-15 15:22:54

标签: np-complete reduction

这是问题所在。我想知道是否有明确有效的证据:

顶点覆盖:输入无向G,整数k>是否有一个子集 顶点S,| S |< = k,覆盖所有边?

支配集:输入无向G,整数k>是否有一个子集 顶点S,| S |< = k,支配所有顶点?

顶点覆盖它的入射边缘,并支配它的邻居和它自己。

假设VC是NPC,证明DS是NPC。

3 个答案:

答案 0 :(得分:8)

有一个非常好的和众所周知的缩减:(仅适用于连接图)

给定一个Vertex Cover的实例(G,k)构建一个Dominating Set(H,k)的实例,其中对于H,你取G并且对于每个边(u,v)添加一个连接到u的附加顶点x诉

首先要认识到G的顶点覆盖是H的一个主导集合(它显然是G的DS,新的顶点也是主导的)。因此,如果G的VC小于k,则H的DS小于k。

相反,考虑D,H的支配集。

请注意,如果其中一个新顶点在D中,我们可以用它的两个邻居之一替换它并仍然得到一个支配集:它只是邻居是两个原始顶点并且它们也是连接的 - 所有x都可以可能的支配地位也由你或v支配。

因此我们可以假设D仅包含来自G的顶点。现在对于G中的每个边(u,v),新的顶点x由D控制,因此u或v在D中。但这意味着D是a G的顶点封面

我们拥有它:当且仅当H具有较小的支配集k时,G的顶点覆盖较小的k。

答案 1 :(得分:0)

取自:

CMSC 651高级算法,讲师Samir Khuller

enter image description here

答案 2 :(得分:-2)

我认为第二个问题不是NP。 让我们尝试以下算法。

1. Get the original Graph
2. Run any algorithm which checks if a graph is connected or not.
3. mark all used edges of step 2
4. if the graph is connected then return the set of marked edges otherwise there is no such a set.

如果我理解你的问题,那么它就不是NP Complete。