20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les...

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.

Transcript of 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les...

Page 1: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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.

Page 2: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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

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

Un arbre (non orienté) !

Une arborescence (orientée) !

Page 4: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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

Page 21: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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 !

Page 25: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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 !

Page 28: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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 !

Page 29: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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 !

Page 30: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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 !

Page 35: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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

Page 36: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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

Page 37: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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

Page 38: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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

Page 39: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les 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 )

Page 51: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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

Page 59: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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

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

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

Page 61: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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

Page 62: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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 !

Page 63: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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 !

Page 64: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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 !

Page 65: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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 !

Page 66: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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 !

Page 67: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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 !

Page 68: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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 !

Page 69: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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 !

Page 70: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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

Page 71: 20 février 2007Cours de graphes 3 - Intranet1 Cours de graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux.

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.