cours de graphes
Post on 22-Feb-2016
53 Views
Preview:
DESCRIPTION
TRANSCRIPT
20 février 2007 Cours de graphes 3 - Intranet 1
Cours de graphesLes 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
Les arbres-----------------------------------------------------------------
Un arbre (non orienté) !
Une arborescence (orientée) !
20 février 2007 Cours de graphes 3 - Intranet 4
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
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 !u v
20 février 2007 Cours de graphes 3 - Intranet 6
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 !u v
20 février 2007 Cours de graphes 3 - Intranet 7
Les arbres-----------------------------------------------------------------
Les chemins uniques Connexe, sans cycles
Des définitionséquivalentes baséessur la connexité !
Des définitionséquivalentes baséessur l’absence de cycles !
20 février 2007 Cours de graphes 3 - Intranet 8
Les arbres-----------------------------------------------------------------
Les chemins uniques Connexe, sans cycles
Connexe, minimal
Définition :Un graphe est connexe, minimals’il est connexe et n’a pas plusd’arêtes qu’aucun autre grapheconnexe !
20 février 2007 Cours de graphes 3 - Intranet 9
Les arbres-----------------------------------------------------------------
Les chemins uniques Connexe, sans cycles
Connexe, minimal
Connexe, minimal => connexe, sans cycles :
Par absurde ! S’il y avait des cycles,nous pourrions enlever une arêtesans casser la connexité.Ceci est contraire à l’hypothèseque le graphe est minimal !
20 février 2007 Cours de graphes 3 - Intranet 10
Les arbres-----------------------------------------------------------------
Les chemins uniques Connexe, sans cycles
Connexe, minimal
Connexe avec | V | - 1 arêtes
=>
=>
>
Les implicationsque nous allonsprouver !
20 février 2007 Cours de graphes 3 - Intranet 11
Les arbres-----------------------------------------------------------------
Les chemins uniques Connexe, sans cycles
Connexe, minimal
Connexe avec | V | - 1 arêtes
=>
Connexe avec | V | - 1 arêtes=>
Connexe, minimal
Prouvons que pour êtreconnexe, il faut | V | - 1
arêtes au moins !
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
Les arbres-----------------------------------------------------------------
Les chemins uniques Connexe, sans cycles
Connexe, minimal
Connexe avec | V | - 1 arêtes
=>
=>
Les chemins uniques =>
Connexe avec | V | - 1 arêtes
- 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
Les arbres-----------------------------------------------------------------
Les chemins uniques Connexe, sans cycles
Connexe, minimal
Connexe avec | V | - 1 arêtes
=>
=>
>
20 février 2007 Cours de graphes 3 - Intranet 14
Les arbres-----------------------------------------------------------------
Les chemins uniques Connexe, sans cycles
Connexe, minimal
Connexe avec | V | - 1 arêtes
Sans cycles, maximal
Définition :Un graphe est sans cycles,maximal s’il est sans cycles etn’a pas moins d’arêtes qu’aucunautre graphe sans cycles !
20 février 2007 Cours de graphes 3 - Intranet 15
Les arbres-----------------------------------------------------------------
Les chemins uniques Connexe, sans cycles
Connexe, minimal
Connexe avec | V | - 1 arêtes
Sans cycles, maximal
Sans cycles, maximal => connexe, sans cycles :
Par absurde ! S’il y était nonconnexe, nous pourrions ajouterune arête sans créer de cycle.Ceci est contraire à l’hypothèseque le graphe est maximal !
20 février 2007 Cours de graphes 3 - Intranet 16
Les arbres-----------------------------------------------------------------
Les chemins uniques Connexe, sans cycles
Connexe, minimal
Connexe avec | V | - 1 arêtes
Sans cycles, maximal
Sans cycles avec | V | - 1 arêtes
=>
=>>Les implications
que nous allonsprouver !
20 février 2007 Cours de graphes 3 - Intranet 17
Les arbres-----------------------------------------------------------------
Les chemins uniques Connexe, sans cycles
Connexe, minimal
Connexe avec | V | - 1 arêtes
Sans cycles, maximal
Sans cycles avec | V | - 1 arêtes
=>
Sans cycles avec | V | - 1 arêtes=>
Sans cycles, maximal
Prouvons que pour êtresans cycles, on peut avoir | V | - 1 arêtes au plus !
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.
20 février 2007 Cours de graphes 3 - Intranet 18
Les arbres-----------------------------------------------------------------
Les chemins uniques Connexe, sans cycles
Connexe, minimal
Connexe avec | V | - 1 arêtes
Sans cycles, maximal
Sans cycles avec | V | - 1 arêtes
=>
=>
Les chemins uniques =>
Sans cycles 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 !
20 février 2007 Cours de graphes 3 - Intranet 19
Les arbres-----------------------------------------------------------------
Les chemins uniques Connexe, sans cycles
Connexe, minimal
Connexe avec | V | - 1 arêtes
Sans cycles, maximal
Sans cycles avec | V | - 1 arêtes
=>
=>>
20 février 2007 Cours de graphes 3 - Intranet 20
Les arbres-----------------------------------------------------------------
Les chemins uniques Connexe, sans cycles
Connexe, minimal
Connexe avec | V | - 1 arêtes
Sans cycles, maximal
Sans cycles avec | V | - 1 arêtes
Nous n’avons pas la connexitéavec moins de | V | - 1 arêtes. . . mais nous pouvons avoir des cycles !
Nous n’avons pas l’absence de cyclesavec plus de | V | - 1 arêtes. . . mais nous pouvons ne pas avoir la connexité !
20 février 2007 Cours de graphes 3 - Intranet 21
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
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.
20 février 2007 Cours de graphes 3 - Intranet 23
Les arbres de recouvrement-----------------------------------------------------------------
L E SA 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
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 derecouvrement !
Un autre arbre derecouvrement !
20 février 2007 Cours de graphes 3 - Intranet 25
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
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
Les arbres de recouvrement-----------------------------------------------------------------
• La suppression de ( u , v ) ne casse pas la connexité :
• La suppression de ( u , v ) casse la connexité :
u v
CC ( u ) CC ( v )Arbres de recouvrement !
u vNous cassons
un cycle !
20 février 2007 Cours de graphes 3 - Intranet 28
Les arbres de recouvrement-----------------------------------------------------------------
• La suppression de ( u , v ) ne casse pas la connexité :
• La suppression de ( u , v ) casse la connexité :
u v
CC ( u ) CC ( v )Arbre de recouvrement global !
u vNous cassons
un cycle !
20 février 2007 Cours de graphes 3 - Intranet 29
Les arbres de recouvrement-----------------------------------------------------------------
• La suppression de ( u , v ) ne casse pas la connexité :
• La suppression de ( u , v ) casse la connexité :
u v
CC ( u ) CC ( v )Arbre de recouvrement global !
u vNous cassons
un cycle !
20 février 2007 Cours de graphes 3 - Intranet 30
YA - T - I L
M I E U X ? ? ?
Les arbres de recouvrement-----------------------------------------------------------------
20 février 2007 Cours de graphes 3 - Intranet 31
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
u vA
20 février 2007 Cours de graphes 3 - Intranet 32
• 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 }
Les arbres de recouvrement-----------------------------------------------------------------
S V \ S
u vA
20 février 2007 Cours de graphes 3 - Intranet 33
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
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 !
15 20
105
12 813
Un arbre derecouvrementde poids 53 !
Un arbre derecouvrementde poids 35 !
L’arbre de recouvrementminimal sera abrégé en ARM !
20 février 2007 Cours de graphes 3 - Intranet 35
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 \ SL’ARM : A
20 février 2007 Cours de graphes 3 - Intranet 36
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 \ SL’ARM : A
20 février 2007 Cours de graphes 3 - Intranet 37
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 \ SL’ARM : A
u v
20 février 2007 Cours de graphes 3 - Intranet 38
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 \ SL’ARM : A
u v
20 février 2007 Cours de graphes 3 - Intranet 39
Arbres de recouvrement minimaux-----------------------------------------------------------------
• Un exemple :
10
15
20
12
17
20
25
30
5
20 février 2007 Cours de graphes 3 - Intranet 40
Arbres de recouvrement minimaux-----------------------------------------------------------------
• Un exemple :
10
15
20
12
17
20
25
30
5
20 février 2007 Cours de graphes 3 - Intranet 41
Arbres de recouvrement minimaux-----------------------------------------------------------------
• Un exemple :
10
15
20
12
17
20
25
30
5
20 février 2007 Cours de graphes 3 - Intranet 42
Arbres de recouvrement minimaux-----------------------------------------------------------------
• Un exemple :
10
15
20
12
17
20
25
30
5
20 février 2007 Cours de graphes 3 - Intranet 43
Arbres de recouvrement minimaux-----------------------------------------------------------------
• Un exemple :
10
15
20
12
17
20
25
30
5
20 février 2007 Cours de graphes 3 - Intranet 44
Arbres de recouvrement minimaux-----------------------------------------------------------------
• Un exemple :
10
15
20
12
17
20
25
30
5
20 février 2007 Cours de graphes 3 - Intranet 45
Arbres de recouvrement minimaux-----------------------------------------------------------------
• Complexité : O ( | V | * D ( G ) * log ( | V | * D ( G ) ) )
Il y a | V | - 1arêtes à choisir !
Lorsque nous traitons « v » , il peuty avoir jusqu’à D ( v ) nouvellesarêtes avec une extrémité dans « S »et l’autre dans « V \ S » !
Recherche par dichotomie, etc,parmi | V | * D ( G ) éléments !
Nous pouvons majorer par :O ( | E | * log ( | E | ) )
20 février 2007 Cours de graphes 3 - Intranet 46
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
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 ) !
u v
x
y
20 février 2007 Cours de graphes 3 - Intranet 48
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 ) !
u v
x
y
20 février 2007 Cours de graphes 3 - Intranet 49
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
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
Arbres de recouvrement minimaux-----------------------------------------------------------------
1
23
4
5
610 15
5 7 12 17Les composantes connexes :
{ 1 } , { 2 } , { 3 } , { 4 } , { 5 } , { 6 }27
1 – 2 : 2 – 4 : 1 – 4 : 3 – 5 : 4 – 6 : 5 – 6 : 2 – 3
Poids : 0
• 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 !
20 février 2007 Cours de graphes 3 - Intranet 52
Arbres de recouvrement minimaux-----------------------------------------------------------------
1
23
4
5
610 15
5 7 12 17Les composantes connexes :
{ 1 , 2 } , { 3 } , { 4 } , { 5 } , { 6 }27
1 – 2 : 2 – 4 : 1 – 4 : 3 – 5 : 4 – 6 : 5 – 6 : 2 – 3
Poids : 5
• 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 !
20 février 2007 Cours de graphes 3 - Intranet 53
Arbres de recouvrement minimaux-----------------------------------------------------------------
1
23
4
5
610 15
5 7 12 17Les composantes connexes :
{ 1 , 2 , 4 } , { 3 } , { 5 } , { 6 }27
1 – 2 : 2 – 4 : 1 – 4 : 3 – 5 : 4 – 6 : 5 – 6 : 2 – 3
Poids : 12
• 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 !
20 février 2007 Cours de graphes 3 - Intranet 54
Arbres de recouvrement minimaux-----------------------------------------------------------------
1
23
4
5
610 15
5 7 12 17Les composantes connexes :
{ 1 , 2 , 4 } , { 3 , 5 } , { 6 }27
1 – 2 : 2 – 4 : 1 – 4 : 3 – 5 : 4 – 6 : 5 – 6 : 2 – 3
Poids : 24
• 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 !
20 février 2007 Cours de graphes 3 - Intranet 55
Arbres de recouvrement minimaux-----------------------------------------------------------------
1
23
4
5
610 15
5 7 12 17Les composantes connexes :
{ 1 , 2 , 4 , 6 } , { 3 , 5 }27
1 – 2 : 2 – 4 : 1 – 4 : 3 – 5 : 4 – 6 : 5 – 6 : 2 – 3
Poids : 39
• 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 !
20 février 2007 Cours de graphes 3 - Intranet 56
Arbres de recouvrement minimaux-----------------------------------------------------------------
1
23
4
5
610 15
5 7 12 17Les composantes connexes :
{ 1 , 2 , 4 , 6 , 3 , 5 }27
1 – 2 : 2 – 4 : 1 – 4 : 3 – 5 : 4 – 6 : 5 – 6 : 2 – 3
Poids : 56
• 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 !
20 février 2007 Cours de graphes 3 - Intranet 57
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
Applications-----------------------------------------------------------------
• Réalisation d’un réseau de communication :
ParisRennes
Bordeaux
Nancy
Lyon
MarseilleNiceToulouse
Leslignesenvisagées !
Les devis !150
120
80 100
120
150
170
90
100
80
20080110
180
130
20 février 2007 Cours de graphes 3 - Intranet 59
Applications-----------------------------------------------------------------
• Réalisation d’un réseau de communication :
ParisRennes
Bordeaux
Nancy
Lyon
NiceToulouseLeslignesenvisagées !
Les devis !
120
80 100
120
90
80
80
L’ARM coûte 670 !
20 février 2007 Cours de graphes 3 - Intranet 60
Applications-----------------------------------------------------------------
• Réalisation d’un circuit de voyageur de commerce :
20 février 2007 Cours de graphes 3 - Intranet 61
Applications-----------------------------------------------------------------
• Réalisation d’un circuit de voyageur de commerce :
Lesparcoursenvisagés !
Les distances !Paris
Rennes
Bordeaux
Nancy
Lyon
MarseilleNiceToulouse
150
120
80 100
120
150
170
90
100
80
20080110
Coût 670 !
180
130
20 février 2007 Cours de graphes 3 - Intranet 62
Applications-----------------------------------------------------------------
• Réalisation d’un circuit de voyageur de commerce :
Lesparcoursenvisagés !
ParisRennes
Bordeaux
Nancy
Lyon
MarseilleNiceToulouse
150
120
80 100
120
150
170
90
100
80
20080110
Coût 1340 !
180
130
Les distances !
20 février 2007 Cours de graphes 3 - Intranet 63
Applications-----------------------------------------------------------------
• Réalisation d’un circuit de voyageur de commerce :
Lesparcoursenvisagés !
ParisRennes
Bordeaux
Nancy
Lyon
MarseilleNiceToulouse
150
120
80 100
120
150
170
90
100
80
20080110
Coût 1260 !
180
130
Les distances !
20 février 2007 Cours de graphes 3 - Intranet 64
Applications-----------------------------------------------------------------
• Réalisation d’un circuit de voyageur de commerce :
Lesparcoursenvisagés !
ParisRennes
Bordeaux
Nancy
Lyon
MarseilleNiceToulouse
150
120
80 100
120
150
170
90
100
80
20080110
Coût 1190 !
180
130
Les distances !
20 février 2007 Cours de graphes 3 - Intranet 65
Applications-----------------------------------------------------------------
• Réalisation d’un circuit de voyageur de commerce :
Lesparcoursenvisagés !
ParisRennes
Bordeaux
Nancy
Lyon
MarseilleNiceToulouse
150
120
80 100
120
150
170
90
100
80
20080110
Coût 1130 !
180
130
Les distances !
20 février 2007 Cours de graphes 3 - Intranet 66
Applications-----------------------------------------------------------------
• Réalisation d’un circuit de voyageur de commerce :
Lesparcoursenvisagés !
ParisRennes
Bordeaux
Nancy
Lyon
MarseilleNiceToulouse
150
120
80 100
120
150
170
90
100
80
20080110
Coût 1150 !
180
130
Les distances !
20 février 2007 Cours de graphes 3 - Intranet 67
Applications-----------------------------------------------------------------
• Réalisation d’un circuit de voyageur de commerce :
Lesparcoursenvisagés !
ParisRennes
Bordeaux
Nancy
Lyon
MarseilleNiceToulouse
150
120
80 100
120
150
170
90
100
80
20080110
Coût 1090 !
180
130
Les distances !
20 février 2007 Cours de graphes 3 - Intranet 68
Applications-----------------------------------------------------------------
• Réalisation d’un circuit de voyageur de commerce :
Lesparcoursenvisagés !
ParisRennes
Bordeaux
Nancy
Lyon
MarseilleNiceToulouse
150
120
80 100
120
150
170
90
100
80
20080110
Coût 980 !
180
130
Les distances !
20 février 2007 Cours de graphes 3 - Intranet 69
Applications-----------------------------------------------------------------
• Réalisation d’un circuit de voyageur de commerce :
ParisRennes
Bordeaux
Nancy
Lyon
MarseilleNiceToulouse
120
80
120
90
80
200110
Coût 980 !
180
Le circuitretenu !
20 février 2007 Cours de graphes 3 - Intranet 70
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 !
10
1512
10
88
17
13
Goulot : 8
Le goulot leplus large : 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.
top related