Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parLéopold Drouet Modifié depuis plus de 10 années
1
Cours de graphes Les arbres et arborescences.
Les arbres de recouvrement. Les arbres de recouvrement minimaux. Applications. 20 février 2007 Cours de graphes 3 - 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 Couplage Chemins d’Euler et de Hamilton Problèmes NP-complets 20 février 2007 Cours de graphes 3 - Intranet
3
Une arborescence (orientée) !
Les arbres Un arbre (non orienté) ! Une arborescence (orientée) ! 20 février 2007 Cours de graphes 3 - Intranet
4
Cours de graphes 3 - Intranet
Les arbres Définitions : Un arbre est un graphe non orienté dans lequel il existe un et un seul chemin entre toute paire de sommets. Ce chemin sera donc simple, le plus court, le plus léger, . . . Une arborescence est un graphe orienté quasi-fortement connexe tel qu’il existe un et un seul chemin orienté de la racine vers tout autre sommet. D’abord, il n’y a qu’une seule racine ! On n’a pas de chemins multiples, ni de circuits ! 20 février 2007 Cours de graphes 3 - Intranet
5
Cours de graphes 3 - Intranet
Les arbres Uniquement pour les graphes non orientés : Définition 1 : Un arbre est un graphe dans lequel il existe un et un seul chemin entre toute paire de sommets. Définition 2 : Un arbre est un graphe connexe, sans cycle. Déf 1 => Déf 2 : Connexité OK ! Par absurde, s’il y avait des cycles il y aurait plusieurs chemins, ce qui est contraire à l’hypothèse ! v u 20 février 2007 Cours de graphes 3 - Intranet
6
Cours de graphes 3 - Intranet
Les arbres Uniquement pour les graphes non orientés : Définition 1 : Un arbre est un graphe dans lequel il existe un et un seul chemin entre toute paire de sommets. Définition 2 : Un arbre est un graphe connexe, sans cycle. Déf 1 => Déf 2 : OK ! Déf 2 => Déf 1 : Par absurde, s’il n’y avait pas de chemin le graphe ne serait pas connexe ! Par absurde, s’il y avait plusieurs chemins il y aurait des cycles, ce qui est contraire à l’hypothèse ! v u 20 février 2007 Cours de graphes 3 - Intranet
7
Cours de graphes 3 - Intranet
Les arbres Des définitions équivalentes basées sur la connexité ! Les chemins uniques Connexe, sans cycles Des définitions équivalentes basées sur l’absence de cycles ! 20 février 2007 Cours de graphes 3 - Intranet
8
L'idée : Si nous enlevons une nous cassons la connexité !
Les arbres L'idée : Si nous enlevons une arête du chemin unique, nous cassons la connexité ! Connexe, minimal Les chemins uniques Connexe, sans cycles Définition : Un graphe est connexe, minimal s’il est connexe et n’a pas plus d’arêtes qu’aucun autre graphe connexe ! 20 février 2007 Cours de graphes 3 - Intranet
9
Cours de graphes 3 - Intranet
Les arbres Connexe, minimal => connexe, sans cycles : Par absurde ! S’il y avait des cycles, nous pourrions enlever une arête sans casser la connexité. Ceci est contraire à l’hypothèse que le graphe est minimal ! Connexe, minimal Les chemins uniques Connexe, sans cycles 20 février 2007 Cours de graphes 3 - Intranet
10
Connexe avec | V | - 1 arêtes
Les arbres Connexe avec | V | - 1 arêtes Les implications que nous allons prouver ! => > Connexe, minimal => Les chemins uniques Connexe, sans cycles 20 février 2007 Cours de graphes 3 - Intranet
11
Connexe avec | V | - 1 arêtes Connexe avec | V | - 1 arêtes
Les arbres Connexe avec | V | - 1 arêtes => Connexe, minimal Connexe avec | V | - 1 arêtes Prouvons que pour être connexe, il faut | V | - 1 arêtes au moins ! Connexe, minimal => Les chemins uniques Connexe, sans cycles Par induction sur | V | : - Trivial pour 1 sommet et 0 arêtes ! Soit « u » un sommet quelconque. Pour relier les | V | - 1 autres sommets, il faut au moins | V | - 2 arêtes. - Ensuite, il faut au moins une arête pour relier « u » aux autres ! 20 février 2007 Cours de graphes 3 - Intranet
12
Connexe avec | V | - 1 arêtes Connexe avec | V | - 1 arêtes
Les arbres Les chemins uniques => Connexe avec | V | - 1 arêtes Connexe avec | V | - 1 arêtes => Connexe, minimal => Les chemins uniques Connexe, sans cycles - Les chemins uniques impliquent la connexité ! Il existe au moins un sommet « u » de degré 1 ! Sinon, nous pourrions toujours continuer et donc faire des cycles ! ! ! Enlevez le sommet « u » de degré 1 et son unique arête ! Recommencez pour le graphe restant qui est à chemins uniques et a un sommet et une arête en moins ! 20 février 2007 Cours de graphes 3 - Intranet
13
Connexe avec | V | - 1 arêtes
Les arbres Connexe avec | V | - 1 arêtes => > Connexe, minimal => Les chemins uniques Connexe, sans cycles 20 février 2007 Cours de graphes 3 - Intranet
14
Les arbres -----------------------------------------------------------------
Connexe avec | V | - 1 arêtes L'idée : Si nous ajoutons une arête au graphe connexe, nous créons un cycle ! Connexe, minimal Les chemins uniques Connexe, sans cycles Définition : Un graphe est sans cycles, maximal s’il est sans cycles et n’a pas moins d’arêtes qu’aucun autre graphe sans cycles ! Sans cycles, maximal 20 février 2007 Cours de graphes 3 - Intranet
15
Connexe avec | V | - 1 arêtes
Les arbres Sans cycles, maximal => connexe, sans cycles : Par absurde ! S’il y était non connexe, nous pourrions ajouter une arête sans créer de cycle. Ceci est contraire à l’hypothèse que le graphe est maximal ! Connexe avec | V | - 1 arêtes Connexe, minimal Les chemins uniques Connexe, sans cycles Sans cycles, maximal 20 février 2007 Cours de graphes 3 - Intranet
16
Connexe avec | V | - 1 arêtes Sans cycles avec | V | - 1 arêtes
Les arbres Connexe avec | V | - 1 arêtes Connexe, minimal Les chemins uniques Connexe, sans cycles => > Sans cycles, maximal Les implications que nous allons prouver ! => Sans cycles avec | V | - 1 arêtes 20 février 2007 Cours de graphes 3 - Intranet
17
Les arbres -----------------------------------------------------------------
Sans cycles avec | V | - 1 arêtes => Sans cycles, maximal Connexe avec | V | - 1 arêtes Prouvons que pour être sans cycles, on peut avoir | V | - 1 arêtes au plus ! Connexe, minimal Les chemins uniques Connexe, sans cycles => Par induction sur | V | : - Trivial pour 1 sommet ! Soit « u » un sommet de degré 1. Les | V | - 1 autres sommets comportent au plus | V | - 2 arêtes. Sans cycles, maximal Sans cycles avec | V | - 1 arêtes 20 février 2007 Cours de graphes 3 - Intranet
18
Les arbres -----------------------------------------------------------------
Les chemins uniques => Sans cycles avec | V | - 1 arêtes Connexe avec | V | - 1 arêtes Les chemins uniques interdisent les cycles ! Il existe au moins un sommet « u » de degré 1 ! - Enlevez ce sommet et son arête ! - Recommencez pour le graphe restant qui est à chemins uniques et a un sommet et une arête en moins ! Connexe, minimal Les chemins uniques Connexe, sans cycles => Sans cycles, maximal => Sans cycles avec | V | - 1 arêtes 20 février 2007 Cours de graphes 3 - Intranet
19
Connexe avec | V | - 1 arêtes Sans cycles avec | V | - 1 arêtes
Les arbres Connexe avec | V | - 1 arêtes Connexe, minimal Les chemins uniques Connexe, sans cycles => > Sans cycles, maximal => Sans cycles avec | V | - 1 arêtes 20 février 2007 Cours de graphes 3 - Intranet
20
Connexe avec | V | - 1 arêtes Sans cycles avec | V | - 1 arêtes
Les arbres Connexe avec | V | - 1 arêtes Nous n’avons pas la connexité avec moins de | V | - 1 arêtes . . . mais nous pouvons avoir des cycles ! Connexe, minimal Les chemins uniques Connexe, sans cycles Nous n’avons pas l’absence de cycles avec plus de | V | - 1 arêtes . . . mais nous pouvons ne pas avoir la connexité ! Sans cycles, maximal Sans cycles avec | V | - 1 arêtes 20 février 2007 Cours de graphes 3 - Intranet
21
Cours de graphes 3 - Intranet
Les arborescences Une arborescence peut être caractérisée comme suit. Elle possède | V | - 1 arcs. Tous les sommets sauf un ont un degré entrant unitaire. Un sommet a un degré entrant nul. Preuve : Trivial s’il n’y a qu’un seul sommet ! Sinon, il existe un sommet « u » de degré sortant nul ! Nous enlevons « u » et l’unique arc ( x , u ) qui l’atteint ! Le graphe résultant est une arborescence qui vérifiera donc par hypothèse les propriétés ! Il en sera de même pour tout le graphe. 20 février 2007 Cours de graphes 3 - Intranet
22
Cours de graphes 3 - Intranet
Les arborescences Toute arborescence peut être transformée en arbre ! Il suffit de changer les arcs en arêtes. Nous aurons | V | - 1 arêtes. La connexité forte depuis la racine entraîne la connexité. Tout arbre peut être transformé en arborescence en nous laissant le choix de la racine ! Trivial s’il n’y a qu’un seul sommet ! Nous choisissons la racine « u » et transformons toute arête ( u , v ) en arc. Sans le lien ( u , v ), le sommet « v » appartient à un arbre isolé du reste du graphe. Il peut être transformé en arborescence ayant « v » comme racine. et donc 20 février 2007 Cours de graphes 3 - Intranet
23
Cours de graphes 3 - Intranet
Les arbres de recouvrement L E S A R B R E S D E R E C O U V R E M E N T 20 février 2007 Cours de graphes 3 - Intranet
24
Cours de graphes 3 - Intranet
Les arbres de recouvrement Un arbre de recouvrement d’un graphe G connexe est un sous-graphe de G qui a la propriété d’être un arbre. Nous préservons la connexité ! Nous n’avons pas de cycles ! Nous avons un nombre minimal d’arêtes ! L’arbre de recouvrement n’est pas unique en général ! Un arbre de recouvrement ! Un autre arbre de recouvrement ! 20 février 2007 Cours de graphes 3 - Intranet
25
Cours de graphes 3 - Intranet
Les arbres de recouvrement Un arbre est connexe sans cycles ! D’où l’algorithme : Tant que le graphe contient un cycle : Enlever une des arêtes du cycle ! Complexité : Il faut enlever jusqu’à O ( | E | ) arêtes ! Trouver un cycle est en O ( | V | ) ! D’où O ( | V | * | E | ) = O ( | V |^3 ) ! C’est beaucoup ! ! ! 20 février 2007 Cours de graphes 3 - Intranet
26
Cours de graphes 3 - Intranet
Les arbres de recouvrement Un algorithme qui ne cherche pas de cycles : Choisir une arête ( u , v ) à supprimer ! Si sa suppression ne casse pas la connexité entre les sommets « u » et « v » (algorithme de la vague) : nous continuons avec le graphe sans ( u , v ) ! Si la suppression de ( u , v ) casse la connexité entre « u » et « v », alors : nous calculons les AR des composantes connexes de « u » et de « v » et nous réintroduisons l’arête ( u , v ) à la fin ! 20 février 2007 Cours de graphes 3 - Intranet
27
Arbres de recouvrement !
Les arbres de recouvrement La suppression de ( u , v ) ne casse pas la connexité : La suppression de ( u , v ) casse la connexité : u v Nous cassons un cycle ! u v CC ( u ) CC ( v ) Arbres de recouvrement ! 20 février 2007 Cours de graphes 3 - Intranet
28
Arbre de recouvrement global !
Les arbres de recouvrement La suppression de ( u , v ) ne casse pas la connexité : La suppression de ( u , v ) casse la connexité : u v Nous cassons un cycle ! u v CC ( u ) CC ( v ) Arbre de recouvrement global ! 20 février 2007 Cours de graphes 3 - Intranet
29
Arbre de recouvrement global !
Les arbres de recouvrement La suppression de ( u , v ) ne casse pas la connexité : La suppression de ( u , v ) casse la connexité : u v Complexité : O ( | E |^2 ) = O ( | V |^4 ) Nous cassons un cycle ! Divide and Conquer ! ! ! u v CC ( u ) CC ( v ) Arbre de recouvrement global ! 20 février 2007 Cours de graphes 3 - Intranet
30
Cours de graphes 3 - Intranet
Les arbres de recouvrement Y A - T - I L M I E U X ? ? ? O U I ! ! ! Du glouton ! 20 février 2007 Cours de graphes 3 - Intranet
31
Cours de graphes 3 - Intranet
Les arbres de recouvrement A un moment du déroulement de l’algorithme, nous avons : un sous-ensemble « S » des sommets qui sont traités et nous en connaissons un arbre de recouvrement « A ». Nous identifions les arêtes avec une extrémité dans « S » et une dans « V \ S » : nous en choisissons une, par exemple ( u , v ) , et S V \ S A u v Glouton ! ! ! 20 février 2007 Cours de graphes 3 - Intranet
32
Cours de graphes 3 - Intranet
Les arbres de recouvrement A un moment du déroulement de l’algorithme, nous avons : un sous-ensemble « S » des sommets qui sont traités et nous en connaissons un arbre de recouvrement « A ». Nous identifions les arêtes avec une extrémité dans « S » et une dans « V \ S » : nous en choisissons une, par exemple ( u , v ) , et A <- A v { ( u , v ) } et S <- S v { v } C'est clairement un arbre ! ! ! S V \ S A u v Glouton ! ! ! 20 février 2007 Cours de graphes 3 - Intranet
33
Cours de graphes 3 - Intranet
Les arbres de recouvrement L’initialisation : Nous choisissons un sommet « u » au hasard : S <- { u } et A <- { } Chaque étape rajoute un sommet et une arrête : Comme nous garantissons la connexité, c’est un arbre ! Lorsque S = E , nous avons notre arbre de recouvrement ! La complexité est en Q ( | V | ) , car nous devons choisir | V | - 1 arêtes et prenons les premières que nous trouvons ! 20 février 2007 Cours de graphes 3 - Intranet
34
Cours de graphes 3 - Intranet
Arbres de recouvrement minimaux Nous considérons un graphe non orienté et pondéré et cherchons un arbre de recouvrement de poids minimal. L’algorithme de Prim ! L’algorithme de Kruskal ! 20 Un arbre de recouvrement de poids 53 ! 15 10 12 8 Un arbre de recouvrement de poids 35 ! 5 13 L’arbre de recouvrement minimal sera abrégé en ARM ! 20 février 2007 Cours de graphes 3 - Intranet
35
Cours de graphes 3 - Intranet
Arbres de recouvrement minimaux L’algorithme de Prim : Nous choisissons un sommet « u » : S <- { u } et A <- { } Le cas général : Les sommets de « S » sont traités et admettent l’ARM « A » ! S V \ S L’ARM : A 20 février 2007 Cours de graphes 3 - Intranet
36
Cours de graphes 3 - Intranet
Arbres de recouvrement minimaux L’algorithme de Prim : Nous choisissons un sommet « u » : S <- { u } et A <- { } Le cas général : Les sommets de « S » sont traités et admettent l’ARM « A » ! Parmi les arêtes ( x , y ) avec x dans S et y dans V \ S : S V \ S L’ARM : A 20 février 2007 Cours de graphes 3 - Intranet
37
Cours de graphes 3 - Intranet
Arbres de recouvrement minimaux L’algorithme de Prim : Nous choisissons un sommet « u » : S <- { u } et A <- { } Le cas général : Les sommets de « S » sont traités et admettent l’ARM « A » ! Parmi les arêtes ( x , y ) avec x dans S et y dans V \ S : Trouvez l’arête ( u , v ) de poids minimal et S V \ S L’ARM : A u v 20 février 2007 Cours de graphes 3 - Intranet
38
Cours de graphes 3 - Intranet
Arbres de recouvrement minimaux L’algorithme de Prim : Nous choisissons un sommet « u » : S <- { u } et A <- { } Le cas général : Les sommets de « S » sont traités et admettent l’ARM « A » ! Parmi les arêtes ( x , y ) avec x dans S et y dans V \ S : Trouvez l’arête ( u , v ) de poids minimal et S <- S v { v } et A <- A v { ( u , v ) } S V \ S L’ARM : A u v 20 février 2007 Cours de graphes 3 - Intranet
39
Cours de graphes 3 - Intranet
Arbres de recouvrement minimaux Un exemple : 30 15 5 20 25 17 10 20 12 20 février 2007 Cours de graphes 3 - Intranet
40
Cours de graphes 3 - Intranet
Arbres de recouvrement minimaux Un exemple : 30 15 5 20 25 17 10 20 12 20 février 2007 Cours de graphes 3 - Intranet
41
Cours de graphes 3 - Intranet
Arbres de recouvrement minimaux Un exemple : 30 15 5 20 25 17 10 20 12 20 février 2007 Cours de graphes 3 - Intranet
42
Cours de graphes 3 - Intranet
Arbres de recouvrement minimaux Un exemple : 30 15 5 20 25 17 10 20 12 20 février 2007 Cours de graphes 3 - Intranet
43
Cours de graphes 3 - Intranet
Arbres de recouvrement minimaux Un exemple : 30 15 5 20 25 17 10 20 12 20 février 2007 Cours de graphes 3 - Intranet
44
Cours de graphes 3 - Intranet
Arbres de recouvrement minimaux Un exemple : 30 15 5 20 25 17 10 20 12 20 février 2007 Cours de graphes 3 - Intranet
45
Nous pouvons majorer par :
Arbres de recouvrement minimaux Complexité : O ( | V | * D ( G ) * log ( | V | * D ( G ) ) ) Recherche par dichotomie, etc, parmi | V | * D ( G ) éléments ! Il y a | V | - 1 arêtes à choisir ! Lorsque nous traitons « v » , il peut y avoir jusqu’à D ( v ) nouvelles arêtes avec une extrémité dans « S » et l’autre dans « V \ S » ! Nous pouvons majorer par : O ( | E | * log ( | E | ) ) 20 février 2007 Cours de graphes 3 - Intranet
46
Cours de graphes 3 - Intranet
Arbres de recouvrement minimaux Preuve de correction, par absurde : Supposons que le choix de l’arête minimale ( u , v ) ne soit pas le bon choix, mais qu’il aurait fallu choisir une autre arête ! L’ARM ne comporte pas ( u , v ) ! ! ! u v 20 février 2007 Cours de graphes 3 - Intranet
47
Cours de graphes 3 - Intranet
Arbres de recouvrement minimaux Preuve de correction, par absurde : Supposons que le choix de l’arête minimale ( u , v ) ne soit pas le bon choix, mais qu’il aurait fallu choisir une autre arête ! L’ARM ne comporte pas ( u , v ) ! ! ! Il doit y avoir dans l’ARM un chemin de « u » vers « v » qui traverse la frontière en une arête ( x , y ) qui est au moins aussi lourde que ( u , v ) ! x y u v 20 février 2007 Cours de graphes 3 - Intranet
48
Cours de graphes 3 - Intranet
Arbres de recouvrement minimaux Preuve de correction, par absurde : Supposons que le choix de l’arête minimale ( u , v ) ne soit pas le bon choix, mais qu’il aurait fallu choisir une autre arête ! L’ARM ne comporte pas ( u , v ) ! ! ! Il doit y avoir dans l’ARM un chemin de « u » vers « v » qui traverse la frontière en une arête ( x , y ) qui est au moins aussi lourde que ( u , v ) ! Nous pouvons enlever ( x , y ) et la remplacer par ( u , v ) ! x y u v 20 février 2007 Cours de graphes 3 - Intranet
49
Cours de graphes 3 - Intranet
Arbres de recouvrement minimaux Preuve de correction, par absurde : Supposons que le choix de l’arête minimale ( u , v ) ne soit pas le bon choix, mais qu’il aurait fallu choisir une autre arête ! L’ARM ne comporte pas ( u , v ) ! ! ! Il doit y avoir dans l’ARM un chemin de « u » vers « v » qui traverse la frontière en une arête ( x , y ) qui est au moins aussi lourde que ( u , v ) ! Nous pouvons enlever ( x , y ) et la remplacer par ( u , v ) ! Si le poids de ( u , v ) est strictement plus petit que celui de ( x , y ) , nous avons une contradiction avec le fait l’ARM est minimal par hypothèse. Si les arêtes ( u , v ) et ( x , y ) ont le même poids, le choix de ( u , v ) à la place de ( x , y ) est licite ! Il y a deux arbres de recouvrement minimaux ! ! ! 20 février 2007 Cours de graphes 3 - Intranet
50
Cours de graphes 3 - Intranet
Arbres de recouvrement minimaux L’algorithme de Kruskal ! Nous trions les arêtes de la plus légère à la plus lourde ! Nous choisissons | V | - 1 arêtes, en commençant par l’arête la plus légère ( la première ) 20 février 2007 Cours de graphes 3 - Intranet
51
Les composantes connexes :
Arbres de recouvrement minimaux L’algorithme de Kruskal ! Nous trions les arêtes de la plus légère à la plus lourde ! Nous choisissons | V | - 1 arêtes, en prenant à chaque itération l’arête la plus légère . . . à moins que ceci ne crée un cycle ! 1 – 2 : 2 – 4 : 1 – 4 : 3 – 5 : 4 – 6 : 5 – 6 : 2 – 3 10 15 1 4 6 Les composantes connexes : { 1 } , { 2 } , { 3 } , { 4 } , { 5 } , { 6 } 5 7 17 2 12 3 5 27 20 février 2007 Cours de graphes 3 - Intranet Poids : 0
52
Les composantes connexes :
Arbres de recouvrement minimaux L’algorithme de Kruskal ! Nous trions les arêtes de la plus légère à la plus lourde ! Nous choisissons | V | - 1 arêtes, en prenant à chaque itération l’arête la plus légère . . . à moins que ceci ne crée un cycle ! 1 – 2 : 2 – 4 : 1 – 4 : 3 – 5 : 4 – 6 : 5 – 6 : 2 – 3 10 15 1 4 6 Les composantes connexes : { 1 , 2 } , { 3 } , { 4 } , { 5 } , { 6 } 5 7 17 2 12 3 5 27 20 février 2007 Cours de graphes 3 - Intranet Poids : 5
53
Les composantes connexes :
Arbres de recouvrement minimaux L’algorithme de Kruskal ! Nous trions les arêtes de la plus légère à la plus lourde ! Nous choisissons | V | - 1 arêtes, en prenant à chaque itération l’arête la plus légère . . . à moins que ceci ne crée un cycle ! 1 – 2 : 2 – 4 : 1 – 4 : 3 – 5 : 4 – 6 : 5 – 6 : 2 – 3 10 15 1 4 6 Les composantes connexes : { 1 , 2 , 4 } , { 3 } , { 5 } , { 6 } 5 7 17 2 12 3 5 27 20 février 2007 Cours de graphes 3 - Intranet Poids : 12
54
Les composantes connexes :
Arbres de recouvrement minimaux L’algorithme de Kruskal ! Nous trions les arêtes de la plus légère à la plus lourde ! Nous choisissons | V | - 1 arêtes, en prenant à chaque itération l’arête la plus légère . . . à moins que ceci ne crée un cycle ! 1 – 2 : 2 – 4 : 1 – 4 : 3 – 5 : 4 – 6 : 5 – 6 : 2 – 3 10 15 1 4 6 Les composantes connexes : { 1 , 2 , 4 } , { 3 , 5 } , { 6 } 5 7 17 2 12 3 5 27 20 février 2007 Cours de graphes 3 - Intranet Poids : 24
55
Les composantes connexes :
Arbres de recouvrement minimaux L’algorithme de Kruskal ! Nous trions les arêtes de la plus légère à la plus lourde ! Nous choisissons | V | - 1 arêtes, en prenant à chaque itération l’arête la plus légère . . . à moins que ceci ne crée un cycle ! 1 – 2 : 2 – 4 : 1 – 4 : 3 – 5 : 4 – 6 : 5 – 6 : 2 – 3 10 15 1 4 6 Les composantes connexes : { 1 , 2 , 4 , 6 } , { 3 , 5 } 5 7 17 2 12 3 5 27 20 février 2007 Cours de graphes 3 - Intranet Poids : 39
56
Les composantes connexes :
Arbres de recouvrement minimaux L’algorithme de Kruskal ! Nous trions les arêtes de la plus légère à la plus lourde ! Nous choisissons | V | - 1 arêtes, en prenant à chaque itération l’arête la plus légère . . . à moins que ceci ne crée un cycle ! 1 – 2 : 2 – 4 : 1 – 4 : 3 – 5 : 4 – 6 : 5 – 6 : 2 – 3 10 15 1 4 6 Les composantes connexes : { 1 , 2 , 4 , 6 , 3 , 5 } 5 7 17 2 12 3 5 27 20 février 2007 Cours de graphes 3 - Intranet Poids : 56
57
Cours de graphes 3 - Intranet
Arbres de recouvrement minimaux Synthèse : L’arbre de recouvrement en Q ( | V | ) ! L’arbre de recouvrement minimal en Q ( | E | * log ( | E | ) ) ! Pour les graphes orientés : en travaux dirigés ! 20 février 2007 Cours de graphes 3 - Intranet
58
Cours de graphes 3 - Intranet
Applications Réalisation d’un réseau de communication : L'arbre de recouvrement minimal ! Les devis ! 90 150 Nancy Paris Rennes 180 80 110 120 200 130 170 Lyon Bordeaux 100 80 150 100 Les lignes envisagées ! Nice Toulouse Marseille 120 80 20 février 2007 Cours de graphes 3 - Intranet
59
Cours de graphes 3 - Intranet
Applications Réalisation d’un réseau de communication : L'arbre de recouvrement minimal ! Les devis ! 90 Nancy Paris Rennes 80 120 Lyon Bordeaux L’ARM coûte 670 ! 80 100 Les lignes envisagées ! Nice Toulouse 120 80 20 février 2007 Cours de graphes 3 - Intranet
60
Cours de graphes 3 - Intranet
Applications Réalisation d’un circuit de voyageur de commerce : Ce problème est NP-difficile ! ! ! 20 février 2007 Cours de graphes 3 - Intranet
61
Cours de graphes 3 - Intranet
Applications Coût 670 ! Réalisation d’un circuit de voyageur de commerce : L'arbre de recouvrement minimal ! Les distances ! 90 150 Nancy Paris Rennes 180 80 110 120 200 130 170 Lyon Bordeaux 100 80 150 100 Les parcours envisagés ! Nice Toulouse Marseille 120 80 20 février 2007 Cours de graphes 3 - Intranet
62
Nous parcourons chaque
Applications Coût 1340 ! Nous parcourons chaque arête deux fois ! Réalisation d’un circuit de voyageur de commerce : Les distances ! 90 150 Nancy Paris Rennes 180 80 110 120 200 130 170 Lyon Bordeaux 100 80 150 100 Les parcours envisagés ! Nice Toulouse Marseille 120 80 20 février 2007 Cours de graphes 3 - Intranet
63
Cours de graphes 3 - Intranet
Applications Coût 1260 ! Réalisation d’un circuit de voyageur de commerce : Les distances ! 90 150 Nancy Paris Rennes 180 80 110 120 200 130 170 Lyon Bordeaux 100 80 150 100 Les parcours envisagés ! Nice Toulouse Marseille 120 80 20 février 2007 Cours de graphes 3 - Intranet
64
Cours de graphes 3 - Intranet
Applications Coût 1190 ! Réalisation d’un circuit de voyageur de commerce : Les distances ! 90 150 Nancy Paris Rennes 180 80 110 120 200 130 170 Lyon Bordeaux 100 80 150 100 Les parcours envisagés ! Nice Toulouse Marseille 120 80 20 février 2007 Cours de graphes 3 - Intranet
65
Cours de graphes 3 - Intranet
Applications Coût 1130 ! Réalisation d’un circuit de voyageur de commerce : Les distances ! 90 150 Nancy Paris Rennes 180 80 110 120 200 130 170 Lyon Bordeaux 100 80 150 100 Les parcours envisagés ! Nice Toulouse Marseille 120 80 20 février 2007 Cours de graphes 3 - Intranet
66
Cours de graphes 3 - Intranet
Applications Coût 1150 ! Réalisation d’un circuit de voyageur de commerce : Les distances ! 90 150 Nancy Paris Rennes 180 80 110 120 200 130 170 Lyon Bordeaux 100 80 150 100 Les parcours envisagés ! Nice Toulouse Marseille 120 80 20 février 2007 Cours de graphes 3 - Intranet
67
Cours de graphes 3 - Intranet
Applications Coût 1090 ! Réalisation d’un circuit de voyageur de commerce : Les distances ! 90 150 Nancy Paris Rennes 180 80 110 120 200 130 170 Lyon Bordeaux 100 80 150 100 Les parcours envisagés ! Nice Toulouse Marseille 120 80 20 février 2007 Cours de graphes 3 - Intranet
68
Cours de graphes 3 - Intranet
Applications Coût 980 ! Réalisation d’un circuit de voyageur de commerce : Les distances ! 90 150 Nancy Paris Rennes 180 80 110 120 200 130 170 Lyon Bordeaux 100 80 150 100 Les parcours envisagés ! Nice Toulouse Marseille 120 80 20 février 2007 Cours de graphes 3 - Intranet
69
Cours de graphes 3 - Intranet
Applications Coût 980 ! Réalisation d’un circuit de voyageur de commerce : 90 Nancy Paris Le circuit retenu ! Rennes 180 110 120 200 Lyon Bordeaux 80 Nice Toulouse Marseille 120 80 20 février 2007 Cours de graphes 3 - Intranet
70
Cours de graphes 3 - Intranet
Variantes d’arbres de recouvrement Nous pouvons, entre autres, construire des variantes comme l’arbre de recouvrement goulot d’étranglement : Nous ne sommons pas les poids, mais nous les minimisons ! L’arête la plus légère est le goulot d’étranglement ! Nous pouvons maximiser sur l’ensemble des AR-GE et chercher l’arbre pour lequel le goulot est aussi large que possible ! 8 Goulot : 8 10 8 17 12 Le goulot le plus large : 10 15 13 10 20 février 2007 Cours de graphes 3 - Intranet
71
Synthèse -----------------------------------------------------------------
Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux. Applications. 20 février 2007 Cours de graphes 3 - Intranet
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.