Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Verification algorithm for minimum vertex cover?

We know that the minimum vertex cover is NP complete, which means that it is in the set of problems that can be verified in polynomial time.

As I understand it, the verification process would require the following:

  1. Verify that the solution is a vertex cover at all
  2. Verify that the solution is the smallest possible subset of the source graph that satisfies condition #1

I'm finding it hard to establish that step #2 can be done in polynomial time. Can anyone explain how it is?

like image 285
Govind Parmar Avatar asked Apr 18 '13 22:04

Govind Parmar


People also ask

How do you find the minimum vertex cover?

The size of the minimum vertex cover is 1 (by taking either of the endpoints). 3. Star: |V | − 1 vertices, each of degree 1, connected to a central node. The size of the minimum vertex cover is k − 1 (by taking any less vertices we would miss an edge between the remaining vertices).

What is vertex cover algorithm?

In graph theory, a vertex cover (sometimes node cover) of a graph is a set of vertices that includes at least one endpoint of every edge of the graph.

What is the complexity of minimum vertex cover?

In the process of getting a vertex cover, the maximum value of shortest paths is considered as a standard, and some criteria are defined. The time complex of the Algorithm is O(n3) where n is the number of vertices in a graph. In the end, an example is given to illustrate the process and the validity of the Algorithm.

How do you prove vertex cover is NP?

To prove VC is NP, find a verifier which is a subset of vertices which is VC and that can be verified in polynomial time. For a graph of n vertices it can be proved in O(n2). Thus, VC is NP. Now consider the “clique” problem which is NPC and reduce it into VC to prove NPC.


1 Answers

The minimum vertex cover is NP-hard. It is only NP-complete if it is restated as a decision problem which can be verified in polynomial time.

The minimum vertex cover problem is the optimization problem of finding a smallest vertex cover in a given graph.

  • INSTANCE: Graph G
  • OUTPUT: Smallest number k such that G has a vertex cover of size k.

If the problem is stated as a decision problem, it is called the vertex cover problem:

  • INSTANCE: Graph G and positive integer k.
  • QUESTION: Does G have a vertex cover of size at most k?

Restating a problem as a decision problem is a common way to make problems NP-complete. Basically you turn an open-ended problem of the form "find the smallest solution k" into a yes/no question, "for a given k, does a solution exist?"

For example, for the travelling salesman problem, verifying that a proposed solution the shortest path between all cities is NP-hard. But if the problem is restated as only having to find a solution shorter than k total distance for some k, then verifying a solution is easy. You just find the length of the proposed solution and check that it's less than k.

The decision problem formulation can be easily used to solve the general formulation. To find the shortest path all you have to do is ratchet down the value of k until there are no solutions found.

like image 163
John Kugelman Avatar answered Sep 29 '22 22:09

John Kugelman