Given an undirected graph G=(V,E), the maximum cut problem asks for a subset S⊂V that maximizes the number of edges which cross S, i.e.,
S=argS′⊂Smaxδ(S),
where δ(S)=∣{(i,j)∣(i,j)∈E∧i∈S,j∈/S}∣.
Programming Formulation
To solve the problem, we assign each vertex i∈V a binary indicator xi∈{−1,1} for the event that i belongs to S.
WLOG, we assume that i∈S if xi=1.
The value of δ(S) can be written as
δ(S)=(i,j)∈E∑21−xixj
Its correctness can be verified as follows:
if i,j∈V belongs to the same partition, i.e, i,j∈S or i,j∈V−S, then xixj=1 and (1−xixj)/2=0
Otherwise, xixj=−1 and (1−xixj)/2=1.
Convex Relaxation
We consider a relaxation of the above programming:
The above problem can be solved within ϵ additive error in polynomial time in terms of input size and log1/ϵ.
Rounding
To round the fractional solution to integral solution, we take a random unit vector v∈Rn.
For each vertex i, if vTxi≥0 we set xi′=1 otherwise we set xi′=0.
For any pair i,j∈V, if xi=xj, then we set θi,j=0.
Otherwise, consider the two dimensional subspace in Rn spanned by xi and xj.
Denote the angle between xi and xj as θi,j.
We have
θi,j=arccosxiTxj.
Notice that
(i,j)∈E∑21−xixj=(i,j)∈E∑21−cosθi,j.
Furthermore, the probability that xi′ and xj′ are assigned different values is given by θi,j/π.
By linearity of expectation, the expected cut value is
E(i,j)∈E∑21−xi′xj′=(i,j)∈E∑πθi,j
As max0≤θ≤πθπ21−cosθ≈1.138, E[∑(i,j)∈E21−xi′xj′] is greater approximately 1/1.138=0.878⋅∑(i,j)∈E21−xixj.