Proofs: Nagamochi-Ibaraki algorithm
These are the human proofs of Nagamochi-Ibaraki algorithm, at full length.
The Nagamochi-Ibaraki algorithm returns a global minimum cut full
This proof shows: correctness, termination.
Setting. is undirected with weights (zero-weight edges are dropped), parallel edges summed, no self-loops, and . For a set and a vertex , is the weight of the edges between them, and . For , is the least weight of a cut that separates and , and is the least weight of any cut. A vertex of a contracted graph is a group of original vertices, and a cut of a contracted graph is a cut of of the same weight.
Lemma 1 (Stoer and Wagner). If is an MA ordering of a graph with , then .
Proof. This is Lemma 2 of the proof on the Stoer-Wagner page: the cut has weight , and every cut that separates and has weight at least . That proof uses only the choice rule of the ordering, so it holds for every way of breaking ties.
Lemma 2 (the bound ). Let be the MA ordering of a round, and let with . Then and , where here is the current graph.
Proof. grows by when is scanned, for each , so right after is scanned it is . Let be the subgraph induced by . The sequence is an MA ordering of : for , the key of a vertex of when is chosen is the same in as in , since it counts only edges to , and had a key at least as large as every unscanned vertex of , which includes the unscanned vertices of . By Lemma 1, . Every cut of that separates and gives the cut of , which also separates them, and the edges of that cross it cross ; so .
Lemma 3 (progress). In a round with , at least one edge is contracted.
Proof. Let be the last vertex of the ordering. After line L3, . Since , , so has a neighbor; let be the neighbor scanned last. By Lemma 2, the edge has , so it is contracted.
Theorem. The algorithm stops after at most rounds and returns with a set whose cut has weight .
Proof. By Lemma 3 every round either stops at line L4 or lowers the number of vertices, so there are at most rounds. Each value of is the weight of the cut of a group, so and at all times.
Suppose the result is larger than , and let be a minimum cut of , so at all times. We show that survives every contraction: whenever an edge is contracted in a round, , so by Lemma 2 does not separate the ends of , if is a cut of the current graph. By induction, is a cut of every graph of the run, as a union of groups, so every graph of the run has at least two vertices, one inside and one outside. So the loop of line L2 never ends by running out of vertices, and it must stop at line L4, with . This contradicts . So the result is .