COMS 482: unofficial class blog


Lecture 33: Approximation of Vertex Cover

Posted in Class Notes by Elliott Back on April 18th, 2005. [Del.icio.us]

Let xi be 0 if vi is not in the Vertex Cover, and 1 if vi is in the Vertex Cover. (vi, vj) is an edge such that xi + xj >= 1. We want to make the sum of all xi as small as possible, and still cover the edges.

Linear Programming:

A set of linear inequalities define a feasible region, for example:

x + y >=0
x - y >= 0
x <= 5
y <= 2

Or, in matrix form:

[[1,1][1,-1][1,0][0,1]] * [[x][y]] >= [[0][0][-5][-2]]

The goal is to remain the feasible region while optimizing something. In general, given {Ax = b}, a set of linear inequalities, we want to minimize c*x, i.e. find the minimum {c*x | Ax >= b}. Geometrically, this is finding the extreme point of a polytope. We can write this as a decision problem, too. Given A, b, c, and a bound B, is there a solution x such that Ax >= b and c’*x <= B?

Claim: “LP is in NP”

Given a set of values, we can check the solution in polynomial time. Rational numbers, however, require additional book keeping. Beware! Also, LP is in Co-NP and in P, using an interior point method.

VC as a LP problem:

xi >= 0
-xi >= -1
xi + xj 7gt;= 1 for all (vi, vj)
minimize sum(xi)

Then, run LP but only allow integer solutions. This is called “Integer Programming” (IP). Claim: “VC <=p IP.” Rewrite VC as an IP problem, then the solution to one implies the other. Claim: “IP is in NP.” Obvious. Therefore, IP is NP-Complete.

Approximation:

Simply round the LP solution to get integers. S = {i | i >= 1/2}, our approximate vertex cover. Then, |S| = sum(i in S) <= sum(2*xi in S) = s * sum(xi in S) <= 2 * sum(xi from i = 0 to n) <= 2 * |S*|. So, we are within a factor of two of the optimal solution.

This entry was posted on Monday, April 18th, 2005 at 2:32 am and is tagged with , , , , , , , , , , , , , , , , , , , . You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback.

Leave a Reply

Please take time to enjoy the archives: May 2005 (1) April 2005 (11) March 2005 (11) February 2005 (15) January 2005 (7)

Fresh, related resources:

Supplied by Google Blog Search
  • bLecture/b 16: Approximations
    Rajeev Motwani?s (old) blecture/b notes on bapproximation/b algorithms. The notes are old, but the fundamentals haven?t really changed. I?ll be drawing on material from Chapter 1 (pages 1-b33/b: the definitions, and the impossibility results). b.../b
  • Algorithms for Molecular Biology | Full text | DIALIGN-TX: greedy b.../b
    The new method is based on a guide tree; to detect possible spurious sequence similarities, it employs a bvertex/b-bcover approximation/b on a conflict graph. We performed benchmarking tests on a large set of nucleic acid and protein b.../b
  • old tips
    chap 11,slide 12-b33/b not included.rest in dat chapter important. aa:chapter 12-bapproximation/b algo, montey carlo algo, las vegas algo important, bvertex cover/b not in final.quick n heap sort.
  • blecture/b 12: bapproximation/b algorithms
    b.../b material from chapter 1 (pages 1-b33/b: the definitions, and the impossibility results). sariel har-peled?s notes on bapproximation/b algorithms. the relevant material is in pages 1-2 (the greedy bapproximation/b algorithm for bvertex cover/b)
  • bLecture 33/b: bApproximation of Vertex Cover/b by COMS 482
    bLecture 33/b: bApproximation of Vertex Cover/b. Posted in Class Notes by Elliott Back on April 18th, 2005. [Del.icio.us]. Let xi be 0 if vi is not in the bVertex Cover/b, and 1 if vi is in the bVertex Cover/b. (vi, vj) is an edge such that xi + xj b.../b