MinCut Module
Stoer-Wagner global minimum cut algorithm.
Finds the minimum weight cut that partitions the graph into two non-empty sets, without specifying which nodes must be on which side (unlike s-t min cut).
When to Use
- Graph partitioning and clustering
- Finding the weakest link in a network
- Image segmentation
- VLSI design (circuit partitioning)
- Community detection in networks
Key Concepts
Global Minimum Cut
A partition of nodes into two non-empty sets A and B that minimizes the sum of weights of edges crossing from A to B.
Stoer-Wagner Algorithm
Uses Maximum Adjacency Search (MAS) to find the "most tightly connected" node pair, then contracts them and repeats.
Complexity
- Time: O(V³) - cubic in number of vertices
- Space: O(V + E)
Comparison with Max-Flow Min-Cut
Aspect |
Global Min Cut (Stoer-Wagner) |
s-t Min Cut (Max Flow) |
|---|---|---|
Source/Sink |
Not specified |
Must be specified |
Partitions |
Any two non-empty sets |
Separates specific nodes |
Algorithm |
Contraction-based |
Augmenting paths |
Complexity |
O(V³) |
O(VE²) |
Maximum Adjacency Search
The key subroutine orders vertices by their connectivity strength to the growing set, identifying the most tightly connected pair.
Types
| Type | Description |
|
Represents the sizes and weight of a graph partition. Returned by |
Functions and values
| Function or value |
Description
|
||
|
Finds the global minimum cut of an undirected weighted graph using the Stoer-Wagner algorithm.
Parameters
Algorithm
Complexity
Example
Use Cases
val graph: obj
val result: obj
|