posted 18 Jan 2024
Minimum Cut
§ Overview
Suppose we are given graph with vertex set and edge set
Let then each edge can be written as for
Cut
A cut of graph is a partition of vertices into a set and
An edge crosses the cut if and for
The size of the cut is the number of edges that cross
Minimum Cut
The minimum cut is the smallest cut across all pairs of sets of verticies.
§ Karger's Algorithm
Karger's Minimum Cut Algorithm
- Start with and iteratively reduce the number of vertices via edge contractions
- In each step, choose a random edge and merge the two endpoints of an edge into a single vertex which preserves edges.
- Allow multi-edges but not self loops
- Iterate until there are only two vertices and left
- Return all vertices merged into as , and the rest in as
§ Analysis
Suppose the graph is disconnected. Then, we always return the correct min-cut.
Suppose the graph contains two components connected by a single edge. The algorithm is successful as long as it avoids selecting the single edge crossing the two components.
As long as it avoids the single edge, each edge contraction will shrink one of the two components.
It is unlikely that we choose that edge.
Fix a cut of size The probability that we contract an edge of is Since the min-cut is then each vertex must have degree of at least so The probability that we do not contract an edge of is at least
After steps, the number of vertices left is the probability that we do not contract an edge of is at least
The probability of success is at least
Therefore, the probability of success is at least and after applications we will succeed with probability