I plan to write a few posts about approximation algorithms. I decided to start with my favorite one, and the first non-trivial one I read about, the SDP relaxation for Max-Cut. This post will be about this particular approximation algorithm and the proof for its guarantee.
The objective of approximation algorithms is to efficiently compute approximate solutions to problems for which finding an exact solution is believed to be computationally hard. In order to illustrate this we will look into the Max-Cut problem. Given a graph with non-negative weights on the edges. The Max-Cut problem is that of finding a set such that is maximal.
The Max-Cut problem is known to be NP-hard (if the widely believed conjecture is true this means that the problem cannot be solved in polynomial time). On what follows we will show a randomized algorithm of Goemans and Williamson that is able to, in polynomial time, obtain a cut whose expected value is guaranteed to be no smaller than a particular constant times the optimum cut.
Let . One can restate the problem has
We consider the following relaxation of this problem:
Note that this is in fact a relaxation because if one would restrict to maximizing multiple of , the first element of the canonical basis, the problem would be equivalent to the original.
From the solution of the relaxed problem one can produce a cut subset by randomly picking an vector from the uniform distribution on the unit sphere and letting . In order for this algorithm to be of interest two things must happen: The relaxed problem needs to be significantly easier to solve than the original and the cut given by the set needs to be comparable to the optimal one. We will start by showing the latter.
Let be the value of the cut produced by the relaxation described above. Clearly is a random variable, it’s expectation is
It is not hard to show (see here) that
Let be the maximum cut of , meaning the maximum of the original problem. It is easy to see that the solution to the relaxed version is larger or equal than . Hence,
showing that the algorithm based on the relaxation has a performance guarantee (in expectation) of .
What makes all this interesting is the fact that one can obtain a solution of the relaxed problem in a trackable way. If we set where has the vectors as its columns (it is called the Gram Matrix of then we can rewrite the objective function of the relaxed problem as . One can exploit the fact that having a decomposition of the form is equivalent to being positive Semi-Definite , which is a convex constraint. Also, the constraint that can be rewritten has . This implies that the relaxed problem is equivalent to the following Semi-Definite program:
Since a Semi-Definite Program can be solved (up to accuracy) in time growing only polynomial on the input data and this describes a randomized algorithm for Max-Cut with a performance guarantee.
4 thoughts on “Approximation Algorithm for Max-Cut (SDP relaxation)”
Sometimes randomized algorithms blow my mind, and this is a perfect example. Thanks for the post. FYI – I think the inequality is going the wrong way in (3), and your v’s turned into y’s in the discussion before (5).
The algorithm is pretty impressive yes! Even more impressive is the fact that, if you believe Unique Games Conjecture and , then this algorithm is tight — There is no polynomial time algorithm that is able to get a better approximation performance.
Thanks for catching the typos!