顶点覆盖问题的NP完全证明(Proving NP-completeness of Vertex Cover)

Definition of Vertex Cover Problem:

•A vertex cover of a graph is a set of vertices such that each edge of the graph connects at least one of the vertexes in this set. e.g. (z, w) is the set of vertex cover in this graph.


Vertex Cover is an NP-Complete problem if:

1. Vertex Cover is in NP

2. Independent Set problem polynomial time reducible to Vertex Cover

Language:  VERTEX-COVER={<G, K>| where G has a vertex cover set of K size}


Is Vertex Cover in NP?

Given a graph G=(V, E) and K, prove vertex cover V’(V’⊆V).

1)prove |V’| = K.

2)For each edge (u, v) ∈ E, check is there either u∈V’or v∈V’.


Step1 costs O(C) times, Step2 costs O(|E|) times.

Thus, Step1 + Step2 cost polynomial time.

Conclusion: Vertex Cover is in NP.





What is Independent Set?

Independent set is a set of vertexes which satisfy the following condition:

•Any vertex in the set doesn’t connect each other.

Language: INDEPENDENT-SET = {<G,K>| where G has an independent set of size K}



Howto reduce the Independent Set to the Vertex Cover?
•Given a graph (G, K) which has a vertex cover V’ (|V’|=K).
•As we know, each edge (u, v) in G, atleast one vertex(u or v or both) in V’.
•Therefore, each edge at most one vertex inV-V’.
•Conclusion: If G has a K size vertexcover, G has a V-K size independent set.


猜你喜欢

转载自blog.csdn.net/sengo_gwu/article/details/78620644
今日推荐