Proofs: Karger-Stein algorithm
These are the human proofs of Karger-Stein algorithm, at full length.
Recursive contraction finds a minimum cut with probability Ω(1/log n) in O(n^2 log n) time full
This proof shows: correctness, termination, complexity.
Setting. is an undirected graph on vertices with weights , parallel edges summed, no self-loops. is the weight of a minimum cut. A contracted graph has vertices that are disjoint groups of original vertices covering , and for groups . A cut of is a union of groups, so it is a cut of with the same weight; hence . A cut of survives in if every group lies inside or inside ; then is a cut of .
Lemma 1 (soundness). Every pair returned is a cut of with weight exactly ; so the result is never below .
Proof. Line L6 returns a cut of the current graph with its weight, and a zero-weight return after is a single group with no edge leaving it. Both are cuts of of the same weight. Lines L9 and L3 only choose among such pairs.
Lemma 2 (one contraction). If has vertices, , and a minimum cut of survives in , then one contraction of line L11 destroys with probability at most .
Proof. The weighted degree of each vertex of is the weight of the cut of , so it is at least . So . The edges of that cross have total weight , since survives, and the contraction picks one of them with probability . Contracting any other edge keeps every group on one side.
Lemma 3 (contracting to ). If survives in with vertices and , then CONTRACT keeps with probability at least . For and this is at least , and .
Proof. If the call stops and survives. Otherwise, by Lemma 2 applied for vertices, survives with probability at least . For the given , and , so . And for , since when .
Termination and depth. By Lemma 3 each recursive call has fewer vertices than its parent, so the recursion ends. CONTRACT stops at exactly vertices unless it returns early, so a call at depth has at most vertices, where and . Let , so that . Then , and so . A call at depth that recurses has at least 7 vertices, so , which gives . So the depth , the largest depth of a call, satisfies and .
Lemma 4 (success). Let be the least probability, over all contracted graphs of recursion depth at most in which some minimum cut of survives, that RECURSIVE-CONTRACT returns a pair with . Then .
Proof. By induction on . For , line L6 finds a minimum cut of , whose weight is since ; so . Let , and let survive in . Branch of line L8 succeeds if survives in , with probability at least by Lemma 3, and then, conditioned on any such , the recursive call succeeds with probability at least ; if instead the call stopped with , it returns . So a branch succeeds with probability at least . The branches use independent random choices, so both fail with probability at most , and
The map is increasing on , so with ,
where the last step is .
Lemma 5 (time). One run takes time.
Proof. A call on vertices copies the matrix for each branch and makes at most contractions in each branch, each in time, so it does work besides its children; a call with does work. There are at most calls at depth , each with at most vertices, so the work at depth is . By the depth bound, for every depth that occurs, so each depth costs , and the depths cost in total.
Theorem. With runs, KARGER-STEIN returns with probability at least , and never a value below . With the error is at most , and the time is .
Proof. Soundness is Lemma 1. A minimum cut of survives in itself, so by Lemma 4 each run succeeds with probability at least , independently of the other runs, and . The time is times the bound of Lemma 5.