gives the maximum cut of the graph g.

Details and Options

  • FindMaximumCut is also known as the max-cut problem.
  • Typically used in cluster analysis, VLSI design and statistical physics.
  • A maximum cut of a graph g is a partition of the vertices of g into two disjoint subsets with the largest number of edges between them.
  • FindMaximumCut returns a list of the form {cmin,{c1,c2}}, where cmin is the value of a maximum cut found, and {c1,c2} is a partition of the vertices for which it is found.
  • For weighted graphs, FindMaximumCut gives a partition {c1,c2} with the largest sum of edge weights possible between the sets ci.
  • The following options can be given:
  • EdgeWeightAutomaticedge weight for each edge
    PerformanceGoal"Speed"aspects of performance to try to optimize


open allclose all

Basic Examples  (1)

Find the maximum cut:

Highlight the cut:

Scope  (5)

FindMaximumCut works with undirected graphs:

Directed graphs:

Weighted graphs:


Mixed 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  (1)

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

The maximum cut:

Introduced in 2020