En théorie des graphes, un couplage ou appariement (en anglais matching) d'un graphe est un ensemble d'arêtes de ce graphe qui n'ont pas de sommets en commun.
Définitions
Soit un graphe simple non orienté G = (S, A) (où S est l'ensemble des sommets et A l'ensemble des arêtes, qui sont certaines paires de sommets), un couplage M est un ensemble d'arêtes deux à deux non adjacentes. C'est-à-dire que M est une partie de l'ensemble A des arêtes telle que
Un couplage maximum est un couplage contenant le plus grand nombre possible d'arêtes. Un graphe peut posséder plusieurs couplages maximum. Les images suivantes montrent (en rouge) des couplages maximums.
Un couplage maximal est un couplage M du graphe tel que toute arête du graphe possède au moins une extrémité commune avec une arête de M. Ceci équivaut à dire dans l'ensemble des couplages du graphe, M est maximal au sens de l'inclusion, i.e. que pour toute arête a de A qui n'est pas dans M, n'est plus un couplage de G. Les images suivantes montrent des couplages maximaux.
Un couplage parfait ou couplage complet est un couplage M du graphe tel que tout sommet du graphe est incident à exactement une arête de M.
Propriétés et théorèmes
Un graphe, même fini, ne possède pas toujours de couplage parfait (en particulier, un graphe ayant un nombre impair de sommets ne peut avoir un couplage parfait). Tout couplage parfait est maximum et tout couplage maximum est maximal (mais les réciproques sont fausses).
Il est possible de trouver un couplage de cardinal maximum en temps polynomial dans un graphe quelconque grâce à l'algorithme d'Edmonds[2]. Le cas particulier des graphes bipartis peut être résolu en utilisant des chemins augmentants, ou par l'algorithme de Hopcroft-Karp. Des heuristiques plus rapides et plus simples ont aussi été étudiées, avec des ratios d'approximation un peu meilleurs que le 1/2 obtenu pour n'importe quel couplage maximal[3].
Étant donné un graphe biparti dont les arêtes sont valuées, le problème qui consiste à trouver un couplage de cardinal maximum et de poids minimum (ou couplage parfait de poids minimum) est appelé problème d'affectation. Il existe plusieurs algorithmes pour ce problème dont l'algorithme hongrois.
Applications
Un couplage peut être utilisé dans les problèmes d'affectation des tâches et ce pour avoir une efficacité maximale, par exemple, chaque tâche est attribuée à une seule machine ou vice versa. La recherche d'un couplage maximum dans un graphe biparti est d'ailleurs appelé le problème d'affectation.
Les couplages peuvent aussi être utilisés pour la publicité en ligne ciblée[4] et pour la comparaison de structure de protéines[5].
↑(en) Bonnie Berger, Rohit Singh et Jinbo Xu, « Graph algorithms for biological systems analysis », dans Proceedings of the Nineteenth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2008, San Francisco, California, USA, January 20-22, 2008, , p. 142-151.
Bibliographie
László Lovász et Michael D. Plummer, Matching Theory, North Holland (Elsevier), coll. « Annals of Discrete Mathematics » (no 29), , 543 p. (ISBN9780080872322, présentation en ligne).