Jump to content

Maximum cut: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
changed to thumbnail
Fixed incorrect lower bound (a) to be what Edwards originally proved in [1].
 
(98 intermediate revisions by 31 users not shown)
Line 1: Line 1:
{{Short description|Problem of finding a maximum cut in a graph}}
[[File:Max-cut.svg|thumb|right|An example of a maximum cut]]
[[File:Max-cut.svg|thumb|right|An example of a maximum cut]]


For a [[Graph (discrete mathematics)|graph]], a '''maximum cut''' is a [[cut (graph theory)|cut]] whose size is at least the size of any other cut. The problem of finding a maximum cut in a graph is known as the '''Max-Cut Problem.'''
a [[Graph (discrete mathematics)|graph]], a '''maximum cut''' is a [[cut (graph theory)|cut]] whose size is at least the size of any other cut. a graph is known as the '''- '''


The problem can be stated simply as follows. One wants a subset ''S'' of the vertex set such that the number of edges between ''S'' and the complementary subset is as large as possible.
The problem can be stated simply as follows. One wants a subset S of the vertex set such that the number of edges between S and the complementary subset is as large as possible.


There is a more general version of the problem called '''weighted Max-Cut'''. In this version each edge has a real number, its '''weight''', and the objective is to maximize not the number of edges but the total weight of the edges between ''S'' and its complement. The weighted Max-Cut problem is often, but not always, restricted to non-negative weights, because negative weights can change the nature of the problem.
There is a more general version of the problem called '''weighted -''' each edge a real number, its weight, and the objective is to maximize the total weight of the edges between S and its complement. The weighted - problem the .


==Lower bounds==
==Computational complexity==
Edwards<ref>{{harvtxt|Edwards|1973}}.</ref><ref>{{harvtxt|Edwards|1975}}.</ref> obtained the following two lower bound for Max-Cut on a graph {{mvar|G}} with {{mvar|n}} vertices and {{mvar|m}} edges (in (a) {{mvar|G}} is arbitrary, but in (b) it is connected):
:(a) <math> \left\lceil \frac{m}{2} +\sqrt{\frac{m}{8}+\frac{1}{64}}-\frac{1}{8} \right\rceil </math>
:(b) <math>\frac{m}{2} +\frac{n-1}{4}.</math>
Bound (b) is often called the Edwards-Erdős bound<ref>{{harvtxt|Bylka|Idzik|Tuza|1999}}.</ref> as Erdős conjectured it. Edwards proved the Edwards-Erdős bound using probabilistic method; Crowston et al.<ref name="Crowston 2014">{{harvtxt|Crowston|Fellows|Gutin|Jones|Kim|Rosamond|Ruzsa|Thomassé|Yeo|2014}}.</ref> proved the bound using linear algebra and analysis of pseudo-boolean functions.


The proof of Crowston et al. allows us to extend the Edwards-Erdős bound to the '''Balanced Subgraph Problem''' ('''BSP''') <ref name="Crowston 2014"/> on [[signed graphs]] {{math|1=''G'' = (''V'', ''E'', ''s'')}}, i.e. graphs where each edge is assigned + or –. For a partition of {{mvar|V}} into subsets {{mvar|U}} and {{mvar|W}}, an edge {{mvar|xy}} is balanced if either {{math|1=''s''(''xy'') = +}} and {{mvar|x}} and {{mvar|y}} are in the same subset, or {{math|1=''s''(''xy'') = –}} and {{mvar|x}} and {{mvar|y}} are different subsets. BSP aims at finding a partition with the maximum number {{math|''b''(''G'')}} of balanced edges in {{mvar|G}}. The Edwards-Erdős gives a lower bound on {{math|''b''(''G'')}} for every connected signed graph {{mvar|G}}.
Bound (a) was improved for special classes of graphs: triangle-free graphs, graphs of given maximum degree, {{mvar|H}}-free graphs, etc., see e.g.<ref>{{harvtxt|Alon|Krivelevich|Sudakov|2005}}.</ref><ref>{{harvtxt|Scott|2005}}.</ref><ref>{{harvtxt|Zeng|Hou|2017}}.</ref>

Poljak and Turzik<ref>{{harvtxt|Poljak|Turzik|1986}}.</ref> extended the Edwards-Erdős bound to weighted Max-Cut:
:<math>\frac{w(G)}{2}+\frac{w(T_{min})}{4},</math>
where {{math|''w''(''G'')}} and {{math|''w''(''T''{{sub|min}})}} are the weights of {{mvar|G}} and its minimum weight spanning tree {{math|''T''{{sub|min}}}}. Recently, Gutin and Yeo<ref>{{harvtxt|Gutin|Yeo|2021}}.</ref> obtained a number of lower bounds for weighted Max-Cut extending the Poljak-Turzik bound for arbitrary weighted graphs and bounds for special classes of weighted graphs.

==Computational complexity==
The following [[decision problem]] related to maximum cuts has been studied widely in [[theoretical computer science]]:
The following [[decision problem]] related to maximum cuts has been studied widely in [[theoretical computer science]]:


Line 19: Line 32:
:Given a graph ''G'', find a maximum cut.
:Given a graph ''G'', find a maximum cut.


The optimization variant is known to be NP-Hard.
==Polynomial-time algorithms==
The opposite problem, that of finding a [[minimum cut]] is known to be efficiently solvable via the [[Ford–Fulkerson algorithm]].


== Algorithms ==
As the Max-Cut Problem is NP-hard, no polynomial-time algorithms for Max-Cut in general graphs are known.
===Polynomial-time algorithms===
As the Max-Cut Problem is [[NP-hard]], no polynomial-time algorithms for Max-Cut in general graphs are known.


=== Planar graphs ===
However, in [[planar graph]]s, the Maximum-Cut Problem is dual to the [[route inspection problem]] (the problem of finding a shortest tour that visits each edge of a graph at least once), in the sense that the edges that do not belong to a maximum cut-set of a graph ''G'' are the duals of the edges that are doubled in an optimal inspection tour of the [[dual graph]] of ''G''. The optimal inspection tour forms a self-intersecting curve that separates the plane into two subsets, the subset of points for which the [[winding number]] of the curve is even and the subset for which the winding number is odd; these two subsets form a cut that includes all of the edges whose duals appear an odd number of times in the tour. The route inspection problem may be solved in polynomial time, and this duality allows the maximum cut problem to also be solved in polynomial time for planar graphs.<ref>{{harvtxt|Hadlock|1975}}.</ref> The Maximum-Bisection problem is known however to be NP-hard.<ref>{{harvtxt|Jansen|Karpinski|Lingas|Seidel|2005}}.</ref>
However, in [[planar graph]]s, the Maximum-Cut Problem is dual to the [[route inspection problem]] (the problem of finding a shortest tour that visits each edge of a graph at least once), in the sense that the edges that do not belong to a maximum cut-set of a graph ''G'' are the duals of the edges that are doubled in an optimal inspection tour of the [[dual graph]] of ''G''. The optimal inspection tour forms a self-intersecting curve that separates the plane into two subsets, the subset of points for which the [[winding number]] of the curve is even and the subset for which the winding number is odd; these two subsets form a cut that includes all of the edges whose duals appear an odd number of times in the tour. The route inspection problem may be solved in polynomial time, and this duality allows the maximum cut problem to also be solved in polynomial time for planar graphs.<ref>{{harvtxt|Hadlock|1975}}.</ref> The Maximum-Bisection problem is known however to be NP-hard.<ref>{{harvtxt|Jansen|Karpinski|Lingas|Seidel|2005}}.</ref>


==Approximation algorithms==
==Approximation algorithms==
The Max-Cut Problem is [[Constant-factor approximation algorithm|APX-hard]],<ref>{{harvtxt|Papadimitriou|Yannakakis|1991}} prove [[MaxSNP]]-completeness.</ref> meaning that there is no polynomial-time approximation scheme (PTAS), arbitrarily close to the optimal solution, for it, unless P = NP. Thus, every known polynomial-time approximation algorithm achieves an [[approximation ratio]] strictly less than one.
The Max-Cut Problem is [[Constant-factor approximation algorithm|APX-hard]],<ref>{{harvtxt|Papadimitriou|Yannakakis|1991}} prove [[MaxSNP]]-completeness.</ref> meaning that there is no polynomial-time approximation scheme (PTAS), arbitrarily close to the optimal solution, for it, unless P = NP. Thus, every known polynomial-time approximation algorithm achieves an [[approximation ratio]] strictly less than one.


There is a simple [[Randomized algorithm|randomized]] 0.5-[[approximation algorithm]]: for each vertex flip a coin to decide to which half of the partition to assign it.<ref>{{harvtxt|Mitzenmacher|Upfal|2005}}, Sect. 6.2.</ref><ref>{{harvtxt|Motwani|Raghavan|1995}}, Sect. 5.1.</ref> In expectation, half of the edges are cut edges. This algorithm can be [[derandomization|derandomized]] with the [[method of conditional probabilities]]; therefore there is a simple deterministic polynomial-time 0.5-approximation algorithm as well.<ref>{{harvtxt|Mitzenmacher|Upfal|2005}}, Sect. 6.3.</ref><ref>{{harvtxt|Khuller|Raghavachari|Young|2007}}.</ref> One such algorithm starts with an arbitrary partition of the vertices of the given graph <math>G = (V, E)</math> and repeatedly moves one vertex at a time from one side of the partition to the other, improving the solution at each step, until no more improvements of this type can be made. The number of iterations is at most <math>|E|</math> because the algorithm improves the cut by at least one edge at each step. When the algorithm terminates, at least half of the edges incident to every vertex belong to the cut, for otherwise moving the vertex would improve the cut. Therefore, the cut includes at least <math>|E|/2</math> edges.
There is a simple [[Randomized algorithm|randomized]] 0.5-[[approximation algorithm]]: for each vertex flip a coin to decide to which half of the partition to assign it.<ref>{{harvtxt|Mitzenmacher|Upfal|2005}}, Sect. 6.2.</ref><ref>{{harvtxt|Motwani|Raghavan|1995}}, Sect. 5.1.</ref> In expectation, half of the edges are cut edges. This algorithm can be [[derandomization|derandomized]] with the [[method of conditional probabilities]]; therefore there is a simple deterministic polynomial-time 0.5-approximation algorithm as well.<ref>{{harvtxt|Mitzenmacher|Upfal|2005}}, Sect. 6.3.</ref><ref>{{harvtxt|Khuller|Raghavachari|Young|2007}}.</ref> One such algorithm starts with an arbitrary partition of the vertices of the given graph <math>G = (V, E)</math> and repeatedly moves one vertex at a time from one side of the partition to the other, improving the solution at each step, until no more improvements of this type can be made. The number of iterations is at most <math>|E|</math> because the algorithm improves the cut by at least one edge at each step. When the algorithm terminates, at least half of the edges incident to every vertex belong to the cut, for otherwise moving the vertex would improve the cut. Therefore, the cut includes at least <math>|E|/2</math> edges.


The polynomial-time approximation algorithm for Max-Cut with the best known approximation ratio is a method by Goemans and Williamson using [[semidefinite programming]] and [[randomized rounding]] that achieves an approximation ratio <math>\alpha \approx 0.878</math>, where <math>\alpha = \tfrac{2}{\pi} \min_{0 \le \theta \le \pi} \tfrac{\theta}{1 - \cos \theta}</math>.<ref>{{harvtxt|Gaur|Krishnamurti|2007}}.</ref><ref>{{harvtxt|Ausiello|Crescenzi|Gambosi|Kann|2003}}
The polynomial-time approximation algorithm for Max-Cut with the best known approximation ratio is a method by Goemans and Williamson using [[semidefinite programming]] and [[randomized rounding]] that achieves an approximation ratio <math>\alpha \approx 0.878</math> where
<math>\alpha = \{2}{\pi} \min_{0 \le \theta \le \pi} \{\theta}{1- \cos \theta}</math><ref>{{harvtxt|Gaur|Krishnamurti|2007}}.</ref><ref>{{harvtxt|Ausiello|Crescenzi|Gambosi|Kann|2003}}

</ref> If the [[unique games conjecture]] is true, this is the best possible approximation ratio for maximum cut.<ref>{{harvtxt|Khot|Kindler|Mossel|O'Donnell|2007}}.</ref>
Without such unproven assumptions, it has been proven to be NP-hard to approximate the max-cut value with an approximation ratio better than <math>\tfrac{16}{17} \approx 0.941</math>.<ref>{{harvtxt|Håstad|2001}}</ref><ref>{{harvtxt|Trevisan|Sorkin|Sudan|Williamson|2000}}</ref>
Without such unproven assumptions, it has been proven to be NP-hard to approximate the max-cut value with an approximation ratio better than <math>\tfrac{16}{17} \approx 0.941</math>.<ref>{{harvtxt|Håstad|2001}}</ref><ref>{{harvtxt|Trevisan|Sorkin|Sudan|Williamson|2000}}</ref>


In <ref>{{harvtxt|Dunning|Gupta|Silberholz|2018}}</ref> there is an extended analysis of 10 heuristics for this problem, including open-source implementation.
In <ref>{{harvtxt|Dunning|Gupta|Silberholz|2018}}</ref> there is an extended analysis of 10 heuristics for this problem, including open-source implementation.

=== Parameterized algorithms and kernelization ===

While it is trivial to prove that the problem of finding a cut of size at least (the parameter) ''k'' is [[fixed-parameter tractable]] (FPT), it is much harder to show fixed-parameter tractability for the problem of deciding whether a graph ''G'' has a cut of size at least the Edwards-Erdős lower bound (see Lower bounds above) plus (the parameter)''k''. Crowston et al.<ref name="Crowston 2015">{{harvtxt|Crowston|Jones|Mnich|2015}}.</ref> proved that the problem can be solved in time <math>8^kO(n^4)</math> and admits a kernel of size <math>O(k^5)</math>. Crowston et al.<ref name="Crowston 2015"/> extended the fixed-parameter tractability result to the Balanced Subgraph Problem (BSP, see Lower bounds above) and improved the kernel size to <math>O(k^3)</math> (holds also for BSP). Etscheid and Mnich <ref>{{harvtxt|Etscheid|Mnich|2018}}.</ref> improved the fixed-parameter tractability result for BSP to <math>8^kO(m)</math> and the kernel-size result to <math>O(k)</math> vertices.

== Applications ==

=== Machine learning ===
Treating its nodes as [[Feature (machine learning)|features]] and its edges as distances, the max cut algorithm divides a graph in two well-separated subsets. In other words, it can be naturally applied to perform [[binary classification]]. Compared to more common classification algorithms, it does not require a feature space, only the distances between elements within.<ref>{{Cite book |last1=Boykov |first1=Y.Y. |last2=Jolly |first2=M.-P. |title=Proceedings Eighth IEEE International Conference on Computer Vision. ICCV 2001 |chapter=Interactive graph cuts for optimal boundary & region segmentation of objects in N-D images |year=2001 |volume=1 |pages=105–112 |chapter-url=http://dx.doi.org/10.1109/iccv.2001.937505 |publisher=IEEE Comput. Soc |doi=10.1109/iccv.2001.937505|isbn=0-7695-1143-0 |s2cid=2245438 }}</ref>

=== Theoretical physics ===
{{Main|Ising model}}
In [[statistical physics]] and [[Order and disorder|disordered systems]], the Max Cut problem is equivalent to minimizing the [[Hamiltonian mechanics|Hamiltonian]] of a [[spin glass]] model, most simply the [[Ising model]].<ref name=":0">{{Cite journal| last1=Barahona |first1= Francisco| last2=Grötschel|first2=Martin|last3=Jünger|first3=Michael|last4=Reinelt|first4=Gerhard|date=1988|title=An Application of Combinatorial Optimization to Statistical Physics and Circuit Layout Design|journal=Operations Research|volume=36|issue=3|pages=493–513|issn=0030-364X| jstor= 170992| doi=10.1287/opre.36.3.493}}</ref> For the Ising model on a graph G and only nearest-neighbor interactions, the Hamiltonian is

:<math>H[s] = -\sum_{ij\in E(G)} J_{ij}s_is_j</math>

Here each vertex ''i'' of the graph is a spin site that can take a spin value <math>s_i = \pm 1.</math> A spin configuration partitions <math>V(G)</math> into two sets, those with spin up <math>V^+</math> and those with spin down <math>V^-.</math> We denote with <math>\delta(V^+)</math> the set of edges that connect the two sets. We can then rewrite the Hamiltonian as

:<math>\begin{align}
H[s] &= -\sum_{ij\in E(V^+)} J_{ij} - \sum_{ij\in E(V^-)} J_{ij} + \sum_{ij\in \delta(V^+)} J_{ij} \\
&= -\sum_{ij \in E(G)} J_{ij} + 2 \sum_{ij\in \delta(V^+)} J_{ij} \\
&= C + 2 \sum_{ij\in \delta(V^+)} J_{ij}
\end{align}</math>

Minimizing this energy is equivalent to the min-cut problem or by setting the graph weights as <math>w_{ij} = -J_{ij},</math> the max-cut problem.<ref name=":0" />

=== Circuit design ===
The max cut problem has applications in [[Very Large Scale Integration|VLSI design]].<ref name=":0" />


==See also==
==See also==
*[[Minimum cut]]
*[[Minimum cut]]
*[[Minimum k-cut]]
*[[Minimum k-cut]]
*[[Odd cycle transversal]], equivalent to asking for the largest bipartite [[induced subgraph]]
*[[Unfriendly partition]], a related concept for infinite graphs


==Notes==
==Notes==
Line 44: Line 93:


==References==
==References==
*{{citation
| last1=Alon | first1=N.
| last2=Krivelevich | first2=M.
| last3=Sudakov | first3=B.
| title=Maxcut in ''H''-free graphs
| journal=[[Combin. Probab. Comput.]]
| volume=14
| year=2005
| pages=629–647
| doi=10.1017/S0963548305007017
| s2cid=123485000
}}.
*{{citation
*{{citation
| last1=Ausiello | first1=Giorgio
| last1=Ausiello | first1=Giorgio
Line 57: Line 118:
::Maximum cut (optimisation version) is the problem ND14 in Appendix B (page 399).
::Maximum cut (optimisation version) is the problem ND14 in Appendix B (page 399).
*{{citation
*{{citation
| last1=Garey | first1=Michael R. | authorlink1=Michael R. Garey
| last1= | first1=.
| last2=Johnson | first2=David S. | authorlink2=David S. Johnson
| last2= | first2=.
| last3=Tuza | first3=I.
| title=Maximum cuts: Improvements and local algorithmic analogues of the Edwards-Erd6s inequality
| journal=[[Discrete Math.]]
| volume=194
| year=1999
| pages=39–58
| doi=10.1016/S0012-365X(98)00115-0
| doi-access=free
}}.
*{{citation
| last1=Crowston | first1=R.
| last2=Fellows | first2=M.
| last3=Gutin | first3=G.
| last4=Jones | first4=M.
| last5=Kim | first5=E. J.
| last6=Rosamond | first6=F.
| last7=Ruzsa | first7=I. Z.
| last8=Thomassé | first8=S.
| last9=Yeo | first9=A.
| title=Satisfying more than half of a system of linear equations over GF(2): A multivariate approach
| journal=[[J. Comput. Syst. Sci.]]
| volume=80
| year=2014
| issue=4
| pages=687–696
| doi=10.1016/j.jcss.2013.10.002
| doi-access=free
}}.
*{{citation
| last1=Crowston | first1=R.
| last2=Gutin | first2=G.
| last3=Jones | first3=M.
| last4=Muciaccia | first4=G.
| title=Maximum balanced subgraph problem parameterized above lower bound
| journal=[[Theor. Comput. Sci.]]
| volume=513
| year=2013
| pages=53–64
| doi=10.1016/j.tcs.2013.10.026
| doi-access=free
| arxiv=1212.6848
}}.
*{{citation
| last1=Crowston | first1=R.
| last2=Jones | first2=M.
| last3=Mnich | first3=M.
| title=Max-cut parameterized above the Edwards–Erdős bound
| journal=[[Algorithmica]]
| volume=72
| year=2015
| issue=3
| pages=734–757
| doi=10.1007/s00453-014-9870-z
| s2cid=14973734
}}.
*{{citation
| last1=Dunning | first1=Iain
| last2=Gupta | first2=Swati
| last3=Silberholz | first3=John
| title=What works best when? A systematic evaluation of heuristics for Max-Cut and QUBO
| journal=INFORMS Journal on Computing
| volume=30 | issue=3 | year=2018
| pages=608–624
| doi=10.1287/ijoc.2017.0798 | s2cid=485706
}}.
*{{citation
| last=Edwards | first=C. S.
| title=Some extremal properties of bipartite subgraphs
| journal=[[Can. J. Math.]]
| volume=25
| year=1973
| issue=3
| pages=475–485
| doi=10.4153/CJM-1973-048-x
| s2cid=121925638
| doi-access=free
}}.
*{{citation
| last=Edwards | first=C. S.
| chapter=An improved lower bound for the number of edges in a largest bipartite subgraph
| title=Recent Advances in Graph Theory
| pages=167–181
| year=1975
}}.
*{{citation
| last1=Etscheid | first1=M.
| last2=Mnich | first2=M.
| title=Linear Kernels and Linear-Time Algorithms for Finding Large Cuts
| journal=[[Algorithmica]]
| volume=80
| year=2018
| issue=9
| pages=2574–2615
| doi=10.1007/s00453-017-0388-z
| s2cid=16301072
| doi-access=free
| hdl=11420/4693
| hdl-access=free
}}.
*{{citation
| last1=Garey | first1=Michael R. | author-link1=Michael R. Garey
| last2=Johnson | first2=David S. | author-link2=David S. Johnson
| year = 1979
| year = 1979
| title = [[Computers and Intractability: A Guide to the Theory of NP-Completeness]]
| title = Computers and Intractability: A Guide to the Theory of NP-Completeness
| publisher = W.H. Freeman
| publisher = W.H. Freeman
| isbn=0-7167-1045-5
| isbn=0-7167-1045-5
| title-link=Computers and Intractability: A Guide to the Theory of NP-Completeness }}.
}}.
::Maximum cut (decision version) is the problem ND16 in Appendix A2.2.
::Maximum cut (decision version) is the problem ND16 in Appendix A2.2.
::Maximum bipartite subgraph (decision version) is the problem GT25 in Appendix A1.2.
::Maximum bipartite subgraph (decision version) is the problem GT25 in Appendix A1.2.
Line 72: Line 235:
| title=Handbook of Approximation Algorithms and Metaheuristics
| title=Handbook of Approximation Algorithms and Metaheuristics
| editor-last=Gonzalez | editor-first=Teofilo F. | editor-link = Teofilo F. Gonzalez
| editor-last=Gonzalez | editor-first=Teofilo F. | editor-link = Teofilo F. Gonzalez
| publisher=Chapman &amp; Hall/CRC
| publisher=Chapman & Hall/CRC
| year=2007
| year=2007
}}.
}}.
Line 83: Line 246:
| issue=6
| issue=6
| year=1995
| year=1995
| pages=1115–1145
| pages=1115–1145
| doi=10.1145/227683.227684
| doi=10.1145/227683.227684
| s2cid=15794408 | doi-access=free}}.
}}.
*{{cite arXiv
| last1=Gutin | first1=G. | author1-link = Gregory Gutin
| last2=Yeo | first2=A.
| title=Lower Bounds for Maximum Weighted Cut
| year=2021
| eprint=2104.05536
| class=math.CO
| mode=cs2
}}.
*{{citation
*{{citation
| last=Hadlock | first=F.
| last=Hadlock | first=F.
Line 97: Line 269:
}}.
}}.
*{{citation
*{{citation
| last=Håstad | first=Johan | authorlink=Johan Håstad
| last=Håstad | first=Johan | =Johan Håstad
| title=Some optimal inapproximability results
| title=Some optimal inapproximability results
| journal=[[Journal of the ACM]]
| journal=[[Journal of the ACM]]
Line 105: Line 277:
| issue=4
| issue=4
| doi=10.1145/502090.502098
| doi=10.1145/502090.502098
| s2cid=5120748 }}.
}}.
*{{citation
*{{citation
| last1=Jansen | first1=Klaus
| last1=Jansen | first1=Klaus
| last2=Karpinski | first2=Marek | authorlink2=Marek Karpinski
| last2=Karpinski | first2=Marek | =Marek Karpinski
| last3=Lingas | first3=Andrzej
| last3=Lingas | first3=Andrzej
| last4=Seidel | first4=Eike
| last4=Seidel | first4=Eike
Line 116: Line 288:
| volume=35
| volume=35
| issue=1
| issue=1
| pages=110–119
| doi=10.1137/s009753970139567x
| doi=10.1137/s009753970139567x
| citeseerx=10.1.1.62.5082}}.
| citeseerx=10.1.1.62.5082}}.
*{{citation
*{{citation
| last=Karp | first=Richard M. | authorlink=Richard Karp
| last=Karp | first=Richard M. | =Richard Karp
| chapter=[[Reducibility among combinatorial problems]]
| chapter=[[Reducibility among combinatorial problems]]
| editor1-first=R. E. | editor1-last=Miller
| editor1-first=R. E. | editor1-last=Miller
Line 129: Line 302:
}}.
}}.
*{{citation
*{{citation
| last1=Khot | first1=Subhash |authorlink1=Subhash Khot
| last1=Khot | first1=Subhash |=Subhash Khot
| last2=Kindler | first2=Guy
| last2=Kindler | first2=Guy
| last3=Mossel | first3=Elchanan
| last3=Mossel | first3=Elchanan
| last4=O'Donnell | first4=Ryan
| last4=O'Donnell | first4=Ryan
| author4-link = Ryan O'Donnell (computer scientist)
| title=Optimal inapproximability results for MAX-CUT and other 2-variable CSPs?
| title=Optimal inapproximability results for MAX-CUT and other 2-variable CSPs?
| journal=[[SIAM Journal on Computing]]
| journal=[[SIAM Journal on Computing]]
Line 140: Line 314:
| pages=319–357
| pages=319–357
| doi=10.1137/S0097539705447372
| doi=10.1137/S0097539705447372
| s2cid=2090495 | url=https://repository.upenn.edu/statistics_papers/395 }}.
}}.
*{{citation
*{{citation
| last1=Khuller | first1=Samir
| last1=Khuller | first1=Samir
Line 148: Line 322:
| title=Handbook of Approximation Algorithms and Metaheuristics
| title=Handbook of Approximation Algorithms and Metaheuristics
| editor-last=Gonzalez | editor-first=Teofilo F.
| editor-last=Gonzalez | editor-first=Teofilo F.
| publisher=Chapman &amp; Hall/CRC
| publisher=Chapman & Hall/CRC
| year=2007
| year=2007
}}.
}}.
*{{citation
*{{citation
| last1=Mitzenmacher | first1=Michael | authorlink1=Michael Mitzenmacher
| last1=Mitzenmacher | first1=Michael | =Michael Mitzenmacher
| last2=Upfal | first2=Eli | authorlink2=Eli Upfal
| last2=Upfal | first2=Eli | =Eli Upfal
| title=Probability and Computing: Randomized Algorithms and Probabilistic Analysis
| title=Probability and Computing: Randomized Algorithms and Probabilistic Analysis
| publisher=Cambridge
| publisher=Cambridge
Line 159: Line 333:
}}.
}}.
*{{citation
*{{citation
| last1=Motwani | first1=Rajeev | authorlink1=Rajeev Motwani
| last1=Motwani | first1=Rajeev | =Rajeev Motwani
| last2=Raghavan | first2=Prabhakar
| last2=Raghavan | first2=Prabhakar
| title=Randomized Algorithms
| title=Randomized Algorithms
Line 173: Line 347:
| year=2008
| year=2008
| doi=10.1007/978-0-387-30162-4_219
| doi=10.1007/978-0-387-30162-4_219
| pages=1
| pages=
| isbn=978-0-387-30770-1
| isbn=978-0-387-30770-1
}}.
}}.
*{{citation
*{{citation
| last1=Papadimitriou | first1=Christos H. | authorlink1=Christos Papadimitriou
| last1=Papadimitriou | first1=Christos H. | =Christos Papadimitriou
| last2=Yannakakis | first2=Mihalis | authorlink2=Mihalis Yannakakis
| last2=Yannakakis | first2=Mihalis | =Mihalis Yannakakis
| title=Optimization, approximation, and complexity classes
| title=Optimization, approximation, and complexity classes
| journal=Journal of Computer and System Sciences
| journal=Journal of Computer and System Sciences
Line 186: Line 360:
| pages=425–440
| pages=425–440
| doi=10.1016/0022-0000(91)90023-X
| doi=10.1016/0022-0000(91)90023-X
| doi-access=free
}}.
*{{citation
| last1=Poljak | first1=S.
| last2=Turzik | first2=Z.
| title=A polynomial time heuristic for certain subgraph optimization problems with guaranteed worst case bound
| journal=Discrete Math.
| volume=58 | issue=1 | year=1986
| pages=99��104
| doi=10.1016/0012-365X(86)90192-5
| doi-access=free}}.
*{{citation
| last=Scott | first=A.
| title=Judicious partitions and related problems
| journal=Surveys in Combinatorics, London Mathematical Society Lecture Note Series
| volume=327
| year=2005
| pages=95–117
}}.
}}.
*{{citation
*{{citation
| last1=Trevisan | first1=Luca | authorlink=Luca Trevisan
| last1=Trevisan | first1=Luca | =Luca Trevisan
| last2=Sorkin | first2=Gregory
| last2=Sorkin | first2=Gregory
| last3=Sudan | first3=Madhu
| last3=Sudan | first3=Madhu
| last4=Williamson | first4=David
| last4=Williamson | first4=David
| title=Gadgets, Approximation, and Linear Programming
| title=Gadgets, Approximation, and Linear Programming
| journal=Proceedings of the 37th IEEE [[Symposium on Foundations of Computer Science]]
| journal=Proceedings of the 37th IEEE Symposium on Foundations of Computer Science
| year=2000
| year=2000
| pages=617–626
| pages=617–626
}}.
}}.
*{{citation
*{{citation
| last1=Dunning | first1=Iain | authorlink=Iain Dunning
| last1= | first1=
| last2=Gupta | first2=Swati
| last2= | first2=
| title=Bipartite Subgraphs of ''H''-free Graphs
| last3=Silberholz | first3=John
| journal=Bull. Aust. Math. Soc.
| title=What works best when? A systematic evaluatoin of heuristics for Max-Cut and QUBO
| volume=30 | issue=3 | year=2017
| journal=INFORMS Journal on Computing
| year=2018
| =
| doi=10.1017/S0004972716001295
| pages=608–624
}}.
}}.

==Further reading==
<!-- Applications of max-cut; could be used to expand the article: -->
* {{citation
|title=An application of combinatorial optimization to statistical physics and circuit layout design
|first1=Francisco|last1=Barahona
|first2=Martin|last2=Grötschel|author2-link= Martin Grötschel
|first3=Michael|last3=Jünger
|first4=Gerhard|last4=Reinelt
|journal=Operations Research
|volume=36
|issue=3
|year=1988
|pages=493–513
|doi=10.1287/opre.36.3.493
|jstor=170992
}}.


==External links==
==External links==
* Pierluigi Crescenzi, Viggo Kann, Magnús Halldórsson, Marek Karpinski, [[Gerhard J. Woeginger|Gerhard Woeginger]] (2000), [http://www.nada.kth.se/~viggo/wwwcompendium/node85.html "Maximum Cut"], in [http://www.nada.kth.se/~viggo/wwwcompendium/ "A compendium of NP optimization problems"].
* Pierluigi Crescenzi, Viggo Kann, Magnús Halldórsson, Marek Karpinski, [[Gerhard J. Woeginger|Gerhard Woeginger]] (2000), [http://www.nada.kth.se/~viggo/wwwcompendium/node85.html "Maximum Cut"], in [http://www.nada.kth.se/~viggo/wwwcompendium/ "A compendium of NP optimization problems"].
* Andrea Casini, Nicola Rebagliati (2012), [http://code.google.com/p/maxcutpy/ "A Python library for solving Max Cut"]
* Andrea Casini, Nicola Rebagliati (2012), [http://code.google.com/p/maxcutpy/ "A Python library for solving Max Cut"]



Latest revision as of 07:22, 9 May 2024

An example of a maximum cut

In 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 S and T, such that the number of edges between S and T is as large as possible. Finding such a cut is known as the max-cut problem.

The problem can be stated simply as follows. One wants a subset S of the vertex set such that the number of edges between S and the complementary subset is as large as possible. Equivalently, one wants a bipartite subgraph of the graph with as many edges as possible.

There is a more general version of the problem called weighted max-cut, where each edge is associated with a real number, its weight, and the objective is to maximize the total weight of the edges between S and its complement rather than the number of the edges. The weighted max-cut problem allowing both positive and negative weights can be trivially transformed into a weighted minimum cut problem by flipping the sign in all weights.

Lower bounds[edit]

Edwards[1][2] obtained the following two lower bound for Max-Cut on a graph G with n vertices and m edges (in (a) G is arbitrary, but in (b) it is connected):

(a)
(b)

Bound (b) is often called the Edwards-Erdős bound[3] as Erdős conjectured it. Edwards proved the Edwards-Erdős bound using probabilistic method; Crowston et al.[4] proved the bound using linear algebra and analysis of pseudo-boolean functions.

The proof of Crowston et al. allows us to extend the Edwards-Erdős bound to the Balanced Subgraph Problem (BSP) [4] on signed graphs G = (V, E, s), i.e. graphs where each edge is assigned + or –. For a partition of V into subsets U and W, an edge xy is balanced if either s(xy) = + and x and y are in the same subset, or s(xy) = – and x and y are different subsets. BSP aims at finding a partition with the maximum number b(G) of balanced edges in G. The Edwards-Erdős gives a lower bound on b(G) for every connected signed graph G. Bound (a) was improved for special classes of graphs: triangle-free graphs, graphs of given maximum degree, H-free graphs, etc., see e.g.[5][6][7]

Poljak and Turzik[8] extended the Edwards-Erdős bound to weighted Max-Cut:

where w(G) and w(Tmin) are the weights of G and its minimum weight spanning tree Tmin. Recently, Gutin and Yeo[9] obtained a number of lower bounds for weighted Max-Cut extending the Poljak-Turzik bound for arbitrary weighted graphs and bounds for special classes of weighted graphs.

Computational complexity[edit]

The following decision problem related to maximum cuts has been studied widely in theoretical computer science:

Given a graph G and an integer k, determine whether there is a cut of size at least k in G.

This problem is known to be NP-complete. It is easy to see that the problem is in NP: a yes answer is easy to prove by presenting a large enough cut. The NP-completeness of the problem can be shown, for example, by a reduction from maximum 2-satisfiability (a restriction of the maximum satisfiability problem).[10] The weighted version of the decision problem was one of Karp's 21 NP-complete problems;[11] Karp showed the NP-completeness by a reduction from the partition problem.

The canonical optimization variant of the above decision problem is usually known as the Maximum-Cut Problem or Max-Cut and is defined as:

Given a graph G, find a maximum cut.

The optimization variant is known to be NP-Hard. The opposite problem, that of finding a minimum cut is known to be efficiently solvable via the Ford–Fulkerson algorithm.

Algorithms[edit]

Polynomial-time algorithms[edit]

As the Max-Cut Problem is NP-hard, no polynomial-time algorithms for Max-Cut in general graphs are known.

Planar graphs[edit]

However, in planar graphs, the Maximum-Cut Problem is dual to the route inspection problem (the problem of finding a shortest tour that visits each edge of a graph at least once), in the sense that the edges that do not belong to a maximum cut-set of a graph G are the duals of the edges that are doubled in an optimal inspection tour of the dual graph of G. The optimal inspection tour forms a self-intersecting curve that separates the plane into two subsets, the subset of points for which the winding number of the curve is even and the subset for which the winding number is odd; these two subsets form a cut that includes all of the edges whose duals appear an odd number of times in the tour. The route inspection problem may be solved in polynomial time, and this duality allows the maximum cut problem to also be solved in polynomial time for planar graphs.[12] The Maximum-Bisection problem is known however to be NP-hard.[13]

Approximation algorithms[edit]

The Max-Cut Problem is APX-hard,[14] meaning that there is no polynomial-time approximation scheme (PTAS), arbitrarily close to the optimal solution, for it, unless P = NP. Thus, every known polynomial-time approximation algorithm achieves an approximation ratio strictly less than one.

There is a simple randomized 0.5-approximation algorithm: for each vertex flip a coin to decide to which half of the partition to assign it.[15][16] In expectation, half of the edges are cut edges. This algorithm can be derandomized with the method of conditional probabilities; therefore there is a simple deterministic polynomial-time 0.5-approximation algorithm as well.[17][18] One such algorithm starts with an arbitrary partition of the vertices of the given graph and repeatedly moves one vertex at a time from one side of the partition to the other, improving the solution at each step, until no more improvements of this type can be made. The number of iterations is at most because the algorithm improves the cut by at least one edge at each step. When the algorithm terminates, at least half of the edges incident to every vertex belong to the cut, for otherwise moving the vertex would improve the cut. Therefore, the cut includes at least edges.

The polynomial-time approximation algorithm for Max-Cut with the best known approximation ratio is a method by Goemans and Williamson using semidefinite programming and randomized rounding that achieves an approximation ratio where

[19][20]

If the unique games conjecture is true, this is the best possible approximation ratio for maximum cut.[21] Without such unproven assumptions, it has been proven to be NP-hard to approximate the max-cut value with an approximation ratio better than .[22][23]

In [24] there is an extended analysis of 10 heuristics for this problem, including open-source implementation.

Parameterized algorithms and kernelization[edit]

While it is trivial to prove that the problem of finding a cut of size at least (the parameter) k is fixed-parameter tractable (FPT), it is much harder to show fixed-parameter tractability for the problem of deciding whether a graph G has a cut of size at least the Edwards-Erdős lower bound (see Lower bounds above) plus (the parameter)k. Crowston et al.[25] proved that the problem can be solved in time and admits a kernel of size . Crowston et al.[25] extended the fixed-parameter tractability result to the Balanced Subgraph Problem (BSP, see Lower bounds above) and improved the kernel size to (holds also for BSP). Etscheid and Mnich [26] improved the fixed-parameter tractability result for BSP to and the kernel-size result to vertices.

Applications[edit]

Machine learning[edit]

Treating its nodes as features and its edges as distances, the max cut algorithm divides a graph in two well-separated subsets. In other words, it can be naturally applied to perform binary classification. Compared to more common classification algorithms, it does not require a feature space, only the distances between elements within.[27]

Theoretical physics[edit]

In statistical physics and disordered systems, the Max Cut problem is equivalent to minimizing the Hamiltonian of a spin glass model, most simply the Ising model.[28] For the Ising model on a graph G and only nearest-neighbor interactions, the Hamiltonian is

Here each vertex i of the graph is a spin site that can take a spin value A spin configuration partitions into two sets, those with spin up and those with spin down We denote with the set of edges that connect the two sets. We can then rewrite the Hamiltonian as

Minimizing this energy is equivalent to the min-cut problem or by setting the graph weights as the max-cut problem.[28]

Circuit design[edit]

The max cut problem has applications in VLSI design.[28]

See also[edit]

Notes[edit]

  1. ^ Edwards (1973).
  2. ^ Edwards (1975).
  3. ^ Bylka, Idzik & Tuza (1999).
  4. ^ a b Crowston et al. (2014).
  5. ^ Alon, Krivelevich & Sudakov (2005).
  6. ^ Scott (2005).
  7. ^ Zeng & Hou (2017).
  8. ^ Poljak & Turzik (1986).
  9. ^ Gutin & Yeo (2021).
  10. ^ Garey & Johnson (1979).
  11. ^ Karp (1972).
  12. ^ Hadlock (1975).
  13. ^ Jansen et al. (2005).
  14. ^ Papadimitriou & Yannakakis (1991) prove MaxSNP-completeness.
  15. ^ Mitzenmacher & Upfal (2005), Sect. 6.2.
  16. ^ Motwani & Raghavan (1995), Sect. 5.1.
  17. ^ Mitzenmacher & Upfal (2005), Sect. 6.3.
  18. ^ Khuller, Raghavachari & Young (2007).
  19. ^ Gaur & Krishnamurti (2007).
  20. ^ Ausiello et al. (2003)
  21. ^ Khot et al. (2007).
  22. ^ Håstad (2001)
  23. ^ Trevisan et al. (2000)
  24. ^ Dunning, Gupta & Silberholz (2018)
  25. ^ a b Crowston, Jones & Mnich (2015).
  26. ^ Etscheid & Mnich (2018).
  27. ^ Boykov, Y.Y.; Jolly, M.-P. (2001). "Interactive graph cuts for optimal boundary & region segmentation of objects in N-D images". Proceedings Eighth IEEE International Conference on Computer Vision. ICCV 2001. Vol. 1. IEEE Comput. Soc. pp. 105–112. doi:10.1109/iccv.2001.937505. ISBN 0-7695-1143-0. S2CID 2245438.
  28. ^ a b c Barahona, Francisco; Grötschel, Martin; Jünger, Michael; Reinelt, Gerhard (1988). "An Application of Combinatorial Optimization to Statistical Physics and Circuit Layout Design". Operations Research. 36 (3): 493–513. doi:10.1287/opre.36.3.493. ISSN 0030-364X. JSTOR 170992.

References[edit]

  • Alon, N.; Krivelevich, M.; Sudakov, B. (2005), "Maxcut in H-free graphs", Combin. Probab. Comput., 14: 629–647, doi:10.1017/S0963548305007017, S2CID 123485000.
  • Ausiello, Giorgio; Crescenzi, Pierluigi; Gambosi, Giorgio; Kann, Viggo; Marchetti-Spaccamela, Alberto; Protasi, Marco (2003), Complexity and Approximation: Combinatorial Optimization Problems and Their Approximability Properties, Springer.
Maximum cut (optimisation version) is the problem ND14 in Appendix B (page 399).
Maximum cut (decision version) is the problem ND16 in Appendix A2.2.
Maximum bipartite subgraph (decision version) is the problem GT25 in Appendix A1.2.

External links[edit]