Self Reducibility

Show how the optimization version of vertex cover problem is polynomial time-reducible to its decision version. The optimization version, known as min vertex cover problem, is “given a graph , find the minimum set of vertices that cover all the edges in ”. The decision version is “given a graph and a constant , is there a vertex cover of at most vertices?” Here, we say a vertex “covers” an edge if and only if the vertex is an end- node of the edge.

Reduction to Decision Version

We start with the two phases, finding the minimum size using inbary search, and constructing an actual minimum vertex using the vertex elimination.

Using the given graph with value of vertices, we use binary search with the following decision oracle:

This yields a big complexity of calls to , where each takes polynomial time.

Now that we know the value of , we can construct an actual minimum vertex cover :

We notice that when DEC-VC() returns NO, then vertex MUST be in every vertex cover of the size for current graph.

Now we have the information necessary for a proof via contradiction:

We suppose that is not needed. If this is the case, then there exists a vertex cover of size not containing , where this dover only uses vertices from . Therefore, has a vertex cover of size , which is a contradiction.

This algorithm terminates with because we only add a vertex to when its essential, we decrement each time we add a vertex, and we started with exactly slots to fill.

This yields the final complexity:

Given that each phase call is completed in polynomial time, that means the full reduction also runs in polynomial time.


Set Packing and Independent Set

Prove that , that is, the decision problem is polynomial-time reducible to the decision problem. Feel free to use an illustration if it helps. The definitions of these two decision problems are summarized below.

  • : Given a set of elements, a set of subsets of , and an integer , does there exist a set of at least subsets that are pairwise disjoint (i.e., intersection = between every pair)?
  • : Given a graph and an integer , is there a subset of vertices such that and, for each edge in , at most one — but not both — of its end nodes is in S?

(Note we’ve already proved in class that INDEPENDENT-SET SET-PACKING, so this proof leads to it that INDEPENDENT-SET SET-PACKING, that is, these two problems are equally hard computationally.)

Make sure to give a complete proof based on the Karp reduction definition (which is for decision problems) by including the two parts---(1) the polynomial-time construction algorithm and (2) the equivalence of solutions to the two problems.

Constructing the Reduction

Given a SET-PACKING instance , construct an INDEPENDENT-SET instance as follows:

Keeping the same value of . In essense, the two subsets are disjoint, their corresponding vertices are not connected by an edge.

A demo would look something like:

Their intersections would look like:

All other pairs are disjoint. See Figure 1 for a rough visualization of this graph.

Resultant Graph(rough)

To proove the correctness, we must now define our theorem that SET-PACKING has a solution of size has an independent set of size .

For the forward direction, we suppoos that is a set packing:

For the backward directoin, we supposed that is an indepenent set of .

Now to analyze its complexity:

Given that this reduction is computable in polynomial time(and also preserves solutions), we know:

Combining with hte result from class of INDEPENDENT-SET SET-PACKING, we now know:

And thus the problems are computationally equivalent .