Cours de graphes

71
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.

description

Cours de graphes. Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux. Applications. Les grandes lignes du cours. Définitions de base Connexité Les plus courts chemins Dijkstra et Bellmann-Ford Arbres Arbres de recouvrement minimaux - PowerPoint PPT Presentation

Transcript of Cours de graphes

Page 1: Cours de graphes

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.

Page 2: Cours de graphes

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

Page 3: Cours de graphes

20 février 2007 Cours de graphes 3 - Intranet 3

Les arbres-----------------------------------------------------------------

Un arbre (non orienté) !

Une arborescence (orientée) !

Page 4: Cours de graphes

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 !

Page 5: Cours de graphes

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

Page 6: Cours de graphes

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

Page 7: Cours de graphes

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 !

Page 8: Cours de graphes

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 !

Page 9: Cours de graphes

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 !

Page 10: Cours de graphes

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 !

Page 11: Cours de graphes

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 !

Page 12: Cours de graphes

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 !

Page 13: Cours de graphes

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

=>

=>

>

Page 14: Cours de graphes

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 !

Page 15: Cours de graphes

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 !

Page 16: Cours de graphes

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 !

Page 17: Cours de graphes

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.

Page 18: Cours de graphes

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 !

Page 19: Cours de graphes

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

=>

=>>

Page 20: Cours de graphes

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é !

Page 21: Cours de graphes

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.

Page 22: Cours de graphes

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.

Page 23: Cours de graphes

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

Page 24: Cours de graphes

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 !

Page 25: Cours de graphes

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 ! ! !

Page 26: Cours de graphes

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 !

Page 27: Cours de graphes

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 !

Page 28: Cours de graphes

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 !

Page 29: Cours de graphes

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 !

Page 30: Cours de graphes

20 février 2007 Cours de graphes 3 - Intranet 30

YA - T - I L

M I E U X ? ? ?

Les arbres de recouvrement-----------------------------------------------------------------

Page 31: Cours de graphes

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

Page 32: Cours de graphes

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

Page 33: Cours de graphes

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 !

Page 34: Cours de graphes

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 !

Page 35: Cours de graphes

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

Page 36: Cours de graphes

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

Page 37: Cours de graphes

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

Page 38: Cours de graphes

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

Page 39: Cours de graphes

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

Page 40: Cours de graphes

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

Page 41: Cours de graphes

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

Page 42: Cours de graphes

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

Page 43: Cours de graphes

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

Page 44: Cours de graphes

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

Page 45: Cours de graphes

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 | ) )

Page 46: Cours de graphes

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

Page 47: Cours de graphes

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

Page 48: Cours de graphes

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

Page 49: Cours de graphes

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 ! ! !

Page 50: Cours de graphes

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 )

Page 51: Cours de graphes

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 !

Page 52: Cours de graphes

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 !

Page 53: Cours de graphes

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 !

Page 54: Cours de graphes

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 !

Page 55: Cours de graphes

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 !

Page 56: Cours de graphes

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 !

Page 57: Cours de graphes

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 !

Page 58: Cours de graphes

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

Page 59: Cours de graphes

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 !

Page 60: Cours de graphes

20 février 2007 Cours de graphes 3 - Intranet 60

Applications-----------------------------------------------------------------

• Réalisation d’un circuit de voyageur de commerce :

Page 61: Cours de graphes

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

Page 62: Cours de graphes

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 !

Page 63: Cours de graphes

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 !

Page 64: Cours de graphes

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 !

Page 65: Cours de graphes

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 !

Page 66: Cours de graphes

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 !

Page 67: Cours de graphes

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 !

Page 68: Cours de graphes

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 !

Page 69: Cours de graphes

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 !

Page 70: Cours de graphes

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

Page 71: Cours de graphes

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.