En théorie des graphes et en algorithmique, une coupe maximum est une coupe contenant au moins autant d'arêtes que n'importe quelle autre coupe. Une extension de la définition consiste à considérer des poids associés aux arêtes. On considère alors la coupe ayant le poids total maximum.
Les coupes maximums sont des objets utiles notamment en physique théorique et en électronique. Mais elles sont surtout connues pour le problème algorithmique qui consiste à trouver une coupe maximum, appelé couramment MAX-CUT, un problème relativement bien étudié, notamment dans le contexte de l'approximation.
Définition de l'objet et remarques préliminaires
Coupes et poids
Étant donné un graphe, et des poids sur les arêtes, une coupe peut-être décrite comme un ensemble de sommets, et le poids de la coupe est alors la somme des poids des arêtes ayant une extrémité à l'intérieur de cet ensemble et l'autre à l'extérieur. Une coupe est maximum si son poids est maximum (parmi toutes les coupes).
Un cas particulier est celui de la coupe de cardinalité maximum, qui correspond à des poids égaux à 1. Dans ce cas le poids d'une coupe est simplement le nombre d'arêtes.
Remarques
Remarquons qu'a priori il peut y avoir plusieurs coupes maximums, c'est-à-dire plusieurs coupes différentes mais de même cardinal : le cardinal maximum.
On peut aussi considérer l'objet « jumeau » qui est la coupe minimum, et qui a des propriétés complètement différentes, par exemple la relation donnée par le théorème flot-max/coupe-min.
Une généralisation de l'objet est la k-coupe maximum : on considère alors non plus deux composantes mais k composantes[1].
Pour chaque arête du graphe, on considère l'équation . Le problème de la coupe maximum consiste alors à donner une affectation binaire aux variables , qui maximise le nombre d'équations vérifiées.
Un algorithme probabiliste très simple permet d'obtenir un ratio 1/2 : chaque nœud choisit indépendamment et uniformément de quel côté de la coupe il va être. Chaque arête a une probabilité 1/2 d'être dans la coupe, ainsi on obtient au moins la moitié de la valeur de la coupe maximum en espérance. Cet algorithme peut-être dérandomisé pour obtenir un algorithme déterministe, grâce à la méthode des probabilités conditionnelles(en)[9].
Une meilleure approximation peut être atteinte en faisant appel à des techniques plus élaborées. L'algorithme de Goemans et Williamson, permet d'atteindre un ratio , où plus exactement en utilisant l'optimisation semi-définie positive[10],[11]. Il est possible d'utiliser une approximation de la solution du problème SDP pour obtenir un algorithme plus rapide ; cette approximation utilise une forme de la méthode des poids multiplicatifs[12],[13].
Complexité et non-approximabilité
Le problème est difficile à approximer, plus précisément il est APX-hard[14]. En conséquence, il ne possède pas de PTAS, sauf si P=NP, mais il existe des algorithmes d'approximation ayant des ratios constants.
Subhash Khot, Guy Kindler, Elchanan Mossel et Ryan O'Donnell ont montré qu'en supposant la conjecture des jeux uniques (Unique Games Conjecture) l'approximation de Goemans et Williamson est optimale[15]. En supposant seulement que P est différent de NP, on obtient une limite à 16/17[16],[17].
L'une des applications est le modèle d'Ising, les sommets du graphe représentent les atomes et les arêtes représentent les interactions non négligeables. Chaque atome a un spin, up ou down, et les interactions définissent alors des poids. Les coupes maximums correspondent alors aux états d'énergie minimale[21],[22].
Problème de Pinter
Le problème de Pinter consiste à placer des fils des deux côtés d'une plaque, sans intersections, en minimisant le nombre de fils traversant la plaque[23]. Ce problème peut lui aussi être décrit comme un problème de coupe maximum[24].
Bibliographie
Ouvrages généraux
(en) Giorgio Ausiello, Pierluigi Crescenzi, Giorgio Gambosi, Viggo Kann, Alberto Marchetti-Spaccamela et Marco Protasi, Complexity and Approximation: Combinatorial Optimization Problems and Their Approximability Properties, Springer, f
Samir Khuller, Balaji Raghavachari et Neal E. Young, « Greedy methods », dans Handbook of Approximation Algorithms and Metaheuristics, Chapman, .
Michael Mitzenmacher et Eli Upfal, Probability and Computing: Randomized Algorithms and Probabilistic Analysis, Cambridge, .
(en) Subhash Khot, Guy Kindler, Elchanan Mossel et Ryan O'Donnell, « Optimal inapproximability results for MAX-CUT and other 2-variable CSPs? », SIAM Journal on Computing, vol. 37, no 1, , p. 319-357 (DOI10.1137/S0097539705447372)
Sur les applications
Frédéric Meunier et Andras Sebo, « Parcours et coupes », dans Graphes et applications-vol. 2, JC Fournier, (lire en ligne)
Notes et références
(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Maximum cut » (voir la liste des auteurs).
↑Richard M. Karp, « Reducibility among combinatorial problems », dans Complexity of Computer Computation, Plenum Press, , p. 85-103
↑Hans Bodlaender et Klaus Jansen, « On the complexity of the maximum cut problem », dans STACS 94, , p. 769-780
↑(en) F. Hadlock, « Finding a Maximum Cut of a Planar Graph in Polynomial Time », SIAM Journal on Computing, vol. 4, , p. 221–225 (DOI10.1137/0204019, lire en ligne)
↑Voir l'article suivant, notamment pour la définition précise de "dense" : (en) Wenceslas Fernandez de la Vega et Marek Karpinski, « Polynomial time approximation of dense weighted instances of MAX-CUT », Random Structures and Algorithms, John Wiley \& Sons, Inc., vol. 16, no 4, , p. 314-332.
↑(en) Teofilo F. Gonzalez, Daya Ram Gaur et Ramesh Krishnamurti, Handbook of Approximation Algorithms and Metaheuristics, Chapman & Hall/CRC, (lire en ligne), « LP rounding and extensions », section 4.10.1
↑Sanjeev Arora, Elad Hazan et Satyen Kale, « The Multiplicative Weights Update Method: a Meta-Algorithm and Applications », Theory of Computing, vol. 8, no 1, , p. 121-164 (lire en ligne).
↑Philip N. Klein et Hsueh-I Lu, « Efficient Approximation Algorithms for Semidefinite Programs Arising from MAX CUT and COLORING », dans Proceedings of the Twenty-Eighth Annual {ACM} Symposium on the Theory of Computing, Philadelphia, Pennsylvania, USA, May 22-24, 1996, (DOI10.1145/237814.237980), p. 338-347
↑(en) Subhash Khot, Guy Kindler, Elchanan Mossel et Ryan O'Donnell, « Optimal inapproximability results for MAX-CUT and other 2-variable CSPs? », SIAM Journal on Computing, vol. 37, no 1, , p. 319-357 (DOI10.1137/S0097539705447372).
↑Sanjeev Arora, David R. Karger et Marek Karpinski, « Polynomial Time Approximation Schemes for Dense Instances of NP-Hard Problems », J. Comput. Syst. Sci., vol. 58, no 1, , p. 193-210
↑Michael Kapralov, Sanjeev Khanna et Madhu Sudan, « Streaming Lower Bounds for Approximating {MAX-CUT} », dans Proceedings of the Twenty-Sixth Annual ACM-SIAM Symposium on Discrete Algorithms, (SODA) San Diego, CA, USA, January 4-6, 2015,, (lire en ligne), p. 1263-1282
↑Voir (en) Francisco Barahona, Martin Grötschel, Michael Jünger et Gerhard Reinelt, « An application of combinatorial optimization to statistical physics and circuit layout design », Operations Research, vol. 36, no 3, , p. 493-513 (DOI10.1287/opre.36.3.493, JSTOR170992).
↑Cette application est tirée de (Meunier et Sebo 2007), qui contient une explication plus complète.
↑Cette application a été décrite pour la première fois dans : (en) Francisco Barahona, R Maynard, R Rammal et JP Uhry, « Morphology of ground states of two-dimensional frustration model », Journal of Physics A: Mathematical and General, vol. 15, no 2, , p. 673
↑Voir Ron Yair Pinter, « Optimal layer assignment for interconnect », Journal of VLSI and computer systems, Computer Science Press, vol. 1, no 2, , p. 123-137.
↑Voir (Meunier et Sebo 2007). La dénomination "problème de Pinter", provient elle aussi de ce document.