Professional Documents
Culture Documents
a b (a,b)
Observation 1
Any cut of G1 is also a cut of G, with a and b on the
same side.
If mincut of G1 < mincut of G
This mincut of G1 should be the mincut of G, by the
above observation.
Thus, mincut of G1 ≥ mincut of G.
Observation 2
Fix our favorite global
A VA
mincut C, with C k.
Let e be the edge
contracted. e
If e is not in C then
C is also a cut in G1.
C ( A, V A)
Using Observation 1,
mincut of G1 = mincut
of G.
Observation 2 cont… k
Pr[One of the k edges is chosen as e]
E
deg(u) k , since k is the global mincut value
E deg(u) nk
uV
k
E n
Thus, Pr[mincut of G mincut of G]
k
Pr[e is not one of the k edges] ,
E n
which is quite a high probability.
The algorithm
Repeat
Choose an edge of G uniformly at random and
contract it. Let the resulting graph be called G.
Until there are only two vertices in G.
Output the set of edges between the two vertices as our
candidate mincut.
Bounding the probability of
correctness
Let C be our favorite mincut and F be the cut output
by the algorithm.
Pr[F is C]=Pr[no edge of C is contracted in any
iteration].
Let Ei be the event that no edge of C got contracted in
the ith iteration.
Pr[ F is C ] Pr[ E E E En ]
Pr[ E ]Pr[ E | E ]Pr[ E | E E ]
Pr[ En | E En ]
Bounding the probability of
correctness
n
We know that,Pr[ E ] .
n n
Because C remains the mincut we can also bound the
conditional following conditional probabilities as we
bounded Pr( E ). Thus,
n
Pr[ E | E ]
n n
n i
Pr[ Ei | E Ei ]
n i n i
Bounding the probability of
correctness
Pr[ F is C ] is the product of these conditional
probabilities. So we have,
n n n i
Pr[ F is C ] · ·
n n n i n(n ) n
This probability bound is too low. It can be improved
by repeating the algorithm N times and returning the
least cut.
N n
Failure Probability (
) for N .
n e
Running time
Choosing a random edge.
deg(u)
Choose a vertex u with probability .
m
Now choose one of u’s with probability .
deg(u)
deg(u) deg( v)
Pr[edge (u, v) is selected] .
m deg(u) m deg( v) m
Time: O(n).
Running time
Contracting edges: Use adjacency matrix.
u v u+v
u
u+v
v