Given a graph
, partition the vertex set into two sets
. An edge is said to be cut by this partition, if its end points lie on different sides of the partition. Find a partition that maximizes the number of edges cut (see figure
).
This problem is NP-hard. We will give a simple 0.5-approximation algorithm for this problem through randomization. This was the best known approximation guarantee for this problem for several years.
Let and
.
Claim 1. There exists a partition
of the vertex set such that number of edges cut
.
Proof: We build a set (i.e., one side of the partition) by including each vertex in
with probability 0.5. Now we ask the question: what is the expected number of edges cut by the partition
. To answer this question, for every edge
, we define
if the edge
is cut by the partition, 0 otherwise.
We can write the following expression for the number of edges cut :
(8.7) |
The question we want to answer is: We use the linearity of the expectations. First convince your self that
.
This holds since, conditioned on being in the set
or not, there is exactly one choice for
, which makes the edge
a cut. Hence, we get the following:
(8.8) |