La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

9 mars 2007Cours de graphes 6 - Intranet1 Cours de graphes Chemins dEuler. Chemins de Hamilton. Couplages.

Présentations similaires


Présentation au sujet: "9 mars 2007Cours de graphes 6 - Intranet1 Cours de graphes Chemins dEuler. Chemins de Hamilton. Couplages."— Transcription de la présentation:

1 9 mars 2007Cours de graphes 6 - Intranet1 Cours de graphes Chemins dEuler. Chemins de Hamilton. Couplages.

2 9 mars 2007Cours de graphes 6 - Intranet2 Les grandes lignes du cours Définitions de base Définitions de base Connexité Connexité Les plus courts chemins Les plus courts chemins Dijkstra et Bellmann-Ford Dijkstra et Bellmann-Ford Arbres Arbres Arbres de recouvrement minimaux Arbres de recouvrement minimaux Problèmes de flots Problèmes de flots Coloriage de graphes, graphes planaires Coloriage de graphes, graphes planaires Couplage Couplage Chemins dEuler et de Hamilton Chemins dEuler et de Hamilton Problèmes NP-complets Problèmes NP-complets

3 9 mars 2007Cours de graphes 6 - Intranet3 Chemins dEuler C H E M I N S E T C Y C L E S D E U L E R ! ! !

4 9 mars 2007Cours de graphes 6 - Intranet4 Chemins dEuler Lorigine historique :Lorigine 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 darrivée coïncident-ils ?

5 9 mars 2007Cours de graphes 6 - Intranet5 Chemins dEuler En termes de graphes :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 ?

6 9 mars 2007Cours de graphes 6 - Intranet6 Chemins dEuler Nous pouvons passer dun multi-graphe à un graphe simple :Nous pouvons passer dun multi-graphe à un graphe simple : –Il suffit de matérialiser un pont par un sommet ! –Nous conservons le même problème en même problème en termes de couverture termes de couverture des arêtes ! des arêtes !

7 9 mars 2007Cours de graphes 6 - Intranet7 Chemins dEuler La « maison de Nicolas » :La « maison de Nicolas » : –Pouvons-nous dessiner la figure suivante dun seule trait et sans lever le crayon ? –La réponse est OUI ! D A A et D sont les seuls sommets de degré impair ! Le point de départ est lun de ceux-ci et le point darrivée lautre.

8 9 mars 2007Cours de graphes 6 - Intranet8 Chemins dEuler 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 9 mars 2007Cours de graphes 6 - Intranet9 Chemins dEuler Le théorème dEuler (1736) :Le théorème dEuler (1736) : –Un multi-graphe possède un chemin dEuler si et seulement si tous ses sommets, sauf peut-être deux, sont de degré pair ! –Les sommets de degré impair, sils existent, sont les points de départ et darrivée ! –Si tous les sommets sont de degré pair, et seulement dans ce cas, le chemin dEuler est un cycle dEuler ! Remarque :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 !

10 9 mars 2007Cours de graphes 6 - Intranet10 Preuve du théorème dEuler Admettons lexistence dun chemin ou dun cycle dEuler et déduisons-en les propriétés sur les degrés !Admettons lexistence dun chemin ou dun cycle dEuler et déduisons-en les propriétés sur les degrés ! –Soit le chemin dEuler 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, cest-à-dire en présence dun cycle, le sommet « u » intervient avec un degré pair ! –Tout autre sommet « w » intervient avec un degré pair dans le chemin dEuler ! –Le chemin ou cycle dEuler contient toutes les arêtes du graphe, doù le résultat annoncé ! u v... w

11 9 mars 2007Cours de graphes 6 - Intranet11 Preuve du théorème dEuler Admettons les conditions de parité sur les degrés et déduisons-en lexistence dun chemin ou cycle dEuler !Admettons les conditions de parité sur les degrés et déduisons-en lexistence dun chemin ou cycle dEuler ! Si tous les sommets du graphe G sont de degré pair :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 dEuler qui commence en « u » et se termine en « v » ! –En insérant à nouveau larête ( u, v ) nous obtenons le cycle dEuler annoncé !

12 9 mars 2007Cours de graphes 6 - Intranet12 Preuve du théorème dEuler Admettons les conditions de parité sur les degrés et déduisons-en lexistence dun chemin ou cycle dEuler !Admettons les conditions de parité sur les degrés et déduisons-en lexistence dun chemin ou cycle dEuler ! Si « u » et « v » sont les seuls sommets de degré impair :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 ! pour obtenir un graphe G ! –Admettons dabord que G est connexe ! –Si v = w, tous les sommets de G sont pairs et il existe un cycle dEuler ( v ; v ) ! Et donc un chemin dEuler ( u, v ; v ) ! cycle dEuler ( v ; v ) ! Et donc un chemin dEuler ( u, v ; v ) ! ( Cas A )

13 9 mars 2007Cours de graphes 6 - Intranet13 Preuve du théorème dEuler u v u et v sont au départ de degrés impairs ! La suppression de larête ( u, v ) les rend de degrés pairs ! Par hypothèse sur le nombre darêtes, et vu que tous les sommets sont de degrés pairs, il existe un cycle dEuler avec v comme point de départ et darrivée !

14 9 mars 2007Cours de graphes 6 - Intranet14 Preuve du théorème dEuler Admettons les conditions de parité sur les degrés et déduisons-en lexistence dun chemin ou cycle dEuler !Admettons les conditions de parité sur les degrés et déduisons-en lexistence dun chemin ou cycle dEuler ! Si « u » et « v » sont les seuls sommets de degré impair :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 ! pour obtenir un graphe G ! –Admettons dabord que G est connexe ! –Si v = w, tous les sommets de G sont pairs et il existe un cycle dEuler ( v ; v ) ! Et donc un chemin dEuler ( u, v ; v ) ! cycle dEuler ( v ; v ) ! Et donc un chemin dEuler ( 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 dEuler ( w ; v ) ! impair ! Il existe donc dans G un chemin dEuler ( w ; v ) ! Et du coup un chemin dEuler ( u, w ; v ) dans G ! Et du coup un chemin dEuler ( u, w ; v ) dans G ! / ( Cas A )

15 9 mars 2007Cours de graphes 6 - Intranet15 Preuve du théorème dEuler u v u et v sont au départ de degrés impairs et w de degré pair ! w La suppression de larête ( u, w ) donne à u de degré pair et à v et w des degrés impairs ! Par hypothèse sur le nombre darêtes, et vu que v et w sont les seuls sommets de degrés impairs, il existe un chemin dEuler avec w comme départ et v comme arrivée !

16 9 mars 2007Cours de graphes 6 - Intranet16 Preuve du théorème dEuler Admettons les conditions de parité sur les degrés et déduisons-en lexistence dun chemin ou cycle dEuler !Admettons les conditions de parité sur les degrés et déduisons-en lexistence dun chemin ou cycle dEuler ! Si « u » et « v » sont les seuls sommets de degré impair :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 ! pour obtenir un graphe G ! –Admettons dabord que G est connexe ! –Si v = w, tous les sommets de G sont pairs et il existe un cycle dEuler ( v ; v ) ! Et donc un chemin dEuler ( u, v ; v ) ! cycle dEuler ( v ; v ) ! Et donc un chemin dEuler ( 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 dEuler ( w ; v ) ! impair ! Il existe donc dans G un chemin dEuler ( w ; v ) ! Et du coup un chemin dEuler ( u, w ; v ) dans G ! Et du coup un chemin dEuler ( u, w ; v ) dans G ! / ( Cas A )

17 9 mars 2007Cours de graphes 6 - Intranet17 Preuve du théorème dEuler Admettons les conditions de parité sur les degrés et déduisons-en lexistence dun chemin ou cycle dEuler !Admettons les conditions de parité sur les degrés et déduisons-en lexistence dun chemin ou cycle dEuler ! Si « u » et « v » sont les seuls sommets de degré impair :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 ! pour obtenir un graphe G ! –Admettons maintenant que G nest plus connexe ! –Nous avons les composantes connexes CC( u ) et CC( w ) ! ( Cas B ) CC( u ) CC( w ) uw On lappelle un « isthme » ! v

18 9 mars 2007Cours de graphes 6 - Intranet18 Preuve du théorème dEuler Admettons les conditions de parité sur les degrés et déduisons-en lexistence dun chemin ou cycle dEuler !Admettons les conditions de parité sur les degrés et déduisons-en lexistence dun chemin ou cycle dEuler ! Si « u » et « v » sont les seuls sommets de degré impair :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 ! pour obtenir un graphe G ! –Admettons maintenant que G nest plus connexe ! –Nous avons les composantes connexes CC( u ) et CC( w ) ! –Lemme : La somme des degrés des sommets dun graphe (connexe) est paire ! (connexe) est paire ! Donc, le nombre de sommets de degrés impairs Donc, le nombre de sommets de degrés impairs est paire ! ! ! est paire ! ! ! ( Cas B )

19 9 mars 2007Cours de graphes 6 - Intranet19 Preuve du théorème dEuler Admettons les conditions de parité sur les degrés et déduisons-en lexistence dun chemin ou cycle dEuler !Admettons les conditions de parité sur les degrés et déduisons-en lexistence dun chemin ou cycle dEuler ! Si « u » et « v » sont les seuls sommets de degré impair :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 ! pour obtenir un graphe G ! –Admettons maintenant que G nest plus connexe ! –Nous avons les composantes connexes CC( u ) et CC( w ) ! CC( u ) CC( w ) uw On lappelle un « isthme » ! ( Cas B ) v Tous pairs ! Deuximpairs ou tous pairs !

20 9 mars 2007Cours de graphes 6 - Intranet20 Preuve du théorème dEuler Admettons les conditions de parité sur les degrés et déduisons-en lexistence dun chemin ou cycle dEuler !Admettons les conditions de parité sur les degrés et déduisons-en lexistence dun chemin ou cycle dEuler ! Si « u » et « v » sont les seuls sommets de degré impair :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 ! pour obtenir un graphe G ! –Admettons maintenant que G nest plus connexe ! –Nous avons les composantes connexes CC( u ) et CC( w ) ! –Les sommets de CC( u ) sont pairs, doù le circuit dEuler ( u ; u ). –CC( w ) possède 0 ( v = w ) ou 2 ( v = w ) sommets de degrés impairs et il existe un chemin dEuler ( w ; v ) ! impairs et il existe un chemin dEuler ( w ; v ) ! –On a donc le chemin dEuler ( u ; u, w ; v ), comme annoncé ! / ( Cas B )

21 9 mars 2007Cours de graphes 6 - Intranet21 Construction dun chemin dEuler 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 ! ! !

22 9 mars 2007Cours de graphes 6 - Intranet22 Construction dun chemin dEuler Supposons données les conditions de parité sur les degrés !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 dEuler ( u ; v ) !Si tous les sommets sont de degré pair, nous enlevons une arête ( u, v ) et nous construisons le chemin dEuler ( 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 !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 quil est isolé, nous avons fini !Si « s » est identique à « v » et quil est isolé, nous avons fini ! Si « s » na que le seul voisin « u », nous empruntons larête en question avant de la supprimer ! Nous continuons en « u ».Si « s » na que le seul voisin « u », nous empruntons larête en question avant de la supprimer ! Nous continuons en « u ». Si « s » a plusieurs voisins, dont listhme ( s, u ), nous empruntons nimporte quelle arête, sauf listhme !Si « s » a plusieurs voisins, dont listhme ( s, u ), nous empruntons nimporte quelle arête, sauf listhme ! Remarque : listhme est unique ( pourquoi ? ) ! Remarque : listhme est unique ( pourquoi ? ) ! Sinon, nous choisissons une arête ( s, u ) quelconque !Sinon, nous choisissons une arête ( s, u ) quelconque !

23 9 mars 2007Cours de graphes 6 - Intranet23 Construction dun chemin dEuler Complexité :Complexité : A chaque étape, nous choisissons une des O( | E | ) arêtes !A chaque étape, nous choisissons une des O( | E | ) arêtes ! A chaque étape, nous sélectionnons une arête et testons, à moins que larête ne soit unique, si elle est un isthme en lançant une « vague » qui est de complexité O( | E | ) !A chaque étape, nous sélectionnons une arête et testons, à moins que larête ne soit unique, si elle est un isthme en lançant une « vague » qui est de complexité O( | E | ) ! Si elle nest pas un isthme, larête est parcourue !Si elle nest pas un isthme, larête est parcourue ! Sinon, nous parcourons une quelconque autre arête !Sinon, nous parcourons une quelconque autre arête ! Globalement, nous obtenons une complexité en O( | E |^2 ) = O( | V |^4 ).Globalement, nous obtenons une complexité en O( | E |^2 ) = O( | V |^4 ).

24 9 mars 2007Cours de graphes 6 - Intranet24 Construction dun chemin dEuler U N E X E M P L E

25 9 mars 2007Cours de graphes 6 - Intranet25 Construction dun chemin dEuler Exemple :Exemple : D Isthme ! Nous évitons listhme et nous continuons avec lune des deux autres arêtes !

26 9 mars 2007Cours de graphes 6 - Intranet26 Construction dun chemin dEuler Exemple :Exemple : D Isthme ! A prendre listhme, nous perdons toute possibilité de visiter les sommets à droite !

27 9 mars 2007Cours de graphes 6 - Intranet27 Construction dun chemin dEuler Exemple :Exemple : D Isthme ! Listhme est le seul choix possible !

28 9 mars 2007Cours de graphes 6 - Intranet28 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 ! ! !

29 9 mars 2007Cours de graphes 6 - Intranet29 Chemins et cycles de Hamilton Pouvons-nous trouver un chemin qui passe une et une seule fois dans chaque sommet ?Pouvons-nous trouver un chemin qui passe une et une seule fois dans chaque sommet ? Si oui, les points de départ et darrivée sont-ils voisins ?Si oui, les points de départ et darrivée sont-ils voisins ? Dodéca-èdre Cycle de Hamilton Cest le casse-tête inventé par Lord Hamilton en 1856.

30 9 mars 2007Cours de graphes 6 - Intranet30 Chemins et cycles de Hamilton Pouvons-nous trouver un chemin qui passe une et une seule fois dans chaque sommet ?Pouvons-nous trouver un chemin qui passe une et une seule fois dans chaque sommet ? Si oui, les points de départ et darrivée sont-ils voisins ?Si oui, les points de départ et darrivée sont-ils voisins ? Dodéca-èdre Cycle de Hamilton Le greedy ne marche pas car il faut considérer tout le graphe pour construire la solution !

31 9 mars 2007Cours de graphes 6 - Intranet31 Chemins et cycles de Hamilton Pouvons-nous trouver un chemin qui passe une et une seule fois dans chaque sommet ?Pouvons-nous trouver un chemin qui passe une et une seule fois dans chaque sommet ? Si oui, les points de départ et darrivée sont-ils voisins ?Si oui, les points de départ et darrivée sont-ils voisins ? Le graphe complet K ! 5 Ce graphe admet des chemins de Hamilton ! Le graphe de Peterson ! Il est sans chemin de Hamilton !

32 9 mars 2007Cours de graphes 6 - Intranet32 Chemins et cycles de Hamilton U N E A P P L I C A T I O N ! ! !

33 9 mars 2007Cours de graphes 6 - Intranet33 Chemins et cycles de Hamilton Nous avons 4 jeunes filles A, B, C, D et 4 jeunes gens a, b, c, d.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.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 quune seule fois à côté du même jeune homme ?Combien de rondes peuvent-ils danser si chaque jeune fille ne danse quune seule fois à côté du même jeune homme ? Le graphe bi-parti complet K ! 4,4 Nous cherchons un cycle de Hamilton ! On peut former une deuxième ronde ! A B C D a b c d

34 9 mars 2007Cours de graphes 6 - Intranet34 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 ! ! !

35 9 mars 2007Cours de graphes 6 - Intranet35 Chemins et cycles de Hamilton Savoir si un graphe admet un chemin ou un cycle de Hamilton est NP-complet en général !Savoir si un graphe admet un chemin ou un cycle de Hamilton est NP-complet en général ! Il sagit de savoir sil 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 !Il sagit de savoir sil 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 quil y a dans le graphe !Le chemin de Hamilton comporte | V | - 1 arêtes sur les | E | arêtes quil y a dans le graphe ! Lesquelles faut-il prendre, lesquelles faut-il laisser ? ? ?Lesquelles faut-il prendre, lesquelles faut-il laisser ? ? ?

36 9 mars 2007Cours de graphes 6 - Intranet36 Chemins et cycles de Hamilton Il y a des cas particuliers :Il y a des cas particuliers : –Un graphe bi-parti avec un nombre impair de sommets nest jamais hamiltonien ! –Un graphe avec n sommets ayant un degré dau 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 ).

37 9 mars 2007Cours de graphes 6 - Intranet37 Chemins et cycles de Hamilton Une problématique particulière :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 sil existe un cycle de Hamilton est NP-complète ( sans vouloir trouver le meilleur de ces cycles ) ! –Soit cest difficile den trouver un seul cycle, soit cest difficile à cause du trop grand nombre de cycles !

38 9 mars 2007Cours de graphes 6 - Intranet38 Couplages C O U P L A G E S ! ! !

39 9 mars 2007Cours de graphes 6 - Intranet39 Couplages Un couplage dun graphe G = ( V, E ) consiste à trouver un sous-ensemble C des arêtes tel que chaque sommet fasse partie dau plus un couple !Un couplage dun graphe G = ( V, E ) consiste à trouver un sous-ensemble C des arêtes tel que chaque sommet fasse partie dau plus un couple ! Un couplage Les arêtes retenues et les sommets atteints sont dits saturés par le couplage. Souvent, on souhaite maximiser le nombre de couples ! Un couplage est parfait sil sature tous les sommets du graphe !

40 9 mars 2007Cours de graphes 6 - Intranet40 Les arêtes retenues et les sommets atteints sont dits saturés par le couplage. Couplages Un couplage dun graphe G = ( V, E ) consiste à trouver un sous-ensemble C des arêtes tel que chaque sommet fasse partie dau plus un couple !Un couplage dun graphe G = ( V, E ) consiste à trouver un sous-ensemble C des arêtes tel que chaque sommet fasse partie dau plus un couple ! Un couplage parfait ! Souvent, on souhaite maximiser le nombre de couples ! Un couplage est parfait sil sature tous les sommets du graphe ! Un couplage maximal, non parfait !

41 9 mars 2007Cours de graphes 6 - Intranet41 Deux exemples D E U X E X E M P L E S

42 9 mars 2007Cours de graphes 6 - Intranet42 Deux exemples Exemple :Exemple : –Une promotion délèves qui doivent réaliser leur projet dalgorithmique 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 ?

43 9 mars 2007Cours de graphes 6 - Intranet43 Exemple :Exemple : –des lycées représentés par autant de sommets quil 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. Nous pouvons pondérer les arêtes par des préférences et choisir le couplage qui maximise la somme des satisfactions. Deux exemples

44 9 mars 2007Cours de graphes 6 - Intranet44 Lycées Elèves Y a-t-il un couplage qui sature les élèves ? OUI ! ! ! Deux exemples

45 9 mars 2007Cours de graphes 6 - Intranet45 Deux exemples Les c - couplages :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 dau 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 !

46 9 mars 2007Cours de graphes 6 - Intranet46 Lycées Elèves Deux exemples Trivaux !

47 9 mars 2007Cours de graphes 6 - Intranet47 Lycées Elèves Y a-t-il un c - couplage qui sature les élèves ? Deux exemples

48 9 mars 2007Cours de graphes 6 - Intranet48 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 ? ? ?

49 9 mars 2007Cours de graphes 6 - Intranet49 Couplages Maximisation des 1 - couplages !Maximisation des 1 - couplages ! Un chemin alterné est un chemin simple quiUn chemin alterné est un chemin simple qui –commence en un sommet non saturé et –qui comporte une alternance darêtes saturées et non-saturées. Un chemin améliorant est un chemin alterné qui se termine en un sommet non saturé !Un chemin améliorant est un chemin alterné qui se termine en un sommet non saturé ! Saturé : Non-saturé : Chemin alterné ! Chemin améliorant !

50 9 mars 2007Cours de graphes 6 - Intranet50 Couplages Nous avons toujours :Nous avons toujours : –Les extrémités dun 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 darêtes saturées ! Nous améliorons le couplage enNous 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 !

51 9 mars 2007Cours de graphes 6 - Intranet51 Couplages Nous avons toujours :Nous avons toujours : –Les extrémités dun 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 darêtes saturées ! Nous améliorons le couplage enNous 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 :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 dun chemin améliorant ! –La recherche dun chemin améliorant est en O( | E | ) ! Le nouveau couplage !

52 9 mars 2007Cours de graphes 6 - Intranet52 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

53 9 mars 2007Cours de graphes 6 - Intranet53 Correction du couplage Théorème ( Berge, 1957 ) :Théorème ( Berge, 1957 ) : –Un couplage C est maximal si et seulement sil ne comporte pas de chemin améliorant. Preuve :Preuve : –Il est trivial que, sil y a encore des chemins améliorants, alors le couplage C ne peut pas être maximal ! –Il est moins évident de voir que, en labsence de chemins améliorants, le couplage C soit maximal sur tous les couplages ! –Nous pourrions avoir un maximum local ! ! !

54 9 mars 2007Cours de graphes 6 - Intranet54 Correction du couplage Un lemme :Un lemme : –Soit un graphe G avec deux couplages C et C qui sont donnés par leurs arêtes ! –Considérons lensemble darêtes ( C \ C ) v ( C \ C ). –Cest lensemble 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 !

55 9 mars 2007Cours de graphes 6 - Intranet55 Correction du couplage Le couplage C ! Nous enlevons ces arêtes !

56 9 mars 2007Cours de graphes 6 - Intranet56 Daprè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 lun des couplages. extrémité est non saturée pour lun des couplages. Correction du couplage Le couplage C ! Nous enlevons ces arêtes !

57 9 mars 2007Cours de graphes 6 - Intranet57 Correction du couplage En effet, pour chaque sommet u du graphe G :En effet, pour chaque sommet u du graphe G : –Soit, u nest 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 cest par le biais de la même arête, u sera isolé !Si cest par le biais de la même arête, u sera isolé ! Si cest par le biais de deux arêtes différentes, u sera de degré 2 avec une arête dans chaque couplage !Si cest 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 quil y a alternance entre les couplages, on ne peut avoir que les solutions annoncées !

58 9 mars 2007Cours de graphes 6 - Intranet58 Correction du couplage Preuve du théorème !Preuve du théorème ! –Soit C un couplage qui naccepte 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 points isolés, soit, des cycles avec autant darêtes dans C que dans C,soit, des cycles avec autant darêtes dans C que dans C, soit des chemins avec une extrémité dans chaque couplage – et donc le même nombre darêtes dans chaque couplage.soit des chemins avec une extrémité dans chaque couplage – et donc le même nombre darêtes dans chaque couplage. –Clairement, | C | = | C | !

59 9 mars 2007Cours de graphes 6 - Intranet59 Correction du couplage Il est impossible davoir un chemin de la forme :Il est impossible davoir 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 darêtes !En effet, si les arêtes vertes appartenaient au couplage maximal C, celui-ci ne serait pas maximal car C aurait plus darêtes ! Si les arêtes vertes appartenaient au couplage C, celui-ci accepterait un chemin améliorant sous la forme des arêtes rouges !Si les arêtes vertes appartenaient au couplage C, celui-ci accepterait un chemin améliorant sous la forme des arêtes rouges !...

60 9 mars 2007Cours de graphes 6 - Intranet60 C O U P L A G E S A V E C P O I D S Couplages pondérés

61 9 mars 2007Cours de graphes 6 - Intranet61 Couplages pondérés Chaque arête porte un poids non négatif et nous essayons de maximiser la somme « S » des satisfactions !Chaque arête porte un poids non négatif et nous essayons de maximiser la somme « S » des satisfactions ! Un couplage de poids 13.

62 9 mars 2007Cours de graphes 6 - Intranet62 Couplages pondérés Chaque arête porte un poids non négatif et nous essayons de maximiser la somme « S » des satisfactions !Chaque arête porte un poids non négatif et nous essayons de maximiser la somme « S » des satisfactions ! Le couplage parfait a un poids de 9.

63 9 mars 2007Cours de graphes 6 - Intranet63 Couplages pondérés Chaque arête porte un poids non négatif et nous essayons de maximiser la somme « S » des satisfactions !Chaque arête porte un poids non négatif et nous essayons de maximiser la somme « S » des satisfactions ! Le couplage maximal a un poids de 14.

64 9 mars 2007Cours de graphes 6 - Intranet64 1 Couplages pondérés Chaque arête porte un poids non négatif et nous essayons de maximiser la somme « S » des satisfactions !Chaque arête porte un poids non négatif et nous essayons de maximiser la somme « S » des satisfactions ! Le couplage maximal nest pas nécessairement optimal :Le couplage maximal nest pas nécessairement optimal : Les couplages qui saturent les mêmes sommets ne donnent pas tous la même satisfaction :Les couplages qui saturent les mêmes sommets ne donnent pas tous la même satisfaction : Le couplage maximal est de poids 2 ! Il existe un couplage non maximal qui est de poids 3 !

65 9 mars 2007Cours de graphes 6 - Intranet65 Synthèse Chemins dEuler.Chemins dEuler. Chemins de Hamilton.Chemins de Hamilton. Couplages.Couplages.


Télécharger ppt "9 mars 2007Cours de graphes 6 - Intranet1 Cours de graphes Chemins dEuler. Chemins de Hamilton. Couplages."

Présentations similaires


Annonces Google