9 mars 2007 Cours de graphes 6 - Intranet 1
Cours de graphesChemins d’Euler.
Chemins de Hamilton.
Couplages.
9 mars 2007 Cours de graphes 6 - Intranet 2
Les grandes lignes du cours• Définitions de base• Connexité• Les plus courts chemins• Dijkstra et Bellmann-Ford• Arbres• Arbres de recouvrement minimaux • Problèmes de flots• Coloriage de graphes, graphes
planaires• Couplage• Chemins d’Euler et de Hamilton• Problèmes NP-complets
9 mars 2007 Cours de graphes 6 - Intranet 3
Chemins d’Euler-----------------------------------------------------------------
C H E M I N S
E T
C Y C L E S
D’ E U L E R ! ! !
9 mars 2007 Cours de graphes 6 - Intranet 4
Chemins d’Euler-----------------------------------------------------------------
• L’origine historique :– La Pregel et les ponts à Königsberg ( Kaliningrad ) !
– Pouvons-nous trouver un chemin qui traverse chaque pont une et une seule fois ?
– Si oui, les points de départ et d’arrivée coïncident-ils ?
9 mars 2007 Cours de graphes 6 - Intranet 5
Chemins d’Euler-----------------------------------------------------------------
• En termes de graphes :– Nous avons un multi-graphe !
– Pouvons-nous trouver un chemin qui passe une et une seule fois par chaque arête ? ( couverture des arêtes )
– Si oui, le chemin est-il un cycle ?
9 mars 2007 Cours de graphes 6 - Intranet 6
Chemins d’Euler-----------------------------------------------------------------
• Nous pouvons passer d’un multi-graphe à un graphe simple :– Il suffit de matérialiser un pont par un sommet !
– Nous conservons le même problème en termes de couverture des arêtes !
9 mars 2007 Cours de graphes 6 - Intranet 7
Chemins d’Euler-----------------------------------------------------------------
• La « maison de Nicolas » :– Pouvons-nous dessiner la figure suivante d’un seule trait
et sans lever le crayon ?
– La réponse est OUI !
1
2 3
45
6
7
8D A
A et D sont lesseuls sommets
de degré impair !
Le point de départest l’un de ceux-ci et
le point d’arrivée l’autre.
9 mars 2007 Cours de graphes 6 - Intranet 8
Chemins d’Euler-----------------------------------------------------------------
L E T H E O R E M E
D’ E U L E R
S U R L E S
C H E M I N S ! ! !
9 mars 2007 Cours de graphes 6 - Intranet 9
Chemins d’Euler-----------------------------------------------------------------
• Le théorème d’Euler (1736) :
– Un multi-graphe possède un chemin d’Euler si et seulement si tous ses sommets, sauf peut-être deux, sont de degré pair !
– Les sommets de degré impair, s’ils existent, sont les points de départ et d’arrivée !
– Si tous les sommets sont de degré pair, et seulement dans ce cas, le chemin d’Euler est un cycle d’Euler !
• Remarque :
– Nous conservons le même résultat si nous transformons un multi-graphe en un graphe simple, car les sommets auxiliaires ( les ponts ) sont de degré 2 !
9 mars 2007 Cours de graphes 6 - Intranet 10
Preuve du théorème d’Euler-----------------------------------------------------------------
• Admettons l’existence d’un chemin ou d’un cycle d’Euler et déduisons-en les propriétés sur les degrés !
– Soit le chemin d’Euler suivant :
– Si « u » est différent de « v », le sommet « u » intervient avec un degré impair dans le chemin !
– Si « u » est différent de « v », le sommet « v » intervient avec un degré impair dans le chemin !
– Si « u » et « v » sont identiques, c’est-à-dire en présence d’un cycle, le sommet « u » intervient avec un degré pair !
– Tout autre sommet « w » intervient avec un degré pair dans le chemin d’Euler !
– Le chemin ou cycle d’Euler contient toutes les arêtes du graphe, d’où le résultat annoncé !
u v. . . . . .w
9 mars 2007 Cours de graphes 6 - Intranet 11
Preuve du théorème d’Euler-----------------------------------------------------------------
• Admettons les conditions de parité sur les degrés et déduisons-en l’existence d’un chemin ou cycle d’Euler !
• Si tous les sommets du graphe G sont de degré pair :
– En enlevant une arête ( u , v ) nous obtenons un graphe G’ dont exactement deux arêtes sont de degré impair !
– Par application de la seconde partie du théorème ( celle qui est à venir ), nous déduisons que G’ admet un chemin d’Euler qui commence en « u » et se termine en « v » !
– En insérant à nouveau l’arête ( u , v ) nous obtenons le cycle d’Euler annoncé !
9 mars 2007 Cours de graphes 6 - Intranet 12
Preuve du théorème d’Euler-----------------------------------------------------------------
• Admettons les conditions de parité sur les degrés et déduisons-en l’existence d’un chemin ou cycle d’Euler !
• Si « u » et « v » sont les seuls sommets de degré impair :– Nous choisissons une arête ( u , w ) et nous la
supprimons pour obtenir un graphe G’ !– Admettons d’abord que G’ est connexe !– Si v = w , tous les sommets de G’ sont pairs et il existe
un cycle d’Euler ( v ; v ) ! Et donc un chemin d’Euler ( u , v ;
v ) !
( Cas A )
9 mars 2007 Cours de graphes 6 - Intranet 13
Preuve du théorème d’Euler-----------------------------------------------------------------
u v
u et v sont au départde degrés impairs !
La suppression del’arête ( u , v ) les
rend de degrés pairs !
Par hypothèse sur le nombre d’arêtes, et vu que tousles sommets sont de degrés pairs, il existe un cycle
d’Euler avec v comme point de départ et d’arrivée !
9 mars 2007 Cours de graphes 6 - Intranet 14
Preuve du théorème d’Euler-----------------------------------------------------------------
• Admettons les conditions de parité sur les degrés et déduisons-en l’existence d’un chemin ou cycle d’Euler !
• Si « u » et « v » sont les seuls sommets de degré impair :– Nous choisissons une arête ( u , w ) et nous la
supprimons pour obtenir un graphe G’ !– Admettons d’abord que G’ est connexe !– Si v = w , tous les sommets de G’ sont pairs et il existe
un cycle d’Euler ( v ; v ) ! Et donc un chemin d’Euler ( u , v ;
v ) ! – Si v = w , v et w sont les seuls sommets dans G’ de
degré impair ! Il existe donc dans G’ un chemin d’Euler ( w ;
v ) ! Et du coup un chemin d’Euler ( u , w ; v ) dans G !
/
( Cas A )
9 mars 2007 Cours de graphes 6 - Intranet 15
Preuve du théorème d’Euler-----------------------------------------------------------------
u v
u et v sont au départde degrés impairs
et w de degré pair !
wLa suppression de l’arête ( u , w )donne à u de degré pair et à v et w des degrés impairs !
Par hypothèse sur le nombre d’arêtes, et vu que v et wsont les seuls sommets de degrés impairs, il existe un
chemin d’Euler avec w comme départ et v comme arrivée !
9 mars 2007 Cours de graphes 6 - Intranet 16
Preuve du théorème d’Euler-----------------------------------------------------------------
• Admettons les conditions de parité sur les degrés et déduisons-en l’existence d’un chemin ou cycle d’Euler !
• Si « u » et « v » sont les seuls sommets de degré impair :– Nous choisissons une arête ( u , w ) et nous la
supprimons pour obtenir un graphe G’ !– Admettons d’abord que G’ est connexe !– Si v = w , tous les sommets de G’ sont pairs et il existe
un cycle d’Euler ( v ; v ) ! Et donc un chemin d’Euler ( u , v ;
v ) ! – Si v = w , v et w sont les seuls sommets dans G’ de
degré impair ! Il existe donc dans G’ un chemin d’Euler ( w ;
v ) ! Et du coup un chemin d’Euler ( u , w ; v ) dans G !
/
( Cas A )
9 mars 2007 Cours de graphes 6 - Intranet 17
Preuve du théorème d’Euler-----------------------------------------------------------------
• Admettons les conditions de parité sur les degrés et déduisons-en l’existence d’un chemin ou cycle d’Euler !
• Si « u » et « v » sont les seuls sommets de degré impair :– Nous choisissons une arête ( u , w ) et nous la
supprimons pour obtenir un graphe G’ !– Admettons maintenant que G’ n’est plus connexe !– Nous avons les composantes connexes CC( u ) et CC( w )
!
( Cas B )
CC( u ) CC( w )u w
On l’appelleun « isthme » !
v
9 mars 2007 Cours de graphes 6 - Intranet 18
Preuve du théorème d’Euler-----------------------------------------------------------------
• Admettons les conditions de parité sur les degrés et déduisons-en l’existence d’un chemin ou cycle d’Euler !
• Si « u » et « v » sont les seuls sommets de degré impair :– Nous choisissons une arête ( u , w ) et nous la
supprimons pour obtenir un graphe G’ !– Admettons maintenant que G’ n’est plus connexe !– Nous avons les composantes connexes CC( u ) et CC( w )
!
– Lemme : La somme des degrés des sommets d’un graphe (connexe) est paire ! Donc, le nombre de sommets de degrés impairs est paire ! ! !
( Cas B )
9 mars 2007 Cours de graphes 6 - Intranet 19
Preuve du théorème d’Euler-----------------------------------------------------------------
• Admettons les conditions de parité sur les degrés et déduisons-en l’existence d’un chemin ou cycle d’Euler !
• Si « u » et « v » sont les seuls sommets de degré impair :– Nous choisissons une arête ( u , w ) et nous la
supprimons pour obtenir un graphe G’ !– Admettons maintenant que G’ n’est plus connexe !– Nous avons les composantes connexes CC( u ) et CC( w )
!CC( u ) CC( w )
u wOn l’appelle
un « isthme » !
( Cas B )
vTouspairs !
Deuximpairs
ou tous pairs !
9 mars 2007 Cours de graphes 6 - Intranet 20
Preuve du théorème d’Euler-----------------------------------------------------------------
• Admettons les conditions de parité sur les degrés et déduisons-en l’existence d’un chemin ou cycle d’Euler !
• Si « u » et « v » sont les seuls sommets de degré impair :– Nous choisissons une arête ( u , w ) et nous la
supprimons pour obtenir un graphe G’ !– Admettons maintenant que G’ n’est plus connexe !– Nous avons les composantes connexes CC( u ) et CC( w )
!– Les sommets de CC( u ) sont pairs, d’où le circuit d’Euler (
u ; u ).– CC( w ) possède 0 ( v = w ) ou 2 ( v = w ) sommets de
degrés impairs et il existe un chemin d’Euler ( w ; v ) !– On a donc le chemin d’Euler ( u ; u , w ; v ) , comme
annoncé !
/
( Cas B )
9 mars 2007 Cours de graphes 6 - Intranet 21
Construction d’un chemin d’Euler-----------------------------------------------------------------
L A C O N S T R U C T I O N
D ‘ U N
C H E M I N
D’ E U L E R ! ! !
9 mars 2007 Cours de graphes 6 - Intranet 22
Construction d’un chemin d’Euler-----------------------------------------------------------------
• Supposons données les conditions de parité sur les degrés !
• Si tous les sommets sont de degré pair, nous enlevons une arête ( u , v ) et nous construisons le chemin d’Euler ( u ; v ) !
• Nous considérons un sommet courant « s » à partir duquel nous continuons le chemin ! Au début, nous choisissons pour « s » un des deux sommets impairs du graphe !
• Si « s » est identique à « v » et qu’il est isolé, nous avons fini !
• Si « s » n’a que le seul voisin « u », nous empruntons l’arête en question avant de la supprimer ! Nous continuons en « u ».
• Si « s » a plusieurs voisins, dont l’isthme ( s , u ) , nous empruntons n’importe quelle arête, sauf l’isthme !
Remarque : l’isthme est unique ( pourquoi ? ) !• Sinon, nous choisissons une arête ( s , u )
quelconque !
9 mars 2007 Cours de graphes 6 - Intranet 23
Construction d’un chemin d’Euler-----------------------------------------------------------------
• Complexité :• A chaque étape, nous choisissons une des O( | E | )
arêtes !• A chaque étape, nous sélectionnons une arête et
testons, à moins que l’arête ne soit unique, si elle est un isthme en lançant une « vague » qui est de complexité O( | E | ) !
• Si elle n’est pas un isthme, l’arête est parcourue !• Sinon, nous parcourons une quelconque autre arête !• Globalement, nous obtenons une complexité en O( | E
|^2 ) = O( | V |^4 ).
9 mars 2007 Cours de graphes 6 - Intranet 24
Construction d’un chemin d’Euler-----------------------------------------------------------------
U N
E X E M P L E
9 mars 2007 Cours de graphes 6 - Intranet 25
Construction d’un chemin d’Euler-----------------------------------------------------------------
• Exemple :
D
Isthme ! Nous évitonsl’isthme et nouscontinuons avec
l’une des deuxautres arêtes !
9 mars 2007 Cours de graphes 6 - Intranet 26
Construction d’un chemin d’Euler-----------------------------------------------------------------
• Exemple :
D
Isthme !
A prendre l’isthme,nous perdons toute
possibilité de visiterles sommets à droite !
9 mars 2007 Cours de graphes 6 - Intranet 27
Construction d’un chemin d’Euler-----------------------------------------------------------------
• Exemple :
D
Isthme ! L’isthme estle seul choix
possible !
9 mars 2007 Cours de graphes 6 - Intranet 28
Chemins et cycles de Hamilton-----------------------------------------------------------------
C H E M I N S
E T
C Y C L E S
D E H A M I L T O N ! ! !
9 mars 2007 Cours de graphes 6 - Intranet 29
Chemins et cycles de Hamilton-----------------------------------------------------------------
• Pouvons-nous trouver un chemin qui passe une et une seule fois dans chaque sommet ?
• Si oui, les points de départ et d’arrivée sont-ils voisins ?
Dodéca-èdre
Cycle deHamilton
C’est le casse-têteinventé par Lord
Hamilton en 1856.
9 mars 2007 Cours de graphes 6 - Intranet 30
Chemins et cycles de Hamilton-----------------------------------------------------------------
• Pouvons-nous trouver un chemin qui passe une et une seule fois dans chaque sommet ?
• Si oui, les points de départ et d’arrivée sont-ils voisins ?
Dodéca-èdre
Cycle deHamilton
Le greedy nemarche pas car
il faut considérertout le graphe
pour construirela solution !
9 mars 2007 Cours de graphes 6 - Intranet 31
Chemins et cycles de Hamilton-----------------------------------------------------------------
• Pouvons-nous trouver un chemin qui passe une et une seule fois dans chaque sommet ?
• Si oui, les points de départ et d’arrivée sont-ils voisins ?
Le graphecompletK !
5
Ce graphe admet deschemins de Hamilton !
Le graphe dePeterson !
Il est sans chemin de Hamilton !
9 mars 2007 Cours de graphes 6 - Intranet 32
Chemins et cycles de Hamilton-----------------------------------------------------------------
U N E
A P P L I C A T I O N ! ! !
9 mars 2007 Cours de graphes 6 - Intranet 33
Chemins et cycles de Hamilton-----------------------------------------------------------------
• Nous avons 4 jeunes filles A, B, C, D et 4 jeunes gens a, b, c, d .
• Ils dansent des rondes formées de files et garçons en alternance.
• Combien de rondes peuvent-ils danser si chaque jeune fille ne danse qu’une seule fois à côté du même jeune homme ?
Le graphe bi-particomplet K !4,4
Nous cherchonsun cycle deHamilton !
On peut former unedeuxième ronde !
A
B
C
D
a
b
c
d
9 mars 2007 Cours de graphes 6 - Intranet 34
Chemins et cycles de Hamilton-----------------------------------------------------------------
Q U E L Q U E S
A F F I R M A T I O N S ! ! !
9 mars 2007 Cours de graphes 6 - Intranet 35
Chemins et cycles de Hamilton-----------------------------------------------------------------
• Savoir si un graphe admet un chemin ou un cycle de Hamilton est NP-complet en général !
• Il s’agit de savoir s’il existe un chemin simple qui couvre les sommets ! Or, le nombre de chemins simples est en général exponentiel par rapport au nombre de sommets !
• Le chemin de Hamilton comporte | V | - 1 arêtes sur les | E | arêtes qu’il y a dans le graphe !
• Lesquelles faut-il prendre, lesquelles faut-il laisser ? ? ?
9 mars 2007 Cours de graphes 6 - Intranet 36
Chemins et cycles de Hamilton-----------------------------------------------------------------
• Il y a des cas particuliers :
– Un graphe bi-parti avec un nombre impair de sommets n’est jamais hamiltonien !
– Un graphe avec n sommets ayant un degré d’au moins n/2 pour chaque sommet est hamiltonien ( Dirac ).
– Un graphe avec n sommets tel que pour toute paire de sommets u et v qui ne sont pas voisins on ait la propriété D( u ) + D( v ) >= n est hamiltonien ( Ore ).
9 mars 2007 Cours de graphes 6 - Intranet 37
Chemins et cycles de Hamilton-----------------------------------------------------------------
• Une problématique particulière :
– Le problème du voyageur de commerce consiste à considérer un graphe pondéré complet et à trouver le cycle de Hamilton le moins cher parmi un nombre exponentiel de cycles de Hamilton !
– Si le graphe est incomplet, la simple question de savoir s’il existe un cycle de Hamilton est NP-complète ( sans vouloir trouver le meilleur de ces cycles ) !
– Soit c’est difficile d’en trouver un seul cycle, soit c’est difficile à cause du trop grand nombre de cycles !
9 mars 2007 Cours de graphes 6 - Intranet 38
Couplages-----------------------------------------------------------------
C O U P L A G E S ! ! !
9 mars 2007 Cours de graphes 6 - Intranet 39
Couplages-----------------------------------------------------------------
• Un couplage d’un graphe G = ( V , E ) consiste à trouver un sous-ensemble C des arêtes tel que chaque sommet fasse partie d’au plus un couple !
Un couplage
Les arêtes retenues et lessommets atteints sontdits saturés par le couplage.
Souvent, on souhaitemaximiser le nombre
de couples !
Un couplage est parfaits’il sature tous les
sommets du graphe !
9 mars 2007 Cours de graphes 6 - Intranet 40
Les arêtes retenues et lessommets atteints sontdits saturés par le couplage.
Couplages-----------------------------------------------------------------
• Un couplage d’un graphe G = ( V , E ) consiste à trouver un sous-ensemble C des arêtes tel que chaque sommet fasse partie d’au plus un couple !
Un couplageparfait !
Souvent, on souhaitemaximiser le nombre
de couples !
Un couplage est parfaits’il sature tous les
sommets du graphe !
Un couplagemaximal,non parfait !
9 mars 2007 Cours de graphes 6 - Intranet 41
Deux exemples-----------------------------------------------------------------
D E U X
E X E M P L E S
9 mars 2007 Cours de graphes 6 - Intranet 42
Deux exemples-----------------------------------------------------------------
• Exemple :– Une promotion d’élèves qui doivent réaliser leur
projet d’algorithmique en binômes,– des affinités, qui sont toujours réciproques, entre
certains élèves.
– Quel est le maximum de binômes que nous pouvons former en respectant les affinités ? Y a-t-il une solution qui permette à tout élève de trouver un binôme ?
9 mars 2007 Cours de graphes 6 - Intranet 43
• Exemple :– des lycées représentés par autant de sommets
qu’il y a de places,– des élèves qui ont émis des choix ( arêtes entre
des élèves et des places dans les lycées ).
– Y a-t-il un couplage qui sature les sommets-élèves ?
– Un problème plus général : Nous pouvons pondérer les arêtes par des
préférences et choisir le couplage qui maximise la somme des satisfactions.
Deux exemples-----------------------------------------------------------------
9 mars 2007 Cours de graphes 6 - Intranet 44
LycéesElèves
Y a-t-il uncouplage
qui satureles élèves ?
OUI ! ! !
Deux exemples-----------------------------------------------------------------
9 mars 2007 Cours de graphes 6 - Intranet 45
Deux exemples-----------------------------------------------------------------
• Les c-couplages :– Un lycée offrant p places est représenté par p
sommets non reliés entre eux.
– Nous pourrions fusionner ces sommets en un unique sommet qui peut faire partie d’au plus p couples.
– Un c-couplage associe à chaque sommet u un nombre maximum de couples dans lequel ce sommet peut apparaître.
– Ce nombre doit être inférieur au degré du sommet pour que le problème soit intéressant !
9 mars 2007 Cours de graphes 6 - Intranet 46
LycéesElèves
Deux exemples-----------------------------------------------------------------
3
2
2
1
1
1
1
Trivaux !
9 mars 2007 Cours de graphes 6 - Intranet 47
LycéesElèves
Y a-t-il unc-couplagequi sature
les élèves ?
Deux exemples-----------------------------------------------------------------
3
2
2
1
1
1
1
9 mars 2007 Cours de graphes 6 - Intranet 48
Couplages-----------------------------------------------------------------
C O M M E N T
T R O U V E R L E S
1 - C O U P L A G E S
M A X I M A U X ? ? ?
9 mars 2007 Cours de graphes 6 - Intranet 49
Couplages-----------------------------------------------------------------
• Maximisation des 1-couplages !• Un chemin alterné est un chemin simple qui
– commence en un sommet non saturé et– qui comporte une alternance d’arêtes saturées et non-
saturées.
• Un chemin améliorant est un chemin alterné qui se termine en un sommet non saturé !
Saturé :
Non-saturé :Chemin alterné !
Chemin améliorant !
9 mars 2007 Cours de graphes 6 - Intranet 50
Couplages-----------------------------------------------------------------
• Nous avons toujours :– Les extrémités d’un chemin améliorant sont non-saturées !– Les sommets intermédiaires sont saturés !– Il y a une arête non-saturée de plus que d’arêtes saturées !
• Nous améliorons le couplage en– saturant les arêtes du chemin améliorant qui ne l’étaient
pas– et en dé-saturant celles qui l’étaient.
Le chemin améliorant !
9 mars 2007 Cours de graphes 6 - Intranet 51
Couplages-----------------------------------------------------------------
• Nous avons toujours :– Les extrémités d’un chemin améliorant sont non-saturées !– Les sommets intermédiaires sont saturés !– Il y a une arête non-saturée de plus que d’arêtes saturées !
• Nous améliorons le couplage en– saturant les arêtes du chemin améliorant qui ne l’étaient
pas– et en dé-saturant celles qui l’étaient.
• Complexité en O( | V |^2 * | E | ) , car :– Nous avons au plus O( | V | ) itérations !– A chaque itération, nous balayons au plus les O( | V | )
sommets non saturés à la recherche d’un chemin améliorant !
– La recherche d’un chemin améliorant est en O( | E | ) !
Le nouveau couplage !
9 mars 2007 Cours de graphes 6 - Intranet 52
C O R R E C T I O N
D E
L ‘ A L G O R I T H M E
Correction du couplage-----------------------------------------------------------------
9 mars 2007 Cours de graphes 6 - Intranet 53
Correction du couplage-----------------------------------------------------------------
• Théorème ( Berge, 1957 ) :
– Un couplage C est maximal si et seulement s’il ne comporte pas de chemin améliorant.
• Preuve :– Il est trivial que, s’il y a encore des chemins
améliorants, alors le couplage C ne peut pas être maximal !
– Il est moins évident de voir que, en l’absence de chemins améliorants, le couplage C soit maximal sur tous les couplages !
– Nous pourrions avoir un maximum local ! ! !
9 mars 2007 Cours de graphes 6 - Intranet 54
Correction du couplage-----------------------------------------------------------------
• Un lemme :
– Soit un graphe G avec deux couplages C et C’ qui sont donnés par leurs arêtes !
– Considérons l’ensemble d’arêtes ( C \ C’ ) v ( C’ \ C ).
– C’est l’ensemble des arêtes qui sont soit dans C , soit dans C’.
– Nous ignorons les arêtes de G qui ne sont dans les deux couplages ou dans aucun des deux !
9 mars 2007 Cours de graphes 6 - Intranet 55
Correction du couplage-----------------------------------------------------------------
Le couplage C !
Le couplage C’ !
Nous enlevonsces arêtes !
9 mars 2007 Cours de graphes 6 - Intranet 56
D’aprèsle lemmeil nous reste :- soit des sommets isolés,- soit des cycles de longueur paire qui alternent les arêtes,- soit des chemins qui alternent les arêtes et dont chaque extrémité est non saturée pour l’un des couplages.
Correction du couplage-----------------------------------------------------------------
Le couplage C !
Le couplage C’ !
Nous enlevonsces arêtes !
9 mars 2007 Cours de graphes 6 - Intranet 57
Correction du couplage-----------------------------------------------------------------
• En effet, pour chaque sommet u du graphe G :– Soit, u n’est pas touché par un couplage et
deviendra un sommet isolé !– Soit, u est touché par un seul couplage et
deviendra un sommet de degré 1 !– Soit, u est touché par les deux couplages; alors :
• Si c’est par le biais de la même arête, u sera isolé !
• Si c’est par le biais de deux arêtes différentes, u sera de degré 2 avec une arête dans chaque couplage !
– Comme les degrés sont limités à 2 et qu’il y a alternance entre les couplages, on ne peut avoir que les solutions annoncées !
9 mars 2007 Cours de graphes 6 - Intranet 58
Correction du couplage-----------------------------------------------------------------
• Preuve du théorème !– Soit C un couplage qui n’accepte plus de chemin
améliorant. Montrons que C est maximal ! – Soit, C’ un couplage maximal. Construisons le
graphe comme énoncé dans le lemme !– Nous pouvons obtenir :
• soit, des points isolés,• soit, des cycles avec autant d’arêtes dans C
que dans C’,• soit des chemins avec une extrémité dans
chaque couplage – et donc le même nombre d’arêtes dans chaque couplage.
– Clairement, | C | = | C’ | !
9 mars 2007 Cours de graphes 6 - Intranet 59
Correction du couplage-----------------------------------------------------------------
• Il est impossible d’avoir un chemin de la forme :
• En effet, si les arêtes vertes appartenaient au couplage maximal C’ , celui-ci ne serait pas maximal car C aurait plus d’arêtes !
• Si les arêtes vertes appartenaient au couplage C , celui-ci accepterait un chemin améliorant sous la forme des arêtes rouges !
. . .
9 mars 2007 Cours de graphes 6 - Intranet 60
C O U P L A G E S
A V E C
P O I D S
Couplages pondérés-----------------------------------------------------------------
9 mars 2007 Cours de graphes 6 - Intranet 61
Couplages pondérés-----------------------------------------------------------------
• Chaque arête porte un poids non négatif et nous essayons de maximiser la somme « S » des satisfactions !
5
48
7
3
2
9
Un couplage de poids 13.
9 mars 2007 Cours de graphes 6 - Intranet 62
Couplages pondérés-----------------------------------------------------------------
• Chaque arête porte un poids non négatif et nous essayons de maximiser la somme « S » des satisfactions !
5
48
7
3
2
9
Le couplage parfait aun poids de 9.
9 mars 2007 Cours de graphes 6 - Intranet 63
Couplages pondérés-----------------------------------------------------------------
• Chaque arête porte un poids non négatif et nous essayons de maximiser la somme « S » des satisfactions !
5
48
7
3
2
9
Le couplage maximal aun poids de 14.
9 mars 2007 Cours de graphes 6 - Intranet 64
1
Couplages pondérés-----------------------------------------------------------------
• Chaque arête porte un poids non négatif et nous essayons de maximiser la somme « S » des satisfactions !
• Le couplage maximal n’est pas nécessairement optimal :
• Les couplages qui saturent les mêmes sommets ne donnent pas tous la même satisfaction :
1 13Le couplage
maximal estde poids 2 !
1 13 Il existe un couplage
non maximal quiest de poids 3 !
13
11
31
31
3
9 mars 2007 Cours de graphes 6 - Intranet 65
Synthèse-----------------------------------------------------------------
• Chemins d’Euler.
• Chemins de Hamilton.
• Couplages.
Top Related