FindMinimumCut

FindMinimumCut[g]

gives the minimum cut of the graph g.

FindMinimumCut[{vw,}]

uses rules vw to specify the graph g.

Details and Options

  • A minimum k-cut of a graph g is a partition of vertices of g into k disjoint subsets with the smallest number of edges between them.
  • FindMinimumCut returns a list of the form {cmin,{c1,c2,}}, where cmin is the value of a minimum cut found, and {c1,c2,} is a partition of the vertices for which it is found.
  • For weighted graphs, FindMinimumCut gives a partition {c1,c2,} with the smallest sum of edge weights possible between the sets ci.
  • The following option can be given:
  • EdgeWeightAutomaticedge weight for each edge

Examples

open allclose all

Basic Examples  (1)

Find the minimum cut:

Highlight the cut:

Scope  (7)

FindMinimumCut works with undirected graphs:

Directed graphs:

Weighted graphs:

Multigraphs:

Mixed graphs:

Use rules to specify the graph:

FindMinimumCut works with large graphs:

Options  (1)

EdgeWeight  (1)

By default, the edge weight of an edge is taken to be its EdgeWeight property if available, otherwise 1:

Use EdgeWeight->weights to set the edge weight:

Properties & Relations  (3)

Use FindGraphPartition to find a cut with approximately equal-sized parts:

The minimum cut:

EdgeConnectivity is the same as the value of a minimum cut:

Use FindEdgeCut to obtain edges between cut sets:

Highlight the edges and cut sets:

Introduced in 2012
 (9.0)
 |
Updated in 2015
 (10.3)