Lecture 33: Approximation of Vertex Cover
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 interior point method, linear inequalities, polynomial time, lt 2, lp solution, feasible region, ax gt, lp problem, integer solutions, decision problem, extreme point, integer programming, polytope, rational numbers, optimal solution, book keeping, vertex, linear programming, vj, integers. 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:
- 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
