Couplage
Cours inspiré des cours intégrés dispensés par Nicolas Hanusse et du polycopié de Denis Lapoire.
Le problème posé à l'aviation britannique durant la bataille d'Angleterre était de former un nombre maximum de couples de pilotes parmi un ensemble de pilotes venant des quatre coins du monde. On confiait à deux pilotes les commandes d'un avion à l'unique condition qu'ils partagent une même langue. Un grand nombre de pilotes parlaient plusieurs langues.
Ce problème se formalise aisément en un problème de graphes, qui a pour nom le problème du couplage maximum.
Définition
Les graphes que nous considérerons dans ce chapitre sont non orientés. Afin de simplifier l'étude, nous pourrons supposer qu'ils sont dépourvus de boucle.
Un couplage d'un graphe non orienté est un ensemble d'arêtes 2 à 2 non adjacentes et qui ne soient pas des boucles. Un sommet est saturé dans un couplage s'il est incident à l'une des arêtes de . Un couplage est :
- maximum s'il est de cardinalité maximale parmi tous les couplages ;
- parfait si tout sommet est saturé.
Le problème du couplage maximum peut ainsi être formalisé.
Première caractérisation d'un couplage maximum
Une condition suffisante pour qu'un couplage ne soit pas maximum est l'existence de deux sommets insaturés adjacents, voire l'existence de deux sommets insaturés reliés par un chemin alternant des arêtes du couplage et des arêtes n'appartenant pas à ce couplage. Une propriété remarquable des couplages est que cette condition est non seulement suffisante mais aussi nécessaire. Cette section est consacrée à cette caractérisation.
Un chemin alterné relativement à un couplage d'un graphe est un chemin élémentaire à extrémités distinctes tel que pour toute arête de et pour toute arête succédant immédiatement sur on ait . Un chemin alterné est augmentant relativement à si ses deux extrémités sont insaturées par .
La différence symétrique de deux ensembles et est notée .
Soit un chemin alterné relativement à un couplage d'un graphe . Si chaque extrémité de est soit insaturée, soit incidente à une arête de appartenant à , alors est un couplage de .
Si et sont deux couplages d'un graphe , alors chaque composante connexe du graphe partiel engendré par est de l'un des trois types suivants :
- un sommet isolé ;
- un cycle élémentaire pair à arêtes alternativement dans et ;
- un chemin élémentaire à arêtes alternativement dans et .
Théorème (Berge) : Pour tout couplage d'un graphe , les deux assertions suivantes sont équivalentes :
- est maximum ;
- il n'existe aucun chemin alterné augmentant relativement à .
Caractérisation algorithmique
La solution algorithmique requiert la définition de ce qu'est un arbre alterné, extension aux arbres de la notion d'alternance définie sur les chemins.
Un arbre alterné selon un graphe et un couplage de est un triplet tel que :
- est un arbre qui est sous-graphe de ;
- est un sommet de appelé sa racine, et est insaturé selon ;
- toute feuille de est paire, c'est-à-dire à distance paire de ;
- tout sommet pair de autre que la racine est adjacent à son père (impair) selon une arête de .
Afin de simplifier les énoncés, un graphe muni d'un de ses couplages sera appelé un graphe couplé, un graphe muni d'un de ses couplages et d'un arbre alterné sera appelé un graphe couplé arboré.
Pour résoudre le problème Couplage maximum, on utilise deux fonctions auxiliaires CMC et CMCA résolvant les deux problèmes suivants :
Couplage Maximum d'un graphe couplé
Entrée : un graphe couplé (G,J)
Sortie : un couplage maximum K de G tel que K != J => |K| > |J|
Couplage Maximum d'un graphe couplé arboré
Entrée : un graphe couplé arboré (G,J,T)
Sortie : un couplage maximum K de G tel que K != J => |K| > |J|
Le lien entre ces problèmes est immédiat :
- une définition de CM résolvant Couplage Maximum est simplement :
fonction CM(G:graphe):couplage
retourner CMC(G, ∅)
- une définition de CMC résolvant Couplage Maximum d'un graphe couplé est simplement :
fonction CMC((G,K):graphe couplé):couplage
si il existe au plus un sommet insaturé selon K
retourner K
sinon
r = insaturé(G,K)
T = arbreAlterné1Sommet(r)
retourner CMCA(G,K,T)
L'écriture de CMCA nécessite quelques notations et définitions préalables.
Le graphe obtenu à partir d'un graphe en fusionnant une partie de sommets en un seul sommet est noté dans cette section . On suppose en outre que les boucles sont supprimées.
Le sous-graphe d'un graphe induit par un ensemble de sommets est noté . L'expression dénote le sous-graphe .
Une orbite d'un graphe couplé arboré est une arête incidente à deux sommets pairs de . Soit l'ensemble des sommets de l'unique cycle élémentaire du graphe augmenté de l'arête . Nous noterons :
- le graphe obtenu à partir de en fusionnant tous les sommets de (c'est-à-dire ) ;
- le couplage obtenu à partir de en supprimant toutes les arêtes dont les deux extrémités appartiennent à . Clairement, est un couplage de ;
- l'arbre obtenu à partir de en fusionnant tous les sommets de (c'est-à-dire ). Clairement, est un arbre alterné de .
La suite du cours (définition de CMCA, qui contracte les orbites jusqu'à trouver un chemin augmentant, principe de l'algorithme d'Edmonds) n'a pas été reprise dans ces notes.