“You know Mr. Burns, you're the richest guy I know.“
“Ah yes, but I'd trade it all for a little more“
A graph cut is a partition of a graph into 2 non-empty partition. We say that an edge crosses a cut if it goes from one partition to the other. The minimum graph cut is the cut with the fewest edges crossing it.
Kargar’s algorithm attempts to find a minimum graph cut in the following manner:
Theorem: The probability that Kargar’s algorithm returns the min cut in a graph with N vertices is ≥2/n(n−1).
For comparison, the probability that a random cut is the mincut can be as small as 2−Ω(N). What’s the intuition? Suppose C is a mincut (there might be more than 1!). Kargar’s algorithm will fail only if it contracts an edge crossing C. But this isn’t too likely to happen since there are relatively few edges in C.
Proof: Let C be a min-cut and denote the edges that Kargar’s algorithm contracts as e1,...,en−2. Let Ei be event that ei does not cross C. In order to successfully return a mincut, all E need to occur:
P[E1∧E2∧...∧En−2]=P[E1]P[E1|E2]...P[En−1|E<n−2]Consider a single step:
P[Ej|E<j]=1−P[¬Ej|E<j]The term on the right is the probability of crossing cut ej, given that no previous edges crossed the cut. The probability whether we cut ej will be the number of edges remaining in the cut of the contracted graph divided by the number of edges in the contracted graph after contracted j−1 edges. This means that the number of edges remaining is lower bounded by:
\# edges remaining≥\# vertices remainingmin degree of any vertex/2which is lower bounded by:
≥(n−j+1)(\# edges crossing C)/2Thus:
1−P[¬Ej|E<j]≥n−j−1n−j+1Returning to consider the full chain of steps:
P[E1∧E2∧...∧En−2]≥n−2nn−3n−1...13=2n(n−1)To do better, we can run Kargar’s algorithm n(n−1)logδ times and take the smallest cut. This will find the mincut with probability 1−δ.