Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Cours de graphes 6 - Intranet
Chemins 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
Cours de graphes 6 - Intranet
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
Cours de graphes 6 - Intranet
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
Cours de graphes 6 - Intranet
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
Cours de graphes 6 - Intranet
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
Cours de graphes 6 - Intranet
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 ! 2 3 6 A et D sont les seuls sommets de degré impair ! 5 7 1 4 D A 8 Le point de départ est l’un de ceux-ci et le point d’arrivée l’autre. 9 mars 2007 Cours de graphes 6 - Intranet
8
Cours de graphes 6 - Intranet
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
Cours de graphes 6 - Intranet
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
Cours de graphes 6 - Intranet
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 w v 9 mars 2007 Cours de graphes 6 - Intranet
11
Cours de graphes 6 - Intranet
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
Cours de graphes 6 - Intranet
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 et v sont au départ de degrés impairs ! u v La suppression de l’arête ( u , v ) les rend de degrés pairs ! Par hypothèse sur le nombre d’arêtes, et vu que tous les 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
Cours de graphes 6 - Intranet
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 et v sont au départ de degrés impairs et w de degré pair ! u v w La 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 w sont 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
Cours de graphes 6 - Intranet
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
Cours de graphes 6 - Intranet
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 ) Pourquoi ? CC( u ) CC( w ) u w v On l’appelle un « isthme » ! 9 mars 2007 Cours de graphes 6 - Intranet
18
Cours de graphes 6 - Intranet
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
Cours de graphes 6 - Intranet
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 Tous pairs ! Deux impairs ou tous pairs ! v On l’appelle un « isthme » ! 9 mars 2007 Cours de graphes 6 - Intranet
20
Cours de graphes 6 - Intranet
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
Cours de graphes 6 - Intranet
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
Cours de graphes 6 - Intranet
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
Cours de graphes 6 - Intranet
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
Cours de graphes 6 - Intranet
Construction d’un chemin d’Euler U N E X E M P L E 9 mars 2007 Cours de graphes 6 - Intranet
25
Cours de graphes 6 - Intranet
Construction d’un chemin d’Euler Exemple : Nous évitons l’isthme et nous continuons avec l’une des deux autres arêtes ! Isthme ! D 9 mars 2007 Cours de graphes 6 - Intranet
26
Cours de graphes 6 - Intranet
Construction d’un chemin d’Euler Exemple : Isthme ! D A prendre l’isthme, nous perdons toute possibilité de visiter les sommets à droite ! 9 mars 2007 Cours de graphes 6 - Intranet
27
Cours de graphes 6 - Intranet
Construction d’un chemin d’Euler Exemple : L’isthme est le seul choix possible ! Isthme ! D 9 mars 2007 Cours de graphes 6 - Intranet
28
Cours de graphes 6 - Intranet
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
Cours de graphes 6 - Intranet
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 C’est le casse-tête inventé par Lord Hamilton en 1856. Cycle de Hamilton 9 mars 2007 Cours de graphes 6 - Intranet
30
Cours de graphes 6 - Intranet
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 Le greedy ne marche pas car il faut considérer tout le graphe pour construire la solution ! Cycle de Hamilton 9 mars 2007 Cours de graphes 6 - Intranet
31
Cours de graphes 6 - Intranet
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 graphe complet K ! Le graphe de Peterson ! 5 Ce graphe admet des chemins de Hamilton ! Il est sans chemin de Hamilton ! 9 mars 2007 Cours de graphes 6 - Intranet
32
Cours de graphes 6 - Intranet
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
Cours de graphes 6 - Intranet
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 ? A a Le graphe bi-parti complet K ! 4,4 B b Nous cherchons un cycle de Hamilton ! On peut former une deuxième ronde ! C c D d 9 mars 2007 Cours de graphes 6 - Intranet
34
Cours de graphes 6 - Intranet
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
Cours de graphes 6 - Intranet
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
Cours de graphes 6 - Intranet
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
Cours de graphes 6 - Intranet
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
Cours de graphes 6 - Intranet
Couplages C O U P L A G E S ! ! ! 9 mars 2007 Cours de graphes 6 - Intranet
39
Cours de graphes 6 - Intranet
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 ! Souvent, on souhaite maximiser le nombre de couples ! Un couplage est parfait s’il sature tous les sommets du graphe ! Un couplage Les arêtes retenues et les sommets atteints sont dits saturés par le couplage. 9 mars 2007 Cours de graphes 6 - Intranet
40
Cours de graphes 6 - Intranet
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 ! Souvent, on souhaite maximiser le nombre de couples ! Un couplage est parfait s’il sature tous les sommets du graphe ! Un couplage parfait ! Les arêtes retenues et les sommets atteints sont dits saturés par le couplage. Un couplage maximal, non parfait ! 9 mars 2007 Cours de graphes 6 - Intranet
41
Cours de graphes 6 - Intranet
Deux exemples D E U X E X E M P L E S 9 mars 2007 Cours de graphes 6 - Intranet
42
Nous cherchons un couplage maximal !
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 ? Nous cherchons un couplage maximal ! Nous aimerions qu'il soit parfait ! 9 mars 2007 Cours de graphes 6 - Intranet
43
Cours de graphes 6 - Intranet
Deux exemples 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. 9 mars 2007 Cours de graphes 6 - Intranet
44
Cours de graphes 6 - Intranet
Deux exemples Lycées Elèves Y a-t-il un couplage qui sature les élèves ? OUI ! ! ! 9 mars 2007 Cours de graphes 6 - Intranet
45
Cours de graphes 6 - Intranet
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
Cours de graphes 6 - Intranet
Deux exemples Lycées Elèves 3 1 Trivaux ! 1 2 1 1 2 9 mars 2007 Cours de graphes 6 - Intranet
47
Cours de graphes 6 - Intranet
Deux exemples Lycées Elèves 3 1 Y a-t-il un c-couplage qui sature les élèves ? 1 2 1 1 2 9 mars 2007 Cours de graphes 6 - Intranet
48
Cours de graphes 6 - Intranet
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
Cours de graphes 6 - Intranet
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é : Chemin alterné ! Non-saturé : Chemin améliorant ! 9 mars 2007 Cours de graphes 6 - Intranet
50
Cours de graphes 6 - Intranet
Couplages Le chemin améliorant ! 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. 9 mars 2007 Cours de graphes 6 - Intranet
51
Cours de graphes 6 - Intranet
Couplages Le nouveau couplage ! 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 | ) ! 9 mars 2007 Cours de graphes 6 - Intranet
52
Cours de graphes 6 - Intranet
Correction du couplage C O R R E C T I O N D E L ‘ A L G O R I T H M E 9 mars 2007 Cours de graphes 6 - Intranet
53
Cours de graphes 6 - Intranet
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
Cours de graphes 6 - Intranet
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
Cours de graphes 6 - Intranet
Correction du couplage Le couplage C ! Le couplage C’ ! Nous enlevons ces arêtes ! 9 mars 2007 Cours de graphes 6 - Intranet
56
Cours de graphes 6 - Intranet
Correction du couplage Le couplage C ! Le couplage C’ ! Nous enlevons ces arêtes ! D’après le lemme il 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. 9 mars 2007 Cours de graphes 6 - Intranet
57
Cours de graphes 6 - Intranet
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
Cours de graphes 6 - Intranet
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
Cours de graphes 6 - Intranet
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
Cours de graphes 6 - Intranet
Couplages pondérés C O U P L A G E S A V E C P O I D S 9 mars 2007 Cours de graphes 6 - Intranet
61
Cours de graphes 6 - Intranet
Couplages pondérés Chaque arête porte un poids non négatif et nous essayons de maximiser la somme « S » des satisfactions ! 3 5 9 7 4 8 2 Un couplage de poids 13. 9 mars 2007 Cours de graphes 6 - Intranet
62
Cours de graphes 6 - Intranet
Couplages pondérés Chaque arête porte un poids non négatif et nous essayons de maximiser la somme « S » des satisfactions ! 3 5 9 7 4 8 2 Le couplage parfait a un poids de 9. 9 mars 2007 Cours de graphes 6 - Intranet
63
Cours de graphes 6 - Intranet
Couplages pondérés Chaque arête porte un poids non négatif et nous essayons de maximiser la somme « S » des satisfactions ! 3 5 9 7 4 8 2 Le couplage maximal a un poids de 14. 9 mars 2007 Cours de graphes 6 - Intranet
64
Cours de graphes 6 - Intranet
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 : C'est NP-difficile ! ! ! Le couplage maximal est de poids 2 ! Il existe un couplage non maximal qui est de poids 3 ! 3 3 1 1 1 1 1 1 3 3 1 1 1 1 3 3 9 mars 2007 Cours de graphes 6 - Intranet
65
Cours de graphes 6 - Intranet
Synthèse Chemins d’Euler. Chemins de Hamilton. Couplages. 9 mars 2007 Cours de graphes 6 - Intranet
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.