In
graph theory, a minimum cut or min-cut of a
graph is a
cut (a
partition
Partition may refer to:
Computing Hardware
* Disk partitioning, the division of a hard disk drive
* Memory partition, a subdivision of a computer's memory, usually for use by a single job
Software
* Partition (database), the division of a ...
of the vertices of a graph into two disjoint subsets) that is minimal in some metric.
Variations of the minimum cut problem consider weighted graphs, directed graphs, terminals, and partitioning the vertices into more than two sets.
The weighted min-cut problem allowing both positive and negative weights can be trivially transformed into a weighted
maximum cut
For a graph, a maximum cut is a cut whose size is at least the size of any other cut. That is, it is a partition of the graph's vertices into two complementary sets and , such that the number of edges between and is as large as possible. Fin ...
problem by flipping the sign in all weights.
__TOC__
Without terminal nodes
The minimum cut problem in
undirected
In discrete mathematics, and more specifically in graph theory, a graph is a structure amounting to a set of objects in which some pairs of the objects are in some sense "related". The objects correspond to mathematical abstractions called '' v ...
, weighted graphs limited to non-negative weights can be solved in polynomial time by the
Stoer-Wagner algorithm. In the special case when the graph is unweighted,
Karger's algorithm provides an efficient randomized method for finding the cut. In this case, the minimum cut equals the
edge connectivity
In graph theory, a connected graph is -edge-connected if it remains connected whenever fewer than edges are removed.
The edge-connectivity of a graph is the largest for which the graph is -edge-connected.
Edge connectivity and the enumeration ...
of the graph.
A generalization of the minimum cut problem without terminals is the
minimum -cut, in which the goal is to partition the graph into at least connected components by removing as few edges as possible. For a fixed value of , this problem can be solved in polynomial time, though the algorithm is not practical for large .
With terminal nodes
When two terminal nodes are given, they are typically referred to as the ''source'' and the ''sink''. In a directed, weighted
flow network, the minimum cut separates the source and sink vertices and minimizes the total weight on the edges that are directed from the source side of the cut to the sink side of the cut. As shown in the
max-flow min-cut theorem, the weight of this cut equals the maximum amount of flow that can be sent from the source to the sink in the given network.
In a weighted, undirected network, it is possible to calculate the cut that separates a particular pair of vertices from each other and has minimum possible weight. A system of cuts that solves this problem for every possible vertex pair can be collected into a structure known as the
Gomory–Hu tree of the graph.
A generalization of the minimum cut problem with terminals is the -terminal cut, or multi-terminal cut. This problem is
NP-hard
In computational complexity theory, NP-hardness ( non-deterministic polynomial-time hardness) is the defining property of a class of problems that are informally "at least as hard as the hardest problems in NP". A simple example of an NP-hard pr ...
, even for
.
Applications
Graph partition problems are a family of combinatorial optimization problems in which a graph is to be partitioned into two or more parts with additional constraints such as balancing the sizes of the two sides of the cut.
Segmentation-based object categorization can be viewed as a specific case of normalized min-cut
spectral clustering applied to
image segmentation. It can also be used as a generic
clustering method, where the nodes are data samples assumed to be taken from a
metric space and edge weights are their distances. This is however often impractical due do the high computational complexity for
.
Due to
max-flow min-cut theorem, 2 nodes' Minimum cut value is equal to their
maxflow value. In this case, some algorithms used in maxflow problem could also be used to solve this question.
Number of minimum cuts
A graph with
vertices can at the most have
distinct minimum cuts.
This bound is tight in the sense that a
(simple) cycle on
vertices has exactly
minimum cuts.
See also
*
Maximum cut
For a graph, a maximum cut is a cut whose size is at least the size of any other cut. That is, it is a partition of the graph's vertices into two complementary sets and , such that the number of edges between and is as large as possible. Fin ...
*
Vertex separator
In graph theory, a vertex subset is a vertex separator (or vertex cut, separating set) for nonadjacent vertices and if the removal of from the graph separates and into distinct connected components.
Examples
Consider a grid graph with ...
, an analogous concept to minimum cuts for vertices instead of edges
References
{{set index article
Graph theory objects
Network flow problem