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 advanced 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.
- 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 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 transformation from maximum 2-satisfiability (a restriction of the maximum satisfiability problem). The weighted version of the decision problem was one of Karp's 21 NP-complete problems; 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 problem and is defined as:
- Given a graph G, find a maximum cut.
As the max-cut problem is NP-hard, no polynomial-time algorithms for max-cut in general graphs are known.
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 exactly once), in the sense that the edges that do not belong to a maximum cut 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.
The max-cut problem is APX-hard, meaning that there is no polynomial-time approximation scheme (PTAS), arbitrarily close to the optimal solution, for it, unless P = NP. Thus, every 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. 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. 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 . It has been shown by Khot et al. that, if the unique games conjecture is true, then this is the best possible approximation ratio for maximum cut. Without such unproven assumptions, it has been proven to be NP-hard to approximate the max-cut value with an approximation ratio better than .
Maximum bipartite subgraph
Let be a graph and let be a bipartite subgraph of G. Then there is a partition (S, T) of V such that each edge in X has one endpoint in S and another endpoint in T. Put otherwise, there is a cut in H such that the set of cut edges contains X. Therefore there is a cut in G such that the set of cut edges is a superset of X.
Conversely, let be a graph and let X be a set of cut edges. Then is a bipartite subgraph of H.
In summary, if there is a bipartite subgraph with k edges, there is a cut with at least k cut edges, and if there is a cut with k cut edges, there is a bipartite subgraph with k edges. Therefore the problem of finding a maximum bipartite subgraph is essentially the same as the problem of finding a maximum cut. The same results on NP-hardness, inapproximability and approximability apply to both the maximum cut problem and the maximum bipartite subgraph problem.
- Garey & Johnson (1979).
- Karp (1972).
- Hadlock (1975).
- Papadimitriou & Yannakakis (1991) prove MaxSNP-completeness.
- Mitzenmacher & Upfal (2005), Sect. 6.2.
- Motwani & Raghavan (1995), Sect. 5.1.
- Mitzenmacher & Upfal (2005), Sect. 6.3.
- Khuller, Raghavachari & Young (2007).
- Gaur & Krishnamurti (2007).
- Ausiello et al. (2003)
- Khot et al. (2007).
- Håstad (2001)
- Trevisan et al. (2000)
- Newman (2008).
- 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).
- Garey, Michael R.; Johnson, David S. (1979), Computers and Intractability: A Guide to the Theory of NP-Completeness, W.H. Freeman, ISBN 0-7167-1045-5.
- 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.
- Gaur, Daya Ram; Krishnamurti, Ramesh (2007), "LP rounding and extensions", in Gonzalez, Teofilo F., Handbook of Approximation Algorithms and Metaheuristics, Chapman & Hall/CRC.
- Goemans, Michel X.; Williamson, David P. (1995), "Improved approximation algorithms for maximum cut and satisfiability problems using semidefinite programming", Journal of the ACM 42 (6): 1115–1145, doi:10.1145/227683.227684.
- Hadlock, F. (1975), "Finding a Maximum Cut of a Planar Graph in Polynomial Time", SIAM J. Comput. 4 (3): 221–225, doi:10.1137/0204019.
- Håstad, Johan (2001), "Some optimal inapproximability results", Journal of the ACM 48 (4): 798–859, doi:10.1145/502090.502098.
- Karp, Richard M. (1972), "Reducibility among combinatorial problems", in Miller, R. E.; Thacher, J. W., Complexity of Computer Computation, Plenum Press, pp. 85–103.
- Khot, Subhash; Kindler, Guy; Mossel, Elchanan; O'Donnell, Ryan (2007), "Optimal inapproximability results for MAX-CUT and other 2-variable CSPs?", SIAM Journal on Computing 37 (1): 319–357, doi:10.1137/S0097539705447372.
- Khuller, Samir; Raghavachari, Balaji; Young, Neal E. (2007), "Greedy methods", in Gonzalez, Teofilo F., Handbook of Approximation Algorithms and Metaheuristics, Chapman & Hall/CRC.
- Mitzenmacher, Michael; Upfal, Eli (2005), Probability and Computing: Randomized Algorithms and Probabilistic Analysis, Cambridge.
- Motwani, Rajeev; Raghavan, Prabhakar (1995), Randomized Algorithms, Cambridge.
- Newman, Alantha (2008), "Max cut", in Kao, Ming-Yang, Encyclopedia of Algorithms, Springer, p. 1, doi:10.1007/978-0-387-30162-4_219, ISBN 978-0-387-30770-1.
- Papadimitriou, Christos H.; Yannakakis, Mihalis (1991), "Optimization, approximation, and complexity classes", Journal of Computer and System Sciences 43 (3): 425–440, doi:10.1016/0022-0000(91)90023-X.
- Trevisan, Luca; Sorkin, Gregory; Sudan, Madhu; Williamson, David (2000), "Gadgets, Approximation, and Linear Programming", Proceedings of the 37th IEEE Symposium on Foundations of Computer Science: 617–626.