Given an undirected, unweighted graph G=(V,E) with n vertices and m edges, find a cut (S, V \setminus S) that minimizes the number of crossing edges.
How do we solve it without randomization?
A remarkably simple randomized approach based on edge contraction:
When we contract an edge, the number of vertices decreases by 1:
Let C be a specific global min-cut of size k. The algorithm succeeds if it never contracts any edge in C.
The probability that C survives all n-2 contraction rounds:
We can use the success probability of Karger’s algorithm to prove a fundamental combinatorial theorem using the Probabilistic Method:
Theorem: Any undirected, connected graph G = (V,E) on n vertices has at most \binom{n}{2} = \frac{n(n-1)}{2} distinct global min-cuts.
We repeat the contraction algorithm N times independently and return the smallest cut found.
If deterministic Hao–Orlin runs in O(n^2 \log n) time, why study O(n^4 \log n) Karger?
| Algorithm | Complexity | Code Lines |
|---|---|---|
| Hao-Orlin | $O(n^2 \log n)$ | Hundreds (flow) |
| Karger | $O(n^4 \log n)$ | ~10-15 lines |
| Karger-Stein | $O(n^2 \log^3 n)$ | ~30 lines |
A branching recursive contraction algorithm to speed up the process:
Why is the success probability \Omega(1/\log n) instead of \Omega(1/n^2)?
Answer each question based on Karger’s algorithm:
Expected-Time Data Structures: Skip Lists — balanced search structures without deterministic rebalancing overhead, and backward analysis.
CS G526: Advanced Algorithms & ComplexityTulasimohan Molli