20 février 2007cours de graphes 3 - intranet1 cours de graphes les arbres et arborescences. les...
Post on 04-Apr-2015
113 Views
Preview:
TRANSCRIPT
20 février 2007 Cours de graphes 3 - Intranet 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
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 cycles
avec 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 de
recouvrement !
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 v
Nous cassonsun 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 v
Nous cassonsun 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 v
Nous cassonsun 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
10
5
128
13
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 \ S
L’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 \ S
L’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 \ S
L’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 \ S
L’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
Marseille
NiceToulouseLeslignesenvisagées !
Les devis !
150
120
80 100
120
150
170
90
100
80
20080
110180
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 !
ParisRennes
Bordeaux
Nancy
Lyon
Marseille
NiceToulouse
150
120
80 100
120
150
170
90
100
80
20080
110
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
Marseille
NiceToulouse
150
120
80 100
120
150
170
90
100
80
20080
110
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
Marseille
NiceToulouse
150
120
80 100
120
150
170
90
100
80
20080
110
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
Marseille
NiceToulouse
150
120
80 100
120
150
170
90
100
80
20080
110
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
Marseille
NiceToulouse
150
120
80 100
120
150
170
90
100
80
20080
110
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
Marseille
NiceToulouse
150
120
80 100
120
150
170
90
100
80
20080
110
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
Marseille
NiceToulouse
150
120
80 100
120
150
170
90
100
80
20080
110
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
Marseille
NiceToulouse
150
120
80 100
120
150
170
90
100
80
20080
110
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
Marseille
NiceToulouse
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
15
12
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