360 likes | 468 Views
Semi-Definite Algorithm for Max-CUT Ran Berenfeld May 10,2005. Agenda : The Max-Cut problem. Goemans-Williamson algorithm. Semi-Definite programming. Other applications. The Max-Cut Problem : Let be a complete, undirected graph, With edge weights .
E N D
Semi-Definite Algorithm for Max-CUT Ran Berenfeld May 10,2005
Agenda : • The Max-Cut problem. • Goemans-Williamson algorithm. • Semi-Definite programming. • Other applications.
The Max-Cut Problem : Let be a complete, undirected graph, With edge weights . Find a cut that maximizes
Observations : • General definition • set weight=1 if edges are un-weighted. • set weight=0 for non complete graph. • NP-Hard [Karp 72’] • approximation is easy. • This presentation – [Goemans-Williamson 94’]shows -approximation where • [Karloff ’99, Feige-Schechtman ’99] – Goemans Williamson have an integralitty gap of
GW strategy for Max-Cut • 1.Write problem as a Quadratic Problem. (with integer solutions) • 2.Relax to vector programming. • 3.Vector programming is equal to semi-definite programming (SDP). • 4.Solve SDP. Graph QP VP Approx SDP
Graph QP • Assign a variable to each vertex. • Let for vertices in • Let for vertices in
QP Approx VP • Replace each with . • Old objective value is achieved setting • where • where
QP Approx VP • Motivation : heavy weighted verticeswill be “far” away from each other. 1000
VP SDP • we’ll show later that VP is equal to SDP.
SDP • we’ll also show later how SDP is polynomial time solvable to any accuracy degree. • But first lets analyze the approximation ratio.
SDP • Suppose are the vectors solution to our VP. • To obtain a cut from the solution : Randomly pick a vector on the unit sphere, and let
Approximation Analysis : • Let and be vectors in the VP solution. • By the choice of it follows that • Pr[the edge is in the cut]= • Pr[ ] • And so the expected weight of the cut produced by the algorithm is :
If the angle between and is , there is an area of size where can satisfy
Current conclusion : • The optimal solution to VP is no less then the optimal cut. So it follows : • Now we set • And obtain : !
OPT 0 1 • QP solutions and the optimal solution OPT-F 0 1 • VP feasible solution and fractional OPT OPT-F 0 1 • Find integral solution of cost QP SDP • Integralitty gap :
SDP • A real, symmetric matrix is positive semi-definite if (TFAE) : • 1. for all x. • 2.all eigenvalues of are non negative. • 3.there exist a matrix so that . • Notations: means is positive semi • Definite. • is the convex of all symmetric • Matrices.
SDP • Define (Frobenius product) : • . • Then SDP in general form is : • Where and all ‘s are symmetric.
VP SDP • 1.Replace with . • 2.Demand that the matrix be • Symmetric and positive semi-definite. • It follows that both problems (VP and SDP) are equal.
SDP • It’s easy to show that SDP can be solved in polynomial time using the Ellipsoid method. • Other methods exists that are much more practical…
SDP • The Ellipsoid method • A convex set in is described using a set of restrictions • We need to find a point in the set. • We need to be able, for each point • To provide a separating hyperplane • (in polynomial time)
SDP • The Ellipsoid method • The method starts with a large ellipsoid containing . • At each step, if the current point is not in ,we use the separating hyperplane to find a (significantlly) smaller ellipsoid.
SDP • The SDP Problem : • We treat the matrix as a vector in . • The set of symmetric ,positive • Semi-definite matrices is convex. • It follows the set of feasible solution is • convex.
SDP • The SDP Problem : • Finding a separating hyperplane : • If is not symmetric, is a S.H • If is not positive semi-definite, it has a • Negative eigenvalue. Let be the • Eigenvector. Then • Is a separating H.P. • Any constraint violated is a S.H
SDP • The SDP Problem : • Finally, the SDP for Max-Cut has a well • defined Dual problem. Which is another • SDP program with the same objective • Value. • Intersecting the Primal and Dual program • Creates a convex set, which is not empty • If the program is feasible, and contains • only optimal points.
1 1 1000 • Some examples :
SDP • Use SDP to -approximate MAX-2SAT • The input is a 2-CNF formula, over variables . • A weight to each clause, • Need to find an assignment so that the weight of the satisfied clauses is maximal.
SDP • Use SDP to -approximate MAX-2SAT • Assign a {-1,1} variables, • Also add a special {-1,1} variable , which will determine the mapping between {-1,1} to {True/False}
SDP • Use SDP to -approximate MAX-2SAT • Given any boolean formula C, we want v(C) to be 1 if the formula is true,0 otherwise. • For example if then
SDP • Use SDP to -approximate MAX-2SAT • Another example :
SDP • Use SDP to -approximate MAX-2SAT • This way we can change the 2-CNF to a QP in the form :
SDP • Use SDP to -approximate MAX-2SAT • Relax the program to
SDP • Use SDP to -approximate MAX-2SAT • The expected weight E[V] : • And the same analysis will work here to show that this algorithm is an • -approximate.
Semi-Definite Algorithm for Max-CUT Ran Berenfeld May 10,2005 THE END