St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler [email protected] Cours de...

196

Transcript of St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler [email protected] Cours de...

Page 1: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.
Page 2: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 2

Marc GenglerMarc Gengler

[email protected]@esil.univ-mrs.frmrs.fr

Cours de graphesCours de graphes

Alexandra Bac - Sébastien FournierAlexandra Bac - Sébastien Fournier

12h de cours12h de cours12h de TD12h de TDdes devoirsdes devoirs

… … et un et un examenexamen

Page 3: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 3

Les grandes lignes du coursLes grandes lignes du cours

•Définitions de baseDéfinitions de base•ConnexitéConnexité•Les plus courts cheminsLes plus courts chemins•Dijkstra et Bellmann-FordDijkstra et Bellmann-Ford•ArbresArbres•Arbres de recouvrement minimaux Arbres de recouvrement minimaux •Problèmes de flotsProblèmes de flots•Coloriage de graphesColoriage de graphes•CouplageCouplage•Chemins d’Euler et de HamiltonChemins d’Euler et de Hamilton•Problèmes NP-completsProblèmes NP-complets

Page 4: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 4

BibliographieBibliographie

•Tout ce qui contientTout ce qui contient

- graphes, graphs.- graphes, graphs.•InternetInternet

- souvent, c’est trop simplifié ou trop - souvent, c’est trop simplifié ou trop dense,dense,

- et pas toujours correct.- et pas toujours correct.•Mes choixMes choix

- Introduction to Algorithms, Leiserson et - Introduction to Algorithms, Leiserson et al.al.

- Algorithms, Sedgewick.- Algorithms, Sedgewick.

- Fundamental Algorithms, Knuth.- Fundamental Algorithms, Knuth.

- Graphes, Berge.- Graphes, Berge.

Page 5: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 5

Les grandes lignes du coursLes grandes lignes du cours

•Définitions de baseDéfinitions de base•ConnexitéConnexité•Les plus courts cheminsLes plus courts chemins•Dijkstra et Bellmann-FordDijkstra et Bellmann-Ford•ArbresArbres•Arbres de recouvrement minimaux Arbres de recouvrement minimaux •Problèmes de flotsProblèmes de flots•Coloriage de graphesColoriage de graphes•CouplageCouplage•Chemins d’Euler et de HamiltonChemins d’Euler et de Hamilton•Problèmes NP-completsProblèmes NP-complets

Page 6: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 6

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Il y a des sommets ! (vertex, vertices)Il y a des sommets ! (vertex, vertices)

Page 7: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 7

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Il y a des sommets ! (vertex, vertices)Il y a des sommets ! (vertex, vertices)

• Il y a des arêtes ! (edge)Il y a des arêtes ! (edge)

Page 8: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 8

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Il y a des sommets ! (vertex, vertices)Il y a des sommets ! (vertex, vertices)

• Il y a des arêtes ! (edge)Il y a des arêtes ! (edge)

• Il y a des arcs ! (arc)Il y a des arcs ! (arc)

Page 9: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 9

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Formellement :Formellement :

• Il y a l’ensemble « V » des sommets.Il y a l’ensemble « V » des sommets.

Page 10: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 10

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Formellement :Formellement :

• Il y a l’ensemble « V » des sommets.Il y a l’ensemble « V » des sommets.

– Il y en a « n », c’est-à-dire | V | .Il y en a « n », c’est-à-dire | V | .– La complexité est fonction du nombre de La complexité est fonction du nombre de

sommets.sommets.

Page 11: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 11

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Formellement :Formellement :

• Il y a l’ensemble « V » des sommets.Il y a l’ensemble « V » des sommets.

– Il y en a « n », c’est-à-dire | V | .Il y en a « n », c’est-à-dire | V | .– La complexité est fonction du nombre de La complexité est fonction du nombre de

sommets.sommets.

• Il y a l’ensemble « E » des arcs et arêtes.Il y a l’ensemble « E » des arcs et arêtes.

– C’est une partie du produit cartésien V x V .C’est une partie du produit cartésien V x V .

Page 12: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 12

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Formellement :Formellement :

• Il y a l’ensemble « V » des sommets.Il y a l’ensemble « V » des sommets.

– Il y en a « n », c’est-à-dire | V | .Il y en a « n », c’est-à-dire | V | .– La complexité est fonction du nombre de La complexité est fonction du nombre de

sommets.sommets.

• Il y a l’ensemble « E » des arcs et arêtes.Il y a l’ensemble « E » des arcs et arêtes.

– C’est une partie du produit cartésien V x V .C’est une partie du produit cartésien V x V .

– « E » peut être réflexif, irréflexif ou ni l’un, ni « E » peut être réflexif, irréflexif ou ni l’un, ni l’autre.l’autre.

Page 13: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 13

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Formellement :Formellement :

• Il y a l’ensemble « V » des sommets.Il y a l’ensemble « V » des sommets.

– Il y en a « n », c’est-à-dire | V | .Il y en a « n », c’est-à-dire | V | .– La complexité est fonction du nombre de La complexité est fonction du nombre de

sommets.sommets.

• Il y a l’ensemble « E » des arcs et arêtes.Il y a l’ensemble « E » des arcs et arêtes.

– C’est une partie du produit cartésien V x V .C’est une partie du produit cartésien V x V .

– « E » peut être réflexif, irréflexif ou ni l’un, ni « E » peut être réflexif, irréflexif ou ni l’un, ni l’autre.l’autre.

Tous des couples ( a , a ) !Tous des couples ( a , a ) !

Page 14: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 14

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Formellement :Formellement :

• Il y a l’ensemble « V » des sommets.Il y a l’ensemble « V » des sommets.

– Il y en a « n », c’est-à-dire | V | .Il y en a « n », c’est-à-dire | V | .– La complexité est fonction du nombre de La complexité est fonction du nombre de

sommets.sommets.

• Il y a l’ensemble « E » des arcs et arêtes.Il y a l’ensemble « E » des arcs et arêtes.

– C’est une partie du produit cartésien V x V .C’est une partie du produit cartésien V x V .

– « E » peut être réflexif, irréflexif ou ni l’un, ni « E » peut être réflexif, irréflexif ou ni l’un, ni l’autre.l’autre.

Tous des couples ( a , a ) !Tous des couples ( a , a ) ! Aucun couple ( a , a ) !Aucun couple ( a , a ) !

Page 15: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 15

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Formellement :Formellement :

• Il y a l’ensemble « V » des sommets.Il y a l’ensemble « V » des sommets.

– Il y en a « n », c’est-à-dire | V | .Il y en a « n », c’est-à-dire | V | .– La complexité est fonction du nombre de sommets.La complexité est fonction du nombre de sommets.

• Il y a l’ensemble « E » des arcs et arêtes.Il y a l’ensemble « E » des arcs et arêtes.

– C’est une partie du produit cartésien V x V .C’est une partie du produit cartésien V x V .

– « E » peut être réflexif, irréflexif ou ni l’un, ni « E » peut être réflexif, irréflexif ou ni l’un, ni l’autre.l’autre.

– « E » peut être symétrique, anti-symétrique ou ni « E » peut être symétrique, anti-symétrique ou ni -- ni. ni.

Page 16: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 16

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

( a , b ) ssi ( b , a ) !( a , b ) ssi ( b , a ) !

• Formellement :Formellement :

• Il y a l’ensemble « V » des sommets.Il y a l’ensemble « V » des sommets.

– Il y en a « n », c’est-à-dire | V | .Il y en a « n », c’est-à-dire | V | .– La complexité est fonction du nombre de sommets.La complexité est fonction du nombre de sommets.

• Il y a l’ensemble « E » des arcs et arêtes.Il y a l’ensemble « E » des arcs et arêtes.

– C’est une partie du produit cartésien V x V .C’est une partie du produit cartésien V x V .

– « E » peut être réflexif, irréflexif ou ni l’un, ni « E » peut être réflexif, irréflexif ou ni l’un, ni l’autre.l’autre.

– « E » peut être symétrique, anti-symétrique ou ni « E » peut être symétrique, anti-symétrique ou ni -- ni. ni.

Page 17: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 17

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

( a , b ) ssi ( b , a ) !( a , b ) ssi ( b , a ) !Si ( a , b ) avec a = b alors pas ( b , a ) !Si ( a , b ) avec a = b alors pas ( b , a ) !//

• Formellement :Formellement :

• Il y a l’ensemble « V » des sommets.Il y a l’ensemble « V » des sommets.

– Il y en a « n », c’est-à-dire | V | .Il y en a « n », c’est-à-dire | V | .– La complexité est fonction du nombre de sommets.La complexité est fonction du nombre de sommets.

• Il y a l’ensemble « E » des arcs et arêtes.Il y a l’ensemble « E » des arcs et arêtes.

– C’est une partie du produit cartésien V x V .C’est une partie du produit cartésien V x V .

– « E » peut être réflexif, irréflexif ou ni l’un, ni « E » peut être réflexif, irréflexif ou ni l’un, ni l’autre.l’autre.

– « E » peut être symétrique, anti-symétrique ou ni « E » peut être symétrique, anti-symétrique ou ni -- ni. ni.

Page 18: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 18

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Formellement :Formellement :

• Il y a l’ensemble « V » des sommets.Il y a l’ensemble « V » des sommets.

– Il y en a « n », c’est-à-dire | V | .Il y en a « n », c’est-à-dire | V | .– La complexité est fonction du nombre de sommets.La complexité est fonction du nombre de sommets.

• Il y a l’ensemble « E » des arcs et arêtes.Il y a l’ensemble « E » des arcs et arêtes.

– C’est une partie du produit cartésien V x V .C’est une partie du produit cartésien V x V .

– « E » peut être réflexif, irréflexif ou ni l’un, ni « E » peut être réflexif, irréflexif ou ni l’un, ni l’autre.l’autre.

– « E » peut être « E » peut être symétriquesymétrique, , anti-symétrique ou ni anti-symétrique ou ni -- ni ni..

Graphe non orienté !Graphe non orienté ! Graphe orienté !Graphe orienté !

Page 19: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 19

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Formellement :Formellement :

• Il y a l’ensemble « V » des sommets.Il y a l’ensemble « V » des sommets.

– Il y en a « n », c’est-à-dire | V | .Il y en a « n », c’est-à-dire | V | .– La complexité est fonction du nombre de sommets.La complexité est fonction du nombre de sommets.

• Il y a l’ensemble « E » des arcs et arêtes.Il y a l’ensemble « E » des arcs et arêtes.

– C’est une partie du produit cartésien V x V .C’est une partie du produit cartésien V x V .

– « E » peut être réflexif, irréflexif ou ni l’un, ni l’autre.« E » peut être réflexif, irréflexif ou ni l’un, ni l’autre.

– « E » peut être symétrique, anti-symétrique ou ni « E » peut être symétrique, anti-symétrique ou ni -- ni.ni.

– « E » peut être transitive, ou non-transitive.« E » peut être transitive, ou non-transitive.

Page 20: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 20

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

Si ( a , b ) et ( b , c ) alors (a , c ) !Si ( a , b ) et ( b , c ) alors (a , c ) !

• Formellement :Formellement :

• Il y a l’ensemble « V » des sommets.Il y a l’ensemble « V » des sommets.

– Il y en a « n », c’est-à-dire | V | .Il y en a « n », c’est-à-dire | V | .– La complexité est fonction du nombre de sommets.La complexité est fonction du nombre de sommets.

• Il y a l’ensemble « E » des arcs et arêtes.Il y a l’ensemble « E » des arcs et arêtes.

– C’est une partie du produit cartésien V x V .C’est une partie du produit cartésien V x V .

– « E » peut être réflexif, irréflexif ou ni l’un, ni l’autre.« E » peut être réflexif, irréflexif ou ni l’un, ni l’autre.

– « E » peut être symétrique, anti-symétrique ou ni « E » peut être symétrique, anti-symétrique ou ni -- ni.ni.

– « E » peut être transitive, ou non-transitive.« E » peut être transitive, ou non-transitive.

Page 21: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 21

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Formellement :Formellement :

– G = ( V , E )G = ( V , E )– Un graphe est donné par les ensembles « V » et Un graphe est donné par les ensembles « V » et

« E ».« E ».

Page 22: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 22

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Formellement :Formellement :

– G = ( V , E )G = ( V , E )– Un graphe est donné par les ensembles « V » et Un graphe est donné par les ensembles « V » et

« E ».« E ».

• Il y a des multi-graphes qui sont correspondent au cas Il y a des multi-graphes qui sont correspondent au cas où « E » est un multi-ensemble (plusieurs arêtes et/ou où « E » est un multi-ensemble (plusieurs arêtes et/ou arcs entre deux sommets).arcs entre deux sommets).

Page 23: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 23

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Formellement :Formellement :

– G = ( V , E )G = ( V , E )– Un graphe est donné par les ensembles « V » et Un graphe est donné par les ensembles « V » et

« E ».« E ».

• Il y a des multi-graphes qui sont correspondent au cas Il y a des multi-graphes qui sont correspondent au cas où « E » est un multi-ensemble (plusieurs arêtes et/ou où « E » est un multi-ensemble (plusieurs arêtes et/ou arcs entre deux sommets).arcs entre deux sommets).

• Il y a des graphes pondérés qui correspondent au fait Il y a des graphes pondérés qui correspondent au fait l’on attache des poids aux arcs ou arêtes (entiers par l’on attache des poids aux arcs ou arêtes (entiers par exemple).exemple). 1212

15152525

Page 24: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 24

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Sous-graphe G’ d’un graphe G :Sous-graphe G’ d’un graphe G :

– Le graphe G’ = ( V’ , E’ ) est un sous-graphe du Le graphe G’ = ( V’ , E’ ) est un sous-graphe du graphe G = ( V , E ) , si :graphe G = ( V , E ) , si :

• V’ V les sommets de G’ sont parmi ceux V’ V les sommets de G’ sont parmi ceux de Gde G

• E’ E V’ x V’ les arcs et arêtes de G’ sont E’ E V’ x V’ les arcs et arêtes de G’ sont parmiparmi

ceux et celles de G et se ceux et celles de G et se limitentlimitent

aux sommets de G’.aux sommets de G’.

UUUU

vv

Page 25: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 25

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Représentation des données :Représentation des données :

• Nous indexons (numérotons) les sommets.Nous indexons (numérotons) les sommets.

• Nous représentons les arcs et les arêtes.Nous représentons les arcs et les arêtes.

Page 26: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 26

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Représentation des données :Représentation des données :

• Nous indexons (numérotons) les sommets.Nous indexons (numérotons) les sommets.

• Nous représentons les arcs et les arêtes.Nous représentons les arcs et les arêtes.

• Nous obtenons une matrice « M » de taille n Nous obtenons une matrice « M » de taille n x n qui comporte des valeurs binaires.x n qui comporte des valeurs binaires.

• M( a , b ) est vrai si et seulement si l’arc ( a M( a , b ) est vrai si et seulement si l’arc ( a , b ) existe !, b ) existe !

Page 27: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 27

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

Page 28: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 28

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

44

3355

66

Page 29: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 29

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

44

3355

66

11

22

33

44

55

66

11 22 33 44 55 66

Page 30: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 30

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

44

3355

66

11

22

33

44

55

66

11 22 33 44 55 66

L’existence ou nonde l’arc ( 2 , 5 ) ! ! !

Page 31: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 31

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

44

3355

66

11

22

33

44

55

66

11 22 33 44 55 66

Page 32: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 32

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

44

3355

66

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

F La diagonale parle des couples ( u , u ) !

Page 33: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 33

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

44

3355

66

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

F

V

V

V

V

Les arêtes ( 2 , 4 ) et ( 3 , 5 )sont symétriques !

La diagonale parle des couples ( u , u ) !

Page 34: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 34

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

44

3355

66

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

F

V

V

V

V

Les arêtes ( 2 , 4 ) et ( 3 , 5 )sont symétriques !

La diagonale parle des couples ( u , u ) !

Page 35: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 35

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

44

3355

66

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

F

V

V

V

V

Les arêtes ( 2 , 4 ) et ( 3 , 5 )sont symétriques !

V

V

Les arcs ( 1 , 4 ) et ( 4 , 1 )donnent aussi une symétrie !

La diagonale parle des couples ( u , u ) !

Page 36: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 36

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

44

3355

66

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

F

V

V

V

V

Les arêtes ( 2 , 4 ) et ( 3 , 5 )sont symétriques !

V

V

Les arcs ( 1 , 4 ) et ( 4 , 1 )donnent aussi une symétrie !

La diagonale parle des couples ( u , u ) !

Page 37: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 37

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

44

3355

66

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

F

V

V

V

V

Les arêtes ( 2 , 4 ) et ( 3 , 5 )sont symétriques !

V

V

Les arcs ( 1 , 4 ) et ( 4 , 1 )donnent aussi une symétrie !

V

V

Les arcs ( 4 , 3 ) et ( 6 , 3 ) n’ontpas leur pendant symétrique ! ! !

La diagonale parle des couples ( u , u ) !

Page 38: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 38

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

44

3355

66

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

F

V

V

V

V

Les arêtes ( 2 , 4 ) et ( 3 , 5 )sont symétriques !

V

V

Les arcs ( 1 , 4 ) et ( 4 , 1 )donnent aussi une symétrie !

Les arcs ( 4 , 3 ) et ( 6 , 3 ) n’ontpas leur pendant symétrique ! ! !

V

V

F F

La diagonale parle des couples ( u , u ) !

Page 39: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 39

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

44

3355

66

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

F

V

V

V

V

Les arêtes ( 2 , 4 ) et ( 3 , 5 )sont symétriques !

V

V

Les arcs ( 1 , 4 ) et ( 4 , 1 )donnent aussi une symétrie !

V

V

Les arcs ( 4 , 3 ) et ( 6 , 3 ) n’ontpas leur pendant symétrique ! ! !

Il faut n^2 bits !

F F

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

La diagonale parle des couples ( u , u ) !

Page 40: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 40

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

44

3355

66

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

FPour des multi-graphes, nousremplaçons les booléens pardes multiplicités !V

V

V

V

V

V

Pour des graphes pondérés,nous remplaçons les booléenspar des poids !

V

V

F F

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

Page 41: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 41

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

F

V

V

V

V

V

V

V

V

F F

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

Parfois, le graphe est peu dense !Parfois, le graphe est peu dense !

Nous mémorisons juste les indicesNous mémorisons juste les indicesdes colonnes différentes de Faux !des colonnes différentes de Faux !

Page 42: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 42

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

F

V

V

V

V

V

V

V

V

F F

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

44

Parfois, le graphe est peu dense !Parfois, le graphe est peu dense !

Nous mémorisons juste les indicesNous mémorisons juste les indicesdes colonnes différentes de Faux !des colonnes différentes de Faux !

Page 43: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 43

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

F

V

V

V

V

V

V

V

V

F F

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

44

44

Parfois, le graphe est peu dense !Parfois, le graphe est peu dense !

Nous mémorisons juste les indicesNous mémorisons juste les indicesdes colonnes différentes de Faux !des colonnes différentes de Faux !

Page 44: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 44

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

F

V

V

V

V

V

V

V

V

F F

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

44

44

55

11 22 33

33

33 66

Parfois, le graphe est peu dense !Parfois, le graphe est peu dense !

Nous mémorisons juste les indicesNous mémorisons juste les indicesdes colonnes différentes de Faux !des colonnes différentes de Faux !

Page 45: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 45

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

F

V

V

V

V

V

V

V

V

F F

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

44

44

55

11 22 33

33

33 66

Parfois, le graphe est peu dense !Parfois, le graphe est peu dense !

Nous mémorisons juste les indicesNous mémorisons juste les indicesdes colonnes différentes de Faux !des colonnes différentes de Faux !

Page 46: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 46

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

F

V

V

V

V

V

V

V

V

F F

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

44

44

55

11 22 33

33

33 66

Il fautIl faut( ( | V || V | + + | E || E | ) * ) * log( | V | )log( | V | )bits !bits !

Parfois, le graphe est peu dense !Parfois, le graphe est peu dense !

Nous mémorisons juste les indicesNous mémorisons juste les indicesdes colonnes différentes de Faux !des colonnes différentes de Faux !

Page 47: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 47

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

FLes voisins d’un sommet « u » :

Les voisins sortants : V+ ( u )

Les voisins entrants : V- ( u )

V

V

V

V

V

V

V

V

F F

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

Page 48: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 48

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

FLes voisins d’un sommet « u » :

Les voisins sortants : V+ ( u )

Les voisins entrants : V- ( u )

V

V

V

V

V

V

V+ ( u ) = { v V | ( u , v ) E }

V- ( u ) = { v V | ( v , u ) E }

V

V

F F

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

Page 49: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 49

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

FLes voisins d’un sommet « u » :

Les voisins sortants : V+ ( u )

Les voisins entrants : V- ( u )

V

V

V

V

V

V

V+ ( u ) = { v V | ( u , v ) E }

V- ( u ) = { v V | ( v , u ) E }

V

V

F F

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

V+ ( 4 ) = { 1 , 2 , 3 }V+ ( 4 ) = { 1 , 2 , 3 }

Page 50: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 50

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

FLes voisins d’un sommet « u » :

Les voisins sortants : V+ ( u )

Les voisins entrants : V- ( u )

V

V

V

V

V

V

V+ ( u ) = { v V | ( u , v ) E }

V- ( u ) = { v V | ( v , u ) E }

V

V

F F

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

VV-- ( 3 ) = { 4 , 5 , 6 } ( 3 ) = { 4 , 5 , 6 }

V+ ( 4 ) = { 1 , 2 , 3 }V+ ( 4 ) = { 1 , 2 , 3 }

Page 51: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 51

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

FLes voisins d’un sommet « u » :

Les voisins sortants : V+ ( u )

Les voisins entrants : V- ( u )

V

V

V

V

V

V

V+ ( u ) = { v V | ( u , v ) E }

V- ( u ) = { v V | ( v , u ) E }

V

V

F F

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

Si le graphe est symétrique :Si le graphe est symétrique :

V ( u ) = V+ ( u ) = VV ( u ) = V+ ( u ) = V-- ( u ) ( u )

VV-- ( 3 ) = { 4 , 5 , 6 } ( 3 ) = { 4 , 5 , 6 }

V+ ( 4 ) = { 1 , 2 , 3 }V+ ( 4 ) = { 1 , 2 , 3 }

Page 52: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 52

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

FLe degré d’un sommet « u » :

Le degré sortant : D+ ( u )

Le degré entrant : D- ( u )

V

V

V

V

V

V

V

V

F F

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

Page 53: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 53

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

FLe degré d’un sommet « u » :

Le degré sortant : D+ ( u )

Le degré entrant : D- ( u )

V

V

V

V

V

V

D+ ( u ) = | V+ ( u ) |

D- ( u ) = | V- ( u ) |

V

V

F F

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

Page 54: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 54

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

FLe degré d’un sommet « u » :

Le degré sortant : D+ ( u )

Le degré entrant : D- ( u )

V

V

V

V

V

V

D+ ( u ) = | V+ ( u ) |

D- ( u ) = | V- ( u ) |

V

V

F F

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

Si le graphe est symétrique :Si le graphe est symétrique :

D ( u ) = D+ ( u ) = DD ( u ) = D+ ( u ) = D-- ( u ) ( u )

Page 55: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 55

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

FLe degré d’un sommet « u » :

Le degré sortant : D+ ( u )

Le degré entrant : D- ( u )

V

V

V

V

V

V

D+ ( u ) = | V+ ( u ) |

D- ( u ) = | V- ( u ) |

V

V

F F

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

Si le graphe est symétrique :Si le graphe est symétrique :

D ( u ) = D+ ( u ) = DD ( u ) = D+ ( u ) = D-- ( u ) ( u )

Le degré d’un graphe G = ( V , E ) :Le degré d’un graphe G = ( V , E ) :

D( G ) = D( G ) = maxmax { D ( u ) } { D ( u ) }u u V V

Page 56: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 56

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

FLe degré d’un sommet « u » :

Le degré sortant : D+ ( u )

Le degré entrant : D- ( u )

V

V

V

V

V

V

D+ ( u ) = | V+ ( u ) |

D- ( u ) = | V- ( u ) |

V

V

F F

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

Si le graphe est symétrique :Si le graphe est symétrique :

D ( u ) = D+ ( u ) = DD ( u ) = D+ ( u ) = D-- ( u ) ( u )

Le degré d’un graphe G = ( V , E ) :Le degré d’un graphe G = ( V , E ) :

D( G ) = D( G ) = maxmax { D ( u ) } { D ( u ) }u u V V

Page 57: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 57

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Les chemins :Les chemins :

• Un chemin, de longueur « n », du sommet « u » au Un chemin, de longueur « n », du sommet « u » au sommet « v » est :sommet « v » est :

( w , . . . , w )( w , . . . , w )11 n+1n+1

Page 58: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 58

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Les chemins :Les chemins :

• Un chemin, de longueur « n », du sommet « u » au Un chemin, de longueur « n », du sommet « u » au sommet « v » est :sommet « v » est :

( w , . . . , w )( w , . . . , w )

• telle quetelle que

– u = w et v = wu = w et v = w

– ( w , w ) est une arête ou un arc du graphe.( w , w ) est une arête ou un arc du graphe.

11 n+1n+1

ii i+1i+1

11 n+1n+1

Page 59: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 59

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Les chemins :Les chemins :

• Un chemin, de longueur « n », du sommet « u » au Un chemin, de longueur « n », du sommet « u » au sommet « v » est :sommet « v » est :

( w , . . . , w )( w , . . . , w )

• telle quetelle que

– u = w et v = wu = w et v = w

– ( w , w ) est une arête ou un arc du graphe.( w , w ) est une arête ou un arc du graphe.

• Le chemin est orienté s’il comporte des arcs, non Le chemin est orienté s’il comporte des arcs, non orienté s’il est fait d’arêtes uniquement.orienté s’il est fait d’arêtes uniquement.

11 n+1n+1

ii i+1i+1

11 n+1n+1

Page 60: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 60

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Notations et propriétés sur les chemins :Notations et propriétés sur les chemins :

• Nous noterons ( c’est non standard ) :Nous noterons ( c’est non standard ) :

– ( u , v ) l’arête ou l’arc, c’est-à-dire le chemin de ( u , v ) l’arête ou l’arc, c’est-à-dire le chemin de longueur 1 .longueur 1 .

– ( u ; v ) le chemin de longueur quelconque.( u ; v ) le chemin de longueur quelconque.

Page 61: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 61

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Notations et propriétés sur les chemins :Notations et propriétés sur les chemins :

• Nous noterons ( c’est non standard ) :Nous noterons ( c’est non standard ) :

– ( u , v ) l’arête ou l’arc, c’est-à-dire le chemin de ( u , v ) l’arête ou l’arc, c’est-à-dire le chemin de longueur 1 .longueur 1 .

– ( u ; v ) le chemin de longueur quelconque.( u ; v ) le chemin de longueur quelconque.

• Pour tout chemin non orienté ( u ; v ) du graphe G, Pour tout chemin non orienté ( u ; v ) du graphe G, nous pouvons construire le chemin ( v ; u ) dans G.nous pouvons construire le chemin ( v ; u ) dans G.

Page 62: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 62

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Notations et propriétés sur les chemins :Notations et propriétés sur les chemins :

• Nous noterons ( c’est non standard ) :Nous noterons ( c’est non standard ) :

– ( u , v ) l’arête ou l’arc, c’est-à-dire le chemin de ( u , v ) l’arête ou l’arc, c’est-à-dire le chemin de longueur 1 .longueur 1 .

– ( u ; v ) le chemin de longueur quelconque.( u ; v ) le chemin de longueur quelconque.

• Pour tout chemin non orienté ( u ; v ) du graphe G, Pour tout chemin non orienté ( u ; v ) du graphe G, nous pouvons construire le chemin ( v ; u ) dans G.nous pouvons construire le chemin ( v ; u ) dans G.

• Dans un graphe G, l’existence du chemin orienté ( u Dans un graphe G, l’existence du chemin orienté ( u ; v ) n’implique pas l’existence d’un chemin de ; v ) n’implique pas l’existence d’un chemin de retour ( v ; u ) .retour ( v ; u ) .

Page 63: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 63

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Cycles et circuits :Cycles et circuits :

• Un chemin non orienté ( u ; v ) pour lequel « u » Un chemin non orienté ( u ; v ) pour lequel « u » coïncide avec « v » est un cycle.coïncide avec « v » est un cycle.

Page 64: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 64

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Cycles et circuits :Cycles et circuits :

• Un chemin non orienté ( u ; v ) pour lequel « u » Un chemin non orienté ( u ; v ) pour lequel « u » coïncide avec « v » est un cycle.coïncide avec « v » est un cycle.

u = vu = v

Page 65: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 65

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Cycles et circuits :Cycles et circuits :

• Un chemin non orienté ( u ; v ) pour lequel « u » Un chemin non orienté ( u ; v ) pour lequel « u » coïncide avec « v » est un cycle.coïncide avec « v » est un cycle.

• Un chemin orienté ( w ; t ) pour lequel « w » Un chemin orienté ( w ; t ) pour lequel « w » coïncide avec « t » est un circuit.coïncide avec « t » est un circuit.

u = vu = v

Page 66: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 66

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Cycles et circuits :Cycles et circuits :

• Un chemin non orienté ( u ; v ) pour lequel « u » Un chemin non orienté ( u ; v ) pour lequel « u » coïncide avec « v » est un cycle.coïncide avec « v » est un cycle.

• Un chemin orienté ( w ; t ) pour lequel « w » Un chemin orienté ( w ; t ) pour lequel « w » coïncide avec « t » est un circuit.coïncide avec « t » est un circuit.

u = vu = v

w = tw = t

Page 67: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 67

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Chemins simples :Chemins simples :

• Un chemin ( u ; v ) , où « u » est différent de « v », Un chemin ( u ; v ) , où « u » est différent de « v », est est simplesimple si et seulement si aucun sommet n’est si et seulement si aucun sommet n’est répété dans la séquence :répété dans la séquence :

( u , . . . , v )( u , . . . , v )

Page 68: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 68

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Chemins simples :Chemins simples :

• Un chemin ( u ; v ) , où « u » est différent de « v », Un chemin ( u ; v ) , où « u » est différent de « v », est est simplesimple si et seulement si aucun sommet n’est si et seulement si aucun sommet n’est répété dans la séquence :répété dans la séquence :

( u , . . . , v )( u , . . . , v )

uuChemin simple ( u ; v )Chemin simple ( u ; v )

vv

Page 69: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 69

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Chemins simples :Chemins simples :

• Un chemin ( u ; v ) , où « u » est différent de « v », Un chemin ( u ; v ) , où « u » est différent de « v », est est simplesimple si et seulement si aucun sommet n’est si et seulement si aucun sommet n’est répété dans la séquence :répété dans la séquence :

( u , . . . , v )( u , . . . , v )

uu

tt

Chemin simple ( u ; v )Chemin simple ( u ; v )

vv

ww

Chemin nonChemin nonsimple ( w ; t )simple ( w ; t )

Page 70: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 70

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Chemins simples :Chemins simples :

• Un chemin ( u ; v ) , où « u » est différent de « v », Un chemin ( u ; v ) , où « u » est différent de « v », est est simplesimple si et seulement si aucun sommet n’est si et seulement si aucun sommet n’est répété dans la séquence :répété dans la séquence :

( u , . . . , v )( u , . . . , v )

uu

tt

Chemin simple ( u ; v )Chemin simple ( u ; v )

vv

ww

Chemin nonChemin nonsimple ( w ; t )simple ( w ; t )

Page 71: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 71

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Lemme de König :Lemme de König :

• De tout chemin non simple ( u ; v ) , nous pouvons De tout chemin non simple ( u ; v ) , nous pouvons extraire un chemin de « u » vers « v » qui est extraire un chemin de « u » vers « v » qui est simplesimple et et plus courtplus court que le chemin initial. que le chemin initial.

Page 72: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 72

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Lemme de König :Lemme de König :

• De tout chemin non simple ( u ; v ) , nous pouvons De tout chemin non simple ( u ; v ) , nous pouvons extraire un chemin de « u » vers « v » qui est extraire un chemin de « u » vers « v » qui est simplesimple et et plus courtplus court que le chemin initial. que le chemin initial.

uu

vv

Page 73: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 73

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Lemme de König :Lemme de König :

• De tout chemin non simple ( u ; v ) , nous pouvons De tout chemin non simple ( u ; v ) , nous pouvons extraire un chemin de « u » vers « v » qui est extraire un chemin de « u » vers « v » qui est simplesimple et et plus courtplus court que le chemin initial. que le chemin initial.

uu

vv

Page 74: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 74

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Lemme de König :Lemme de König :

• De tout chemin non simple ( u ; v ) , nous pouvons De tout chemin non simple ( u ; v ) , nous pouvons extraire un chemin de « u » vers « v » qui est extraire un chemin de « u » vers « v » qui est simplesimple et et plus courtplus court que le chemin initial. que le chemin initial.

( u , . . . , ( u , . . . , w , . . . , w , w , . . . , w , t , . . . , v )t , . . . , v )

uu

vvww

tt

Page 75: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 75

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Lemme de König :Lemme de König :

• De tout chemin non simple ( u ; v ) , nous pouvons De tout chemin non simple ( u ; v ) , nous pouvons extraire un chemin de « u » vers « v » qui est extraire un chemin de « u » vers « v » qui est simplesimple et et plus courtplus court que le chemin initial. que le chemin initial.

( u , . . . ,( u , . . . , w ,w , . . . , w , . . . , w , t , . . . , v )t , . . . , v )

uu

vvww

tt

Page 76: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 76

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Lemme de König :Lemme de König :

• De tout chemin non simple ( u ; v ) , nous pouvons De tout chemin non simple ( u ; v ) , nous pouvons extraire un chemin de « u » vers « v » qui est extraire un chemin de « u » vers « v » qui est simplesimple et et plus courtplus court que le chemin initial. que le chemin initial.

( u , . . . ,( u , . . . , w ,w , . . . , w , . . . , w , t , . . . , v )t , . . . , v )

uu

vvww

ttDe tout cycle ouDe tout cycle oucircuit nouscircuit nouspouvonspouvonsextraire unextraire uncycle ou circuitcycle ou circuitélémentaireélémentaire ! !

Page 77: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 77

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Lemme de König :Lemme de König :

• De tout chemin non simple ( u ; v ) , nous pouvons De tout chemin non simple ( u ; v ) , nous pouvons extraire un chemin de « u » vers « v » qui est extraire un chemin de « u » vers « v » qui est simplesimple et et plus courtplus court que le chemin initial. que le chemin initial.

( u , . . . ,( u , . . . , w ,w , . . . , w , . . . , w , t , . . . , v )t , . . . , v )

uu

vvww

ttDe tout cycle ouDe tout cycle oucircuit nouscircuit nouspouvonspouvonsextraire unextraire uncycle ou circuitcycle ou circuitélémentaireélémentaire ! !

Page 78: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 78

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

44

3355

66

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

F

V

V

V

V

V

V

V

V

F F

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

La composante connexe de « u » :

La composante sortante : C+ ( u )

La composante entrante : C- ( u )

Page 79: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 79

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

44

3355

66

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

F

V

V

V

V

V

V

V

V

F F

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

La composante connexe de « u » :

La composante sortante : C+ ( u )

La composante entrante : C- ( u )

C+ ( u ) = { v V | ( u ; v ) existe }

C- ( u ) = { v V | ( v ; u ) existe }

Page 80: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 80

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

44

3355

66

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

F

V

V

V

V

V

V

V

V

F F

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

La composante connexe de « u » :

La composante sortante : C+ ( u )

La composante entrante : C- ( u )

C+ ( u ) = { v V | ( u ; v ) existe }

C- ( u ) = { v V | ( v ; u ) existe }

C+ ( 4 ) = { 1 , 2 , 3 , 4 , 5 }C+ ( 4 ) = { 1 , 2 , 3 , 4 , 5 }

Page 81: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 81

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

44

3355

66

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

F

V

V

V

V

V

V

V

V

F F

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

La composante connexe de « u » :

La composante sortante : C+ ( u )

La composante entrante : C- ( u )

C+ ( u ) = { v V | ( u ; v ) existe }

C- ( u ) = { v V | ( v ; u ) existe }

C+ ( 4 ) = { 1 , 2 , 3 , 4 , 5 }C+ ( 4 ) = { 1 , 2 , 3 , 4 , 5 }

CC-- ( 4 ) = { 1 , 2 , 4 } ( 4 ) = { 1 , 2 , 4 }

Page 82: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 82

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

44

3355

66

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

F

V

V

V

V

V

V

V

V

F F

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

La composante connexe de « u » :

La composante sortante : C+ ( u )

La composante entrante : C- ( u )

C+ ( u ) = { v V | ( u ; v ) existe }

C- ( u ) = { v V | ( v ; u ) existe }

Si G est symétrique : C ( u ) = C+ ( u ) = CSi G est symétrique : C ( u ) = C+ ( u ) = C-- ( u ) ( u )

C+ ( 4 ) = { 1 , 2 , 3 , 4 , 5 }C+ ( 4 ) = { 1 , 2 , 3 , 4 , 5 }

CC-- ( 4 ) = { 1 , 2 , 4 } ( 4 ) = { 1 , 2 , 4 }

Page 83: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 83

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Pour un graphe non orienté :Pour un graphe non orienté :

• La composante connexe de « u » est :La composante connexe de « u » est :

– réflexive, vous pouvez rester où vous êtes !réflexive, vous pouvez rester où vous êtes !

Page 84: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 84

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Pour un graphe non orienté :Pour un graphe non orienté :

• La composante connexe de « u » est :La composante connexe de « u » est :

– réflexive, vous pouvez rester où vous êtes !réflexive, vous pouvez rester où vous êtes !

– symétrique, les chemins de retour existent !symétrique, les chemins de retour existent !

Page 85: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 85

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Pour un graphe non orienté :Pour un graphe non orienté :

• La composante connexe de « u » est :La composante connexe de « u » est :

– réflexive, vous pouvez rester où vous êtes !réflexive, vous pouvez rester où vous êtes !

– symétrique, les chemins de retour existent !symétrique, les chemins de retour existent !

– transitive, vous pouvez concaténer des chemins !transitive, vous pouvez concaténer des chemins !

Page 86: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 86

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Pour un graphe non orienté :Pour un graphe non orienté :

• La composante connexe de « u » est :La composante connexe de « u » est :

– réflexive, vous pouvez rester où vous êtes !réflexive, vous pouvez rester où vous êtes !

– symétrique, les chemins de retour existent !symétrique, les chemins de retour existent !

– transitive, vous pouvez concaténer des chemins !transitive, vous pouvez concaténer des chemins !

• Une composante connexe est une classe Une composante connexe est une classe d’équivalence !d’équivalence !

Page 87: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 87

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Pour un graphe non orienté :Pour un graphe non orienté :

• La composante connexe de « u » est :La composante connexe de « u » est :

– réflexive, vous pouvez rester où vous êtes !réflexive, vous pouvez rester où vous êtes !

– symétrique, les chemins de retour existent !symétrique, les chemins de retour existent !

– transitive, vous pouvez concaténer des chemins !transitive, vous pouvez concaténer des chemins !

• Une composante connexe est une classe Une composante connexe est une classe d’équivalence !d’équivalence !

• Un graphe non orienté est partitionné en ses classes Un graphe non orienté est partitionné en ses classes d’équivalence !d’équivalence !

Page 88: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 88

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

44

3355

66

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

F

V

V

V

V

V

VF F

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

F

F

Nous partons d’uneNous partons d’unerelation symétrique !relation symétrique !

Page 89: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 89

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

44

3355

66

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

F

V

V

V

V

V

VF F

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

F

F

Nous partons d’uneNous partons d’unerelation symétrique !relation symétrique !

Nous fermons réflexivement !Nous fermons réflexivement !

Page 90: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 90

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

44

3355

66

11

22

33

44

55

66

11 22 33 44 55 66

V

F

F

F

F

F

V

V

V

V

V

VF F

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

F

F

Nous partons d’uneNous partons d’unerelation symétrique !relation symétrique !

Nous fermons réflexivement !Nous fermons réflexivement !

La fermeture réflexive d’uneLa fermeture réflexive d’unerelation « R » est la plus petiterelation « R » est la plus petiterelation réflexive qui contienne « R ».relation réflexive qui contienne « R ».

Page 91: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 91

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

44

3355

66

11

22

33

44

55

66

11 22 33 44 55 66

V

V

V

V

V

V

VF F

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

F

F

Nous partons d’uneNous partons d’unerelation symétrique !relation symétrique !

Nous fermons réflexivement !Nous fermons réflexivement !

La fermeture réflexive d’uneLa fermeture réflexive d’unerelation « R » est la plus petiterelation « R » est la plus petiterelation réflexive qui contienne « R ».relation réflexive qui contienne « R ».

V

V

V

V

V

Page 92: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 92

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

44

3355

66

11

22

33

44

55

66

11 22 33 44 55 66

V

V

V

V

V

V

VF F

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

F

F

Nous partons d’uneNous partons d’unerelation symétrique !relation symétrique !

Nous fermons réflexivement !Nous fermons réflexivement !

V

V

V

V

V

Nous fermons transitivement !Nous fermons transitivement !

Page 93: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 93

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

44

3355

66

11

22

33

44

55

66

11 22 33 44 55 66

V

V

V

V

V

V

VF F

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

F

F

Nous partons d’uneNous partons d’unerelation symétrique !relation symétrique !

Nous fermons réflexivement !Nous fermons réflexivement !

La fermeture transitive d’uneLa fermeture transitive d’unerelation « R » est la plus petiterelation « R » est la plus petiterelation transitive qui contienne « R ».relation transitive qui contienne « R ».

V

V

V

V

V

Nous fermons transitivement !Nous fermons transitivement !

Page 94: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 94

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

44

3355

66

11

22

33

44

55

66

11 22 33 44 55 66

V

V

V

V

V

V

VF

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

F

Nous partons d’uneNous partons d’unerelation symétrique !relation symétrique !

Nous fermons réflexivement !Nous fermons réflexivement !

La fermeture transitive d’uneLa fermeture transitive d’unerelation « R » est la plus petiterelation « R » est la plus petiterelation transitive qui contienne « R ».relation transitive qui contienne « R ».

V

V

V

V

V

Nous fermons transitivement !Nous fermons transitivement !

V

V

Page 95: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 95

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

44

3355

66

11

22

33

44

55

66

11 22 33 44 55 66

V

V

V

V

V

V

VF

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

F

Nous partons d’uneNous partons d’unerelation symétrique !relation symétrique !

Nous fermons réflexivement !Nous fermons réflexivement !

V

V

V

V

V

Nous fermons transitivement !Nous fermons transitivement !

V

V

{ 1 , 2 , 4 } est une composante connexe !{ 1 , 2 , 4 } est une composante connexe !

Page 96: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 96

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

44

3355

66

11

22

33

44

55

66

11 22 33 44 55 66

V

V

V

V

V

V

VF

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

F

Nous partons d’uneNous partons d’unerelation symétrique !relation symétrique !

Nous fermons réflexivement !Nous fermons réflexivement !

V

V

V

V

V

Nous fermons transitivement !Nous fermons transitivement !

V

V

{ 3 , 5 } est une composante connexe !{ 3 , 5 } est une composante connexe !

Page 97: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 97

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

44

3355

66

11

22

33

44

55

66

11 22 33 44 55 66

V

V

V

V

V

V

VF

F F F

F F

F F

F FF F

F F

F F

F F

FF

F

F

Nous partons d’uneNous partons d’unerelation symétrique !relation symétrique !

Nous fermons réflexivement !Nous fermons réflexivement !

V

V

V

V

V

Nous fermons transitivement !Nous fermons transitivement !

V

V

{ 6 } est une composante connexe !{ 6 } est une composante connexe !

Page 98: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 98

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

33

4455

66

11

22

33

44

55

66

11 22 33 44 55 66

V

V

V

V

V

V

V F

F F F

F F

F

F

F FF F

F F

F F

F F

FF

F

F

Nous partons d’uneNous partons d’unerelation symétrique !relation symétrique !

Nous fermons réflexivement !Nous fermons réflexivement !

V

V

V

V

V

Nous fermons transitivement !Nous fermons transitivement !

V

V

Si nous renumérotons !Si nous renumérotons !

Page 99: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 99

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

11

22

33

4455

66

11

22

33

44

55

66

11 22 33 44 55 66

V

V

V

V

V

V

V F

F F F

F F

F

F

F FF F

F F

F F

F F

FF

F

F

Nous partons d’uneNous partons d’unerelation symétrique !relation symétrique !

Nous fermons réflexivement !Nous fermons réflexivement !

V

V

V

V

V

Nous fermons transitivement !Nous fermons transitivement !

V

V

Si nous renumérotons !Si nous renumérotons !

Page 100: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 100

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Principe de décomposition :Principe de décomposition :

• Souvent, le traitement appliqué à un graphe non Souvent, le traitement appliqué à un graphe non connexeconnexe

consiste à appliquer ce même traitement consiste à appliquer ce même traitement indépendammentindépendamment

sur chacune des composantes connexes !sur chacune des composantes connexes !

Page 101: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 101

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Principe de décomposition :Principe de décomposition :

• Souvent, le traitement appliqué à un graphe non Souvent, le traitement appliqué à un graphe non connexeconnexe

consiste à appliquer ce même traitement consiste à appliquer ce même traitement indépendammentindépendamment

sur chacune des composantes connexes !sur chacune des composantes connexes !

• Dans ce cas, on ne perd rien à supposer G connexe ! ! !Dans ce cas, on ne perd rien à supposer G connexe ! ! !

Page 102: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 102

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Pour un graphe orienté :Pour un graphe orienté :

• Un sous-ensemble « X » des sommets d’un graphe Un sous-ensemble « X » des sommets d’un graphe orienté est orienté est fortement connexefortement connexe si nous pouvons aller si nous pouvons aller de n’importe quel sommet vers n’importe quel autre de n’importe quel sommet vers n’importe quel autre sommet.sommet.

Page 103: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 103

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Pour un graphe orienté :Pour un graphe orienté :

• Un sous-ensemble « X » des sommets d’un graphe Un sous-ensemble « X » des sommets d’un graphe orienté est orienté est fortement connexefortement connexe si nous pouvons aller si nous pouvons aller de n’importe quel sommet vers n’importe quel autre de n’importe quel sommet vers n’importe quel autre sommet.sommet.

• Proposition :Proposition :

– Une composante est fortementUne composante est fortement connexe si et seulement si chaqueconnexe si et seulement si chaque sommet se trouve sur un circuit.sommet se trouve sur un circuit.

Page 104: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 104

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Pour un graphe orienté :Pour un graphe orienté :

• Un sous-ensemble « X » des sommets d’un graphe Un sous-ensemble « X » des sommets d’un graphe orienté est orienté est fortement connexefortement connexe si nous pouvons aller si nous pouvons aller de n’importe quel sommet vers n’importe quel autre de n’importe quel sommet vers n’importe quel autre sommet.sommet.

• Proposition :Proposition :

– Une composante est fortementUne composante est fortement connexe si et seulement si chaqueconnexe si et seulement si chaque sommet se trouve sur un circuit.sommet se trouve sur un circuit.

• Preuve :Preuve :– => : Si ( u ; v ) existe, alors ( v ; u ) existe et donc ( u ; => : Si ( u ; v ) existe, alors ( v ; u ) existe et donc ( u ;

v ; u ) .v ; u ) .

Page 105: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 105

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Pour un graphe orienté :Pour un graphe orienté :

• Un sous-ensemble « X » des sommets d’un graphe orienté Un sous-ensemble « X » des sommets d’un graphe orienté est est fortement connexefortement connexe si nous pouvons aller de n’importe si nous pouvons aller de n’importe quel sommet vers n’importe quel autre sommet.quel sommet vers n’importe quel autre sommet.

• Proposition :Proposition :

– Une composante est fortementUne composante est fortement connexe si et seulement si chaqueconnexe si et seulement si chaque sommet se trouve sur un circuit.sommet se trouve sur un circuit.

• Preuve :Preuve :– => : Si ( u ; v ) existe, alors ( v ; u ) existe et donc ( u ; v ; => : Si ( u ; v ) existe, alors ( v ; u ) existe et donc ( u ; v ;

u ) .u ) .– <= : Soit ( u ; v ) de la forme ( u ; w ; v ).<= : Soit ( u ; v ) de la forme ( u ; w ; v ).

Page 106: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 106

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Pour un graphe orienté :Pour un graphe orienté :

• Un sous-ensemble « X » des sommets d’un graphe orienté Un sous-ensemble « X » des sommets d’un graphe orienté est est fortement connexefortement connexe si nous pouvons aller de n’importe si nous pouvons aller de n’importe quel sommet vers n’importe quel autre sommet.quel sommet vers n’importe quel autre sommet.

• Proposition :Proposition :

– Une composante est fortementUne composante est fortement connexe si et seulement si chaqueconnexe si et seulement si chaque sommet se trouve sur un circuit.sommet se trouve sur un circuit.

• Preuve :Preuve :– => : Si ( u ; v ) existe, alors ( v ; u ) existe et donc ( u ; v ; u ) .=> : Si ( u ; v ) existe, alors ( v ; u ) existe et donc ( u ; v ; u ) .– <= : Soit ( u ; v ) de la forme ( u ; w ; v ).<= : Soit ( u ; v ) de la forme ( u ; w ; v ). Pour « w » bien choisi, le circuit ( w ; v ; w ) existe !Pour « w » bien choisi, le circuit ( w ; v ; w ) existe !

uu vvww

Page 107: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 107

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Pour un graphe orienté :Pour un graphe orienté :

• Un sous-ensemble « X » des sommets d’un graphe orienté Un sous-ensemble « X » des sommets d’un graphe orienté est est fortement connexefortement connexe si nous pouvons aller de n’importe si nous pouvons aller de n’importe quel sommet vers n’importe quel autre sommet.quel sommet vers n’importe quel autre sommet.

• Proposition :Proposition :

– Une composante est fortementUne composante est fortement connexe si et seulement si chaqueconnexe si et seulement si chaque sommet se trouve sur un circuit.sommet se trouve sur un circuit.

• Preuve :Preuve :– => : Si ( u ; v ) existe, alors ( v ; u ) existe et donc ( u ; v ; u ) .=> : Si ( u ; v ) existe, alors ( v ; u ) existe et donc ( u ; v ; u ) .– <= : Soit ( u ; v ) de la forme ( u ; w ; v ).<= : Soit ( u ; v ) de la forme ( u ; w ; v ). Pour « w » bien choisi, le circuit ( w ; v ; w ) existe !Pour « w » bien choisi, le circuit ( w ; v ; w ) existe ! Nous recommençons le raisonnement pour ( u ; w ) .Nous recommençons le raisonnement pour ( u ; w ) .

uu vvww

Page 108: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 108

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Pour un graphe orienté :Pour un graphe orienté :

• Un graphe orienté est Un graphe orienté est quasi-fortement connexequasi-fortement connexe s’il s’il existe un sommet depuis lequel nous pouvons existe un sommet depuis lequel nous pouvons atteindre tous les autres sommets. Un tel sommet atteindre tous les autres sommets. Un tel sommet sera appelé « racine ».sera appelé « racine ».

Page 109: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 109

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Pour un graphe orienté :Pour un graphe orienté :

• Un graphe orienté est Un graphe orienté est quasi-fortement connexequasi-fortement connexe s’il s’il existe un sommet depuis lequel nous pouvons existe un sommet depuis lequel nous pouvons atteindre tous les autres sommets. Un tel sommet atteindre tous les autres sommets. Un tel sommet sera appelé « racine ».sera appelé « racine ».

Page 110: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 110

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Pour un graphe orienté :Pour un graphe orienté :

• Un graphe orienté est Un graphe orienté est quasi-fortement connexequasi-fortement connexe s’il s’il existe un sommet depuis lequel nous pouvons existe un sommet depuis lequel nous pouvons atteindre tous les autres sommets. Un tel sommet atteindre tous les autres sommets. Un tel sommet sera appelé « racine ».sera appelé « racine ».

Page 111: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 111

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Distances et diamètre :Distances et diamètre :

• La distance « d ( u , v ) » entre un sommet « u » et La distance « d ( u , v ) » entre un sommet « u » et un sommet « v » est :un sommet « v » est :

– la longueur du plus court chemin (forcément simple) la longueur du plus court chemin (forcément simple) de « u » vers « v », si celui-ci existe,de « u » vers « v », si celui-ci existe,

– infini, sinon.infini, sinon.

Page 112: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 112

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Distances et diamètre :Distances et diamètre :

• La distance « d ( u , v ) » entre un sommet « u » et La distance « d ( u , v ) » entre un sommet « u » et un sommet « v » est :un sommet « v » est :

– la longueur du plus court chemin (forcément simple) la longueur du plus court chemin (forcément simple) de « u » vers « v », si celui-ci existe,de « u » vers « v », si celui-ci existe,

– infini, sinon.infini, sinon.

• Le diamètre d’un graphe connexe est la distance Le diamètre d’un graphe connexe est la distance entre ses sommets les plus éloignés :entre ses sommets les plus éloignés :

( G ) = ( G ) = maxmax { d ( u , v ) } { d ( u , v ) }u , v u , v V V

Page 113: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 113

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

uu

vv

Page 114: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 114

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

uu

vv

Chemin simple de longueur 4 !Chemin simple de longueur 4 !

Page 115: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 115

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

uu

vv

Chemin simple de longueur 4 !Chemin simple de longueur 4 !

Le plus court chemin est de longueur 3 : d ( u , v ) = 3Le plus court chemin est de longueur 3 : d ( u , v ) = 3

Page 116: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 116

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

uu

vv

Chemin simple de longueur 4 !Chemin simple de longueur 4 !

Le plus court chemin est de longueur 3 : d ( u , v ) = 3Le plus court chemin est de longueur 3 : d ( u , v ) = 3

( G ) = 4( G ) = 4

Page 117: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 117

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Ecarts, centre et diamètre :Ecarts, centre et diamètre :

• L’écart « e ( u ) » d’un sommet « u » d’un graphe L’écart « e ( u ) » d’un sommet « u » d’un graphe connexe est :connexe est :

– la distance vers le sommet « v » le plus loin de « u » :la distance vers le sommet « v » le plus loin de « u » :

e ( u ) =e ( u ) = maxmax { d ( u , v ) } { d ( u , v ) }v v V V

Page 118: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 118

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Ecarts, centre et diamètre :Ecarts, centre et diamètre :

• L’écart « e ( u ) » d’un sommet « u » d’un graphe L’écart « e ( u ) » d’un sommet « u » d’un graphe connexe est :connexe est :

– la distance vers le sommet « v » le plus loin de « u » :la distance vers le sommet « v » le plus loin de « u » :

e ( u ) =e ( u ) = maxmax { d ( u , v ) } { d ( u , v ) }

• Un sommet « u » est au Un sommet « u » est au centrecentre de G si de G si

e ( u ) =e ( u ) = minmin { e ( v ) } { e ( v ) }

v v V V

v v V V

Page 119: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 119

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Ecarts, centre et diamètre :Ecarts, centre et diamètre :

• L’écart « e ( u ) » d’un sommet « u » d’un graphe connexe L’écart « e ( u ) » d’un sommet « u » d’un graphe connexe est :est :

– la distance vers le sommet « v » le plus loin de « u » :la distance vers le sommet « v » le plus loin de « u » :

e ( u ) =e ( u ) = maxmax { d ( u , v ) } { d ( u , v ) }

• Un sommet « u » est au Un sommet « u » est au centrecentre de G si de G si

e ( u ) =e ( u ) = minmin { e ( v ) } { e ( v ) }

• ( G ) = ( G ) = maxmax { e ( v ) } { e ( v ) }

v v V V

v v V V

v v V V

Page 120: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 120

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

uu

e ( u ) = 3e ( u ) = 3

Page 121: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 121

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

uu

e ( u ) = 3e ( u ) = 3

vv

« v » est au centre car e ( v ) = 2 est minimal !« v » est au centre car e ( v ) = 2 est minimal !

Page 122: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 122

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

uu

e ( u ) = 3e ( u ) = 3

vv

« v » est au centre car e ( v ) = 2 est minimal !« v » est au centre car e ( v ) = 2 est minimal !

( G ) = e ( w ) = 4( G ) = e ( w ) = 4

ww

Page 123: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 123

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Lemme des plus courts chemins (De la Palisse) Lemme des plus courts chemins (De la Palisse) ::

• Si le plus court chemin de « u » vers « v » passe par Si le plus court chemin de « u » vers « v » passe par « w »,« w »,

alors la partie préfixe de « u » vers « w » est aussi le alors la partie préfixe de « u » vers « w » est aussi le plusplus

court chemin de « u » vers « w ».court chemin de « u » vers « w ».

Page 124: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 124

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Lemme des plus courts chemins (De la Palisse) Lemme des plus courts chemins (De la Palisse) ::

• Si le plus court chemin de « u » vers « v » passe par Si le plus court chemin de « u » vers « v » passe par « w »,« w »,

alors la partie préfixe de « u » vers « w » est aussi le alors la partie préfixe de « u » vers « w » est aussi le plusplus

court chemin de « u » vers « w ».court chemin de « u » vers « w ».

uu vvww

Le plus court chemin de « u » à « v » !Le plus court chemin de « u » à « v » !

Page 125: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 125

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Lemme des plus courts chemins (De la Palisse) Lemme des plus courts chemins (De la Palisse) ::

• Si le plus court chemin de « u » vers « v » passe par Si le plus court chemin de « u » vers « v » passe par « w »,« w »,

alors la partie préfixe de « u » vers « w » est aussi le alors la partie préfixe de « u » vers « w » est aussi le plusplus

court chemin de « u » vers « w ».court chemin de « u » vers « w ».

uu vvww

Le plus court chemin de « u » à « v » !Le plus court chemin de « u » à « v » !

Le plus court chemin de « u » à « w » !Le plus court chemin de « u » à « w » !

Page 126: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 126

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Poids d’un chemin :Poids d’un chemin :

• Dans un graphe pondéré, le poids d’un chemin est la Dans un graphe pondéré, le poids d’un chemin est la somme des poids de ses arcs et arêtes.somme des poids de ses arcs et arêtes.

Page 127: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 127

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Poids d’un chemin :Poids d’un chemin :

• Dans un graphe pondéré, le poids d’un chemin est la Dans un graphe pondéré, le poids d’un chemin est la somme des poids de ses arcs et arêtes.somme des poids de ses arcs et arêtes.

• Nous pouvons alors, de manière évidente, définir le Nous pouvons alors, de manière évidente, définir le chemin le plus léger de « u » vers « v ».chemin le plus léger de « u » vers « v ».

Page 128: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 128

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Poids d’un chemin :Poids d’un chemin :

• Dans un graphe pondéré, le poids d’un chemin est la Dans un graphe pondéré, le poids d’un chemin est la somme des poids de ses arcs et arêtes.somme des poids de ses arcs et arêtes.

• Nous pouvons alors, de manière évidente, définir le Nous pouvons alors, de manière évidente, définir le chemin le plus léger de « u » vers « v ».chemin le plus léger de « u » vers « v ».

• Le chemin le plus léger (poids) ne coïncide pas Le chemin le plus léger (poids) ne coïncide pas forcément avec le chemin le plus court (nombre d’arcs forcément avec le chemin le plus court (nombre d’arcs et arêtes). et arêtes).

Page 129: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 129

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Poids d’un chemin :Poids d’un chemin :

• Dans un graphe pondéré, le poids d’un chemin est la Dans un graphe pondéré, le poids d’un chemin est la somme des poids de ses arcs et arêtes.somme des poids de ses arcs et arêtes.

• Nous pouvons alors, de manière évidente, définir le Nous pouvons alors, de manière évidente, définir le chemin le plus léger de « u » vers « v ».chemin le plus léger de « u » vers « v ».

• Le chemin le plus léger (poids) ne coïncide pas Le chemin le plus léger (poids) ne coïncide pas forcément avec le chemin le plus court (nombre d’arcs forcément avec le chemin le plus court (nombre d’arcs et arêtes). et arêtes).

• Les poids ne vérifient pas forcément l’inégalité Les poids ne vérifient pas forcément l’inégalité triangulaire !triangulaire !

2525

1010 1212

Page 130: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 130

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Poids d’un chemin :Poids d’un chemin :

• Dans un graphe pondéré, le poids d’un chemin est la Dans un graphe pondéré, le poids d’un chemin est la somme des poids de ses arcs et arêtes.somme des poids de ses arcs et arêtes.

• Nous pouvons alors, de manière évidente, définir le Nous pouvons alors, de manière évidente, définir le chemin le plus léger de « u » vers « v ».chemin le plus léger de « u » vers « v ».

• Le chemin le plus léger (poids) ne coïncide pas Le chemin le plus léger (poids) ne coïncide pas forcément avec le chemin le plus court (nombre d’arcs forcément avec le chemin le plus court (nombre d’arcs et arêtes). et arêtes).

• Les poids ne vérifient pas forcément l’inégalité Les poids ne vérifient pas forcément l’inégalité triangulaire !triangulaire !

2525

1010 1212

Page 131: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 131

Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------

• Poids d’un chemin :Poids d’un chemin :

• Dans un graphe pondéré, le poids d’un chemin est la Dans un graphe pondéré, le poids d’un chemin est la somme des poids de ses arcs et arêtes.somme des poids de ses arcs et arêtes.

• Nous pouvons alors, de manière évidente, définir le Nous pouvons alors, de manière évidente, définir le chemin le plus léger de « u » vers « v ».chemin le plus léger de « u » vers « v ».

• Le chemin le plus léger (poids) ne coïncide pas Le chemin le plus léger (poids) ne coïncide pas forcément avec le chemin le plus court (nombre d’arcs forcément avec le chemin le plus court (nombre d’arcs et arêtes). et arêtes).

• Les poids ne vérifient pas forcément l’inégalité Les poids ne vérifient pas forcément l’inégalité triangulaire !triangulaire !

2525

1010 1212

Page 132: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 132

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

Page 133: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 133

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• Sur un graphe non orienté, nous allons calculer :Sur un graphe non orienté, nous allons calculer :

– les composantes connexes !les composantes connexes !

Page 134: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 134

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• Sur un graphe non orienté, nous allons calculer :Sur un graphe non orienté, nous allons calculer :

– les composantes connexes !les composantes connexes !

• Sur une composante connexe, nous allons calculer :Sur une composante connexe, nous allons calculer :

– les plus courts chemins ! les plus courts chemins !

Page 135: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 135

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• Sur un graphe non orienté, nous allons calculer :Sur un graphe non orienté, nous allons calculer :

– les composantes connexes !les composantes connexes !

• Sur une composante connexe, nous allons calculer :Sur une composante connexe, nous allons calculer :

– les plus courts chemins ! les plus courts chemins !

• Nous rajoutons une pondération strictement positive Nous rajoutons une pondération strictement positive et nous allons calculer :et nous allons calculer :

– les chemins les plus légers ! les chemins les plus légers !

Page 136: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 136

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• Nous utilisons trois algorithmes :Nous utilisons trois algorithmes :

– un algorithme par « vague », c’est un parcours en un algorithme par « vague », c’est un parcours en largeur,largeur,

Page 137: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 137

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• Nous utilisons trois algorithmes :Nous utilisons trois algorithmes :

– un algorithme par « vague », c’est un parcours en un algorithme par « vague », c’est un parcours en largeur,largeur,

– un algorithme par « multiplication de matrices »,un algorithme par « multiplication de matrices »,

Page 138: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 138

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• Nous utilisons trois algorithmes :Nous utilisons trois algorithmes :

– un algorithme par « vague », c’est un parcours en un algorithme par « vague », c’est un parcours en largeur,largeur,

– un algorithme par « multiplication de matrices »,un algorithme par « multiplication de matrices »,

– l’algorithme de programmation dynamique « Floyd-l’algorithme de programmation dynamique « Floyd-Warshall » ! Warshall » !

Page 139: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 139

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• Nous utilisons trois algorithmes :Nous utilisons trois algorithmes :

– un algorithme par « vague », c’est un parcours en largeur,un algorithme par « vague », c’est un parcours en largeur,

– un algorithme par « multiplication de matrices »,un algorithme par « multiplication de matrices »,

– l’algorithme de programmation dynamique « Floyd-l’algorithme de programmation dynamique « Floyd-Warshall » ! Warshall » !

• Pour chacun d’entre eux, il s’agit de savoir si :Pour chacun d’entre eux, il s’agit de savoir si :

– il arrive à résoudre le problème en question,il arrive à résoudre le problème en question,

– quelle est la complexité du calcul ?quelle est la complexité du calcul ?

Page 140: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 140

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

ConnexitéConnexité

Plus courtsPlus courts

Plus légersPlus légers

La vagueLa vague MultiplicationMultiplication Floyd-WarshallFloyd-Warshall

Page 141: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 141

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

ConnexitéConnexité

Plus courtsPlus courts

Plus légersPlus légers

La vagueLa vague MultiplicationMultiplication Floyd-WarshallFloyd-Warshall

Page 142: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 142

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• L’algorithme par vague :L’algorithme par vague :

– Nous choisissons un sommet sec et le mouillons, Nous choisissons un sommet sec et le mouillons,

Page 143: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 143

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• L’algorithme par vague :L’algorithme par vague :

– Nous choisissons un sommet sec et le mouillons, Nous choisissons un sommet sec et le mouillons, – nous mouillons ses voisins,nous mouillons ses voisins,

Page 144: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 144

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• L’algorithme par vague :L’algorithme par vague :

– Nous choisissons un sommet sec et le mouillons, Nous choisissons un sommet sec et le mouillons, – nous mouillons ses voisins,nous mouillons ses voisins,– nous mouillons les voisins des voisins , . . . nous mouillons les voisins des voisins , . . .

Page 145: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 145

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• L’algorithme par vague :L’algorithme par vague :

– Nous choisissons un sommet sec et le mouillons, Nous choisissons un sommet sec et le mouillons, – nous mouillons ses voisins,nous mouillons ses voisins,– nous mouillons les voisins des voisins , . . . nous mouillons les voisins des voisins , . . .

Page 146: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 146

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• L’algorithme par vague :L’algorithme par vague :

– Nous choisissons un sommet sec et le mouillons, Nous choisissons un sommet sec et le mouillons, – nous mouillons ses voisins,nous mouillons ses voisins,– nous mouillons les voisins des voisins , . . . nous mouillons les voisins des voisins , . . .

• Attention, dans un graphe il peut y avoir des Attention, dans un graphe il peut y avoir des cycles ! ! !cycles ! ! !

Page 147: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 147

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• L’algorithme par vague :L’algorithme par vague :

– Nous choisissons un sommet sec et le mouillons, Nous choisissons un sommet sec et le mouillons, – nous mouillons ses voisins,nous mouillons ses voisins,– nous mouillons les voisins des voisins , . . . nous mouillons les voisins des voisins , . . .

• Attention, dans un graphe il peut y avoir des Attention, dans un graphe il peut y avoir des cycles ! ! !cycles ! ! !

– Il faut éviter de tourner en rond !Il faut éviter de tourner en rond !– Ici, nous ne faisons rien pour un sommet déjà mouillé !Ici, nous ne faisons rien pour un sommet déjà mouillé !

Page 148: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 148

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• L’algorithme par vague :L’algorithme par vague :

– Nous choisissons un sommet sec et le mouillons, Nous choisissons un sommet sec et le mouillons, – nous mouillons ses voisins,nous mouillons ses voisins,– nous mouillons les voisins des voisins , . . . nous mouillons les voisins des voisins , . . .

• Attention, dans un graphe il peut y avoir des cycles ! ! !Attention, dans un graphe il peut y avoir des cycles ! ! !

– Il faut éviter de tourner en rond !Il faut éviter de tourner en rond !– Ici, nous ne faisons rien pour un sommet déjà mouillé !Ici, nous ne faisons rien pour un sommet déjà mouillé !

• Complexité : Complexité : ( | E | ) = O ( | E | ) = O( | V |^2 ) = O ( n^2 )( | V |^2 ) = O ( n^2 )

– Chaque arête est visitée une et une seule fois !Chaque arête est visitée une et une seule fois !

Page 149: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 149

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

ConnexitéConnexité

Plus courtsPlus courts

Plus légersPlus légers

La vagueLa vague MultiplicationMultiplication Floyd-WarshallFloyd-Warshall

( | E | ) =( | E | ) = O ( | V |^2 )O ( | V |^2 )

Page 150: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 150

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• La multiplication de matrices :La multiplication de matrices :

– Nous prenons une matrice avec des « 0 » et des « 1 »,Nous prenons une matrice avec des « 0 » et des « 1 »,

Page 151: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 151

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• La multiplication de matrices :La multiplication de matrices :

– Nous prenons une matrice avec des « 0 » et des « 1 »,Nous prenons une matrice avec des « 0 » et des « 1 »,– nous la fermons réflexivement (des « 1 » sur la nous la fermons réflexivement (des « 1 » sur la

diagonale),diagonale),

Page 152: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 152

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• La multiplication de matrices :La multiplication de matrices :

– Nous prenons une matrice avec des « 0 » et des « 1 »,Nous prenons une matrice avec des « 0 » et des « 1 »,– nous la fermons réflexivement (des « 1 » sur la nous la fermons réflexivement (des « 1 » sur la

diagonale),diagonale),– nous effectuons le calcul suivant : nous effectuons le calcul suivant :

M * M’ ( i , j ) = M * M’ ( i , j ) = maxmax M ( i , k ) * M’ ( k , j ) M ( i , k ) * M’ ( k , j )kk

Page 153: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 153

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• La multiplication de matrices :La multiplication de matrices :

– Nous prenons une matrice avec des « 0 » et des « 1 »,Nous prenons une matrice avec des « 0 » et des « 1 »,– nous la fermons réflexivement (des « 1 » sur la nous la fermons réflexivement (des « 1 » sur la

diagonale),diagonale),– nous effectuons le calcul suivant : nous effectuons le calcul suivant :

M * M’ ( i , j ) = M * M’ ( i , j ) = maxmax M ( i , k ) * M’ ( k , j ) M ( i , k ) * M’ ( k , j )

• Nous calculons : M Nous calculons : M --> M^2 > M^2 --> M^4 > M^4 --> . . . > . . .

kk

Page 154: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 154

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• La multiplication de matrices :La multiplication de matrices :

– Nous prenons une matrice avec des « 0 » et des « 1 »,Nous prenons une matrice avec des « 0 » et des « 1 »,– nous la fermons réflexivement (des « 1 » sur la nous la fermons réflexivement (des « 1 » sur la

diagonale),diagonale),– nous effectuons le calcul suivant : nous effectuons le calcul suivant :

M * M’ ( i , j ) = M * M’ ( i , j ) = maxmax M ( i , k ) * M’ ( k , j ) M ( i , k ) * M’ ( k , j )

• Nous calculons : M Nous calculons : M --> M^2 > M^2 --> M^4 > M^4 --> . . . > . . .

• Propriété : M^( 2 * i ) = M^i * M^i contient tous Propriété : M^( 2 * i ) = M^i * M^i contient tous les chemins de longueur au plus 2 * i .les chemins de longueur au plus 2 * i .

kk

Page 155: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 155

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• La multiplication de matrices :La multiplication de matrices :

– Nous prenons une matrice avec des « 0 » et des « 1 »,Nous prenons une matrice avec des « 0 » et des « 1 »,– nous la fermons réflexivement (des « 1 » sur la diagonale),nous la fermons réflexivement (des « 1 » sur la diagonale),– nous effectuons le calcul suivant : nous effectuons le calcul suivant :

M * M’ ( i , j ) = M * M’ ( i , j ) = maxmax M ( i , k ) * M’ ( k , j ) M ( i , k ) * M’ ( k , j )

• Nous calculons : M Nous calculons : M --> M^2 > M^2 --> M^4 > M^4 --> . . . > . . .

• Propriété : M^( 2 * i ) = M^i * M^i contient tous les Propriété : M^( 2 * i ) = M^i * M^i contient tous les chemins de longueur au plus 2 * i .chemins de longueur au plus 2 * i .

• Il suffit de calculer M^k avec k >= | V |Il suffit de calculer M^k avec k >= | V |--1 = n1 = n--1 (le plus 1 (le plus long chemin possible; et donc tous les chemins) !long chemin possible; et donc tous les chemins) !

kk

Page 156: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 156

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• La multiplication de matrices :La multiplication de matrices :

– Nous prenons une matrice avec des « 0 » et des « 1 »,Nous prenons une matrice avec des « 0 » et des « 1 »,– nous la fermons réflexivement (des « 1 » sur la diagonale),nous la fermons réflexivement (des « 1 » sur la diagonale),– nous effectuons le calcul suivant : nous effectuons le calcul suivant :

M * M’ ( i , j ) = M * M’ ( i , j ) = maxmax M ( i , k ) * M’ ( k , j ) M ( i , k ) * M’ ( k , j )

• Nous calculons : M Nous calculons : M --> M^2 > M^2 --> M^4 > M^4 --> . . . > . . .

• Propriété : M^( 2 * i ) = M^i * M^i contient tous les chemins de Propriété : M^( 2 * i ) = M^i * M^i contient tous les chemins de longueur au plus 2 * i .longueur au plus 2 * i .

• Il suffit de calculer M^k avec k >= | V |Il suffit de calculer M^k avec k >= | V |--1 = n1 = n--1 (le plus long 1 (le plus long chemin possible; et donc tous les chemins) !chemin possible; et donc tous les chemins) !

• Il suffit de O ( log( | V | ) ) élévations au carré !Il suffit de O ( log( | V | ) ) élévations au carré !

kk

Page 157: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 157

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• Preuve de la propriété :Preuve de la propriété :

– La matrice M fermée réflexivement contient tous La matrice M fermée réflexivement contient tous les chemins de longueur 0 ou 1.les chemins de longueur 0 ou 1.

Page 158: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 158

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• Preuve de la propriété :Preuve de la propriété :

– La matrice M fermée réflexivement contient tous La matrice M fermée réflexivement contient tous les chemins de longueur 0 ou 1.les chemins de longueur 0 ou 1.

– Hypothèse d’induction : M^i contient tous les Hypothèse d’induction : M^i contient tous les chemins de longueur au plus i . chemins de longueur au plus i .

Page 159: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 159

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• Preuve de la propriété :Preuve de la propriété :

– La matrice M fermée réflexivement contient tous La matrice M fermée réflexivement contient tous les chemins de longueur 0 ou 1.les chemins de longueur 0 ou 1.

– Hypothèse d’induction : M^i contient tous les Hypothèse d’induction : M^i contient tous les chemins de longueur au plus i . chemins de longueur au plus i .

M^( 2 * i ) ( u , v ) = 1M^( 2 * i ) ( u , v ) = 1

Page 160: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 160

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• Preuve de la propriété :Preuve de la propriété :

– La matrice M fermée réflexivement contient tous La matrice M fermée réflexivement contient tous les chemins de longueur 0 ou 1.les chemins de longueur 0 ou 1.

– Hypothèse d’induction : M^i contient tous les Hypothèse d’induction : M^i contient tous les chemins de longueur au plus i . chemins de longueur au plus i .

M^( 2 * i ) ( u , v ) = 1M^( 2 * i ) ( u , v ) = 1 max_k M^i ( u , k ) * M^i ( k , v ) = 1max_k M^i ( u , k ) * M^i ( k , v ) = 1

Page 161: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 161

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• Preuve de la propriété :Preuve de la propriété :

– La matrice M fermée réflexivement contient tous La matrice M fermée réflexivement contient tous les chemins de longueur 0 ou 1.les chemins de longueur 0 ou 1.

– Hypothèse d’induction : M^i contient tous les Hypothèse d’induction : M^i contient tous les chemins de longueur au plus i . chemins de longueur au plus i .

M^( 2 * i ) ( u , v ) = 1M^( 2 * i ) ( u , v ) = 1 max_k M^i ( u , k ) * M^i ( k , v ) = 1max_k M^i ( u , k ) * M^i ( k , v ) = 1 w tel que M^i ( u , w ) * M^i ( w , v ) = 1w tel que M^i ( u , w ) * M^i ( w , v ) = 1

Page 162: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 162

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• Preuve de la propriété :Preuve de la propriété :

– La matrice M fermée réflexivement contient tous La matrice M fermée réflexivement contient tous les chemins de longueur 0 ou 1.les chemins de longueur 0 ou 1.

– Hypothèse d’induction : M^i contient tous les Hypothèse d’induction : M^i contient tous les chemins de longueur au plus i . chemins de longueur au plus i .

M^( 2 * i ) ( u , v ) = 1M^( 2 * i ) ( u , v ) = 1 max_k M^i ( u , k ) * M^i ( k , v ) = 1max_k M^i ( u , k ) * M^i ( k , v ) = 1 w tel que M^i ( u , w ) * M^i ( w , v ) = 1w tel que M^i ( u , w ) * M^i ( w , v ) = 1 M^i ( u , w ) = 1 et M^i ( w , v ) = 1M^i ( u , w ) = 1 et M^i ( w , v ) = 1

Page 163: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 163

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• Preuve de la propriété :Preuve de la propriété :

– La matrice M fermée réflexivement contient tous les La matrice M fermée réflexivement contient tous les chemins de longueur 0 ou 1.chemins de longueur 0 ou 1.

– Hypothèse d’induction : M^i contient tous les Hypothèse d’induction : M^i contient tous les chemins de longueur au plus i . chemins de longueur au plus i .

M^( 2 * i ) ( u , v ) = 1M^( 2 * i ) ( u , v ) = 1 max_k M^i ( u , k ) * M^i ( k , v ) = 1max_k M^i ( u , k ) * M^i ( k , v ) = 1 w tel que M^i ( u , w ) * M^i ( w , v ) = 1w tel que M^i ( u , w ) * M^i ( w , v ) = 1 M^i ( u , w ) = 1 et M^i ( w , v ) = 1M^i ( u , w ) = 1 et M^i ( w , v ) = 1 ( u ; w ) et ( w ; v ) sont de longueur au plus i( u ; w ) et ( w ; v ) sont de longueur au plus i

Page 164: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 164

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• Preuve de la propriété :Preuve de la propriété :

– La matrice M fermée réflexivement contient tous les La matrice M fermée réflexivement contient tous les chemins de longueur 0 ou 1.chemins de longueur 0 ou 1.

– Hypothèse d’induction : M^i contient tous les chemins Hypothèse d’induction : M^i contient tous les chemins de longueur au plus i . de longueur au plus i .

M^( 2 * i ) ( u , v ) = 1M^( 2 * i ) ( u , v ) = 1 max_k M^i ( u , k ) * M^i ( k , v ) = 1max_k M^i ( u , k ) * M^i ( k , v ) = 1 w tel que M^i ( u , w ) * M^i ( w , v ) = 1w tel que M^i ( u , w ) * M^i ( w , v ) = 1 M^i ( u , w ) = 1 et M^i ( w , v ) = 1M^i ( u , w ) = 1 et M^i ( w , v ) = 1 ( u ; w ) et ( w ; v ) sont de longueur au plus i( u ; w ) et ( w ; v ) sont de longueur au plus i ( u ; w ; v ) est de longueur au plus 2 * i .( u ; w ; v ) est de longueur au plus 2 * i .

Page 165: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 165

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• Preuve de la propriété :Preuve de la propriété :

– La matrice M fermée réflexivement contient tous les chemins La matrice M fermée réflexivement contient tous les chemins de longueur 0 ou 1.de longueur 0 ou 1.

– Hypothèse d’induction : M^i contient tous les chemins de Hypothèse d’induction : M^i contient tous les chemins de longueur au plus i . longueur au plus i .

M^( 2 * i ) ( u , v ) = 1M^( 2 * i ) ( u , v ) = 1 max_k M^i ( u , k ) * M^i ( k , v ) = 1max_k M^i ( u , k ) * M^i ( k , v ) = 1 w tel que M^i ( u , w ) * M^i ( w , v ) = 1w tel que M^i ( u , w ) * M^i ( w , v ) = 1 M^i ( u , w ) = 1 et M^i ( w , v ) = 1M^i ( u , w ) = 1 et M^i ( w , v ) = 1 ( u ; w ) et ( w ; v ) sont de longueur au plus i( u ; w ) et ( w ; v ) sont de longueur au plus i ( u ; w ; v ) est de longueur au plus 2 * i .( u ; w ; v ) est de longueur au plus 2 * i .

• On obtient bien-sûr tous les chemins !On obtient bien-sûr tous les chemins !

Page 166: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 166

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

ConnexitéConnexité

Plus courtsPlus courts

Plus légersPlus légers

La vagueLa vague MultiplicationMultiplication Floyd-WarshallFloyd-Warshall

( | E | ) =( | E | ) = O ( | V |^2 )O ( | V |^2 )

( | V |^3 *( | V |^3 * log( | V | ) )log( | V | ) )

Page 167: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 167

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• Floyd-Warshall :Floyd-Warshall :

– La multiplication recalcule de façon répétée les La multiplication recalcule de façon répétée les chemins courts. Si M^i ( u , v ) = 1 :chemins courts. Si M^i ( u , v ) = 1 :

Page 168: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 168

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• Floyd-Warshall :Floyd-Warshall :

– La multiplication recalcule de façon répétée les La multiplication recalcule de façon répétée les chemins courts. Si M^i ( u , v ) = 1 :chemins courts. Si M^i ( u , v ) = 1 :

M^( 2 * i ) ( u , v ) = max_k M^i ( u , k ) * M^i M^( 2 * i ) ( u , v ) = max_k M^i ( u , k ) * M^i ( k , v ) ( k , v )

= M^i ( u , u ) * M^i ( u , v )= M^i ( u , u ) * M^i ( u , v ) = M^i ( u , v ) = 1= M^i ( u , v ) = 1

Page 169: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 169

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• Floyd-Warshall :Floyd-Warshall :

– La multiplication recalcule de façon répétée les La multiplication recalcule de façon répétée les chemins courts. Si M^i ( u , v ) = 1 :chemins courts. Si M^i ( u , v ) = 1 :

M^( 2 * i ) ( u , v ) = max_k M^i ( u , k ) * M^i M^( 2 * i ) ( u , v ) = max_k M^i ( u , k ) * M^i ( k , v ) ( k , v )

= M^i ( u , u ) * M^i ( u , v )= M^i ( u , u ) * M^i ( u , v ) = M^i ( u , v ) = 1= M^i ( u , v ) = 1

• La DP numérote les sommets de « 1 » à « n » et :La DP numérote les sommets de « 1 » à « n » et :

Page 170: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 170

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• Floyd-Warshall :Floyd-Warshall :

– La multiplication recalcule de façon répétée les chemins La multiplication recalcule de façon répétée les chemins courts. Si M^i ( u , v ) = 1 :courts. Si M^i ( u , v ) = 1 :

M^( 2 * i ) ( u , v ) = max_k M^i ( u , k ) * M^i ( k , v ) M^( 2 * i ) ( u , v ) = max_k M^i ( u , k ) * M^i ( k , v ) = M^i ( u , u ) * M^i ( u , v )= M^i ( u , u ) * M^i ( u , v ) = M^i ( u , v ) = 1= M^i ( u , v ) = 1

• La DP numérote les sommets de « 1 » à « n » et :La DP numérote les sommets de « 1 » à « n » et :

– à l’étape (1), ne calcule que les chemins dont les à l’étape (1), ne calcule que les chemins dont les intermédiaires sont dans l’ensemble { 1 },intermédiaires sont dans l’ensemble { 1 },

Page 171: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 171

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• Floyd-Warshall :Floyd-Warshall :

– La multiplication recalcule de façon répétée les chemins courts. La multiplication recalcule de façon répétée les chemins courts. Si M^i ( u , v ) = 1 :Si M^i ( u , v ) = 1 :

M^( 2 * i ) ( u , v ) = max_k M^i ( u , k ) * M^i ( k , v ) M^( 2 * i ) ( u , v ) = max_k M^i ( u , k ) * M^i ( k , v ) = M^i ( u , u ) * M^i ( u , v )= M^i ( u , u ) * M^i ( u , v ) = M^i ( u , v ) = 1= M^i ( u , v ) = 1

• La DP numérote les sommets de « 1 » à « n » et :La DP numérote les sommets de « 1 » à « n » et :

– à l’étape (1), ne calcule que les chemins dont les intermédiaires à l’étape (1), ne calcule que les chemins dont les intermédiaires sont dans l’ensemble { 1 },sont dans l’ensemble { 1 },

– à l’étape (2), ne calcule que les chemins dont les intermédiaires à l’étape (2), ne calcule que les chemins dont les intermédiaires sont dans l’ensemble { 1 , 2 }, . . .sont dans l’ensemble { 1 , 2 }, . . .

Page 172: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 172

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

1122

33

Initialement : MInitialement : M(0)(0)

Nous n’avons pas dessiné les boucles de la fermeture réflexive !Nous n’avons pas dessiné les boucles de la fermeture réflexive !

Page 173: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 173

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

1122

33

Initialement : MInitialement : M(0)(0)

Etape 1 : MEtape 1 : M(1)(1)

Nous n’avons pas dessiné les boucles de la fermeture réflexive !Nous n’avons pas dessiné les boucles de la fermeture réflexive !

Page 174: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 174

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

1122

33

Initialement : MInitialement : M(0)(0)

Etape 1 : MEtape 1 : M(1)(1)

Nous n’avons pas dessiné les boucles de la fermeture réflexive !Nous n’avons pas dessiné les boucles de la fermeture réflexive !

Etape 2 : MEtape 2 : M(2)(2)

Page 175: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 175

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

1122

33

Initialement : MInitialement : M(0)(0)

Etape 1 : MEtape 1 : M(1)(1)

Nous n’avons pas dessiné les boucles de la fermeture réflexive !Nous n’avons pas dessiné les boucles de la fermeture réflexive !

Etape 2 : MEtape 2 : M(2)(2)

Etape 3 : MEtape 3 : M(3)(3)

Petit à petit, les uns . . .Petit à petit, les uns . . .

Page 176: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 176

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

1122

33

Initialement : MInitialement : M(0)(0)

Etape 1 : MEtape 1 : M(1)(1)

Nous n’avons pas dessiné les boucles de la fermeture réflexive !Nous n’avons pas dessiné les boucles de la fermeture réflexive !

Etape 2 : MEtape 2 : M(2)(2)

Etape 3 : MEtape 3 : M(3)(3)

Petit à petit, les autres . . .Petit à petit, les autres . . .

Page 177: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 177

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

1122

33

Initialement : MInitialement : M(0)(0)

Etape 1 : MEtape 1 : M(1)(1)

Nous n’avons pas dessiné les boucles de la fermeture réflexive !Nous n’avons pas dessiné les boucles de la fermeture réflexive !

Etape 2 : MEtape 2 : M(2)(2)

Etape 3 : MEtape 3 : M(3)(3)

Petit à petit, finalement . . .Petit à petit, finalement . . .

Page 178: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 178

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

1122

33

Initialement : MInitialement : M(0)(0)

Etape 1 : MEtape 1 : M(1)(1)

Nous n’avons pas dessiné les boucles de la fermeture réflexive !Nous n’avons pas dessiné les boucles de la fermeture réflexive !

Etape 2 : MEtape 2 : M(2)(2)

Etape 3 : MEtape 3 : M(3)(3)

Page 179: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 179

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

1122

33

Initialement : MInitialement : M(0)(0)

Etape 1 : MEtape 1 : M(1)(1)

Nous n’avons pas dessiné les boucles de la fermeture réflexive !Nous n’avons pas dessiné les boucles de la fermeture réflexive !

Etape 2 : MEtape 2 : M(2)(2)

Etape 3 : MEtape 3 : M(3)(3)

Page 180: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 180

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• M est donnée, elle comporte tous les chemins avec M est donnée, elle comporte tous les chemins avec des intermédiaires parmi { 1 , . . . , kdes intermédiaires parmi { 1 , . . . , k--1 } .1 } .

(k(k--1)1)

Page 181: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 181

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• M est donnée, elle comporte tous les chemins avec M est donnée, elle comporte tous les chemins avec des intermédiaires parmi { 1 , . . . , kdes intermédiaires parmi { 1 , . . . , k--1 } .1 } .

• M ( u , v ) est un chemin de « u » vers « v » avec des M ( u , v ) est un chemin de « u » vers « v » avec des intermédiaires parmi { 1 , . . . , k } . intermédiaires parmi { 1 , . . . , k } .

(k(k--1)1)

(k)(k)

Page 182: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 182

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• M est donnée, elle comporte tous les chemins avec M est donnée, elle comporte tous les chemins avec des intermédiaires parmi { 1 , . . . , kdes intermédiaires parmi { 1 , . . . , k--1 } .1 } .

• M ( u , v ) est un chemin de « u » vers « v » avec des M ( u , v ) est un chemin de « u » vers « v » avec des intermédiaires parmi { 1 , . . . , k } . intermédiaires parmi { 1 , . . . , k } .

• Soit le sommet « k » figure dans ce chemin, soit il ne le Soit le sommet « k » figure dans ce chemin, soit il ne le fait pas.fait pas.

(k(k--1)1)

(k)(k)

Page 183: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 183

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

M ( u , v ) = M ( u , v )M ( u , v ) = M ( u , v )(k)(k) (k(k--1)1)

(k(k--1)1)

(k)(k)

• M est donnée, elle comporte tous les chemins avec M est donnée, elle comporte tous les chemins avec des intermédiaires parmi { 1 , . . . , kdes intermédiaires parmi { 1 , . . . , k--1 } .1 } .

• M ( u , v ) est un chemin de « u » vers « v » avec des M ( u , v ) est un chemin de « u » vers « v » avec des intermédiaires parmi { 1 , . . . , k } . intermédiaires parmi { 1 , . . . , k } .

• Soit le sommet « k » figure dans ce chemin, soit Soit le sommet « k » figure dans ce chemin, soit il ne le il ne le fait pasfait pas..

Page 184: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 184

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

M ( u , v ) = M ( u , v )M ( u , v ) = M ( u , v )(k)(k) (k(k--1)1)

(k(k--1)1)

(k)(k)

• M est donnée, elle comporte tous les chemins avec M est donnée, elle comporte tous les chemins avec des intermédiaires parmi { 1 , . . . , kdes intermédiaires parmi { 1 , . . . , k--1 } .1 } .

• M ( u , v ) est un chemin de « u » vers « v » avec des M ( u , v ) est un chemin de « u » vers « v » avec des intermédiaires parmi { 1 , . . . , k } . intermédiaires parmi { 1 , . . . , k } .

• Soit le Soit le sommet « k » figuresommet « k » figure dans ce chemin, soit dans ce chemin, soit il ne le il ne le fait pasfait pas..

u u -- . . . . . . -- k k -- . . . . . . -- v v

Page 185: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 185

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

M ( u , v ) = M ( u , v )M ( u , v ) = M ( u , v )(k)(k) (k(k--1)1)

(k(k--1)1)

(k)(k)

• M est donnée, elle comporte tous les chemins avec M est donnée, elle comporte tous les chemins avec des intermédiaires parmi { 1 , . . . , kdes intermédiaires parmi { 1 , . . . , k--1 } .1 } .

• M ( u , v ) est un chemin de « u » vers « v » avec des M ( u , v ) est un chemin de « u » vers « v » avec des intermédiaires parmi { 1 , . . . , k } . intermédiaires parmi { 1 , . . . , k } .

• Soit le Soit le sommet « k » figuresommet « k » figure dans ce chemin, soit dans ce chemin, soit il ne le il ne le fait pasfait pas..

u u -- . . . . . . -- k k -- . . . . . . -- v v

/ k/ k / k/ k

Page 186: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 186

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

M ( u , v ) = M ( u , v )M ( u , v ) = M ( u , v )(k)(k) (k(k--1)1)

(k(k--1)1)

(k)(k)

• M est donnée, elle comporte tous les chemins avec des M est donnée, elle comporte tous les chemins avec des intermédiaires parmi { 1 , . . . , kintermédiaires parmi { 1 , . . . , k--1 } .1 } .

• M ( u , v ) est un chemin de « u » vers « v » avec des M ( u , v ) est un chemin de « u » vers « v » avec des intermédiaires parmi { 1 , . . . , k } . intermédiaires parmi { 1 , . . . , k } .

• Soit le Soit le sommet « k » figuresommet « k » figure dans ce chemin, soit dans ce chemin, soit il ne le fait pasil ne le fait pas..

u u -- . . . . . . -- k k -- . . . . . . -- v v

M ( u , k ) M ( k , v )M ( u , k ) M ( k , v )

/ k/ k / k/ k

(k(k--1)1) (k(k--1)1)

}} }}

Page 187: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 187

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• M est la matrice d’adjacence, fermée réflexivement. M est la matrice d’adjacence, fermée réflexivement. Elle comporte des « 0 » et des « 1 ».Elle comporte des « 0 » et des « 1 ».

(0)(0)

Page 188: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 188

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• M est la matrice d’adjacence, fermée réflexivement. M est la matrice d’adjacence, fermée réflexivement. Elle comporte des « 0 » et des « 1 ».Elle comporte des « 0 » et des « 1 ».

M ( u , v ) = M ( u , v ) = maxmax ( , ( ,

))

(0)(0)

(k)(k)

Page 189: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 189

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• M est la matrice d’adjacence, fermée réflexivement. M est la matrice d’adjacence, fermée réflexivement. Elle comporte des « 0 » et des « 1 ».Elle comporte des « 0 » et des « 1 ».

M ( u , v ) = M ( u , v ) = maxmax ( , ( ,

))

(0)(0)

M ( u , v )M ( u , v )(k(k--1)1)(k)(k)

Page 190: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 190

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• M est la matrice d’adjacence, fermée réflexivement. M est la matrice d’adjacence, fermée réflexivement. Elle comporte des « 0 » et des « 1 ».Elle comporte des « 0 » et des « 1 ».

M ( u , v ) = M ( u , v ) = maxmax ( , ( ,

))

(0)(0)

M ( u , k ) * M ( k , v )M ( u , k ) * M ( k , v )(k(k--1)1)

M ( u , v )M ( u , v )(k(k--1)1)

(k(k--1)1)

(k)(k)

Page 191: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 191

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• M est la matrice d’adjacence, fermée réflexivement. M est la matrice d’adjacence, fermée réflexivement. Elle comporte des « 0 » et des « 1 ».Elle comporte des « 0 » et des « 1 ».

M ( u , v ) = M ( u , v ) = maxmax ( , ( ,

))

• M est la matrice recherchée !M est la matrice recherchée !

(0)(0)

M ( u , k ) * M ( k , v )M ( u , k ) * M ( k , v )(k(k--1)1)

M ( u , v )M ( u , v )(k(k--1)1)

(k(k--1)1)

(n)(n)

(k)(k)

Page 192: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 192

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• M est la matrice d’adjacence, fermée réflexivement. M est la matrice d’adjacence, fermée réflexivement. Elle comporte des « 0 » et des « 1 ».Elle comporte des « 0 » et des « 1 ».

M ( u , v ) = M ( u , v ) = maxmax ( , ( ,

))

• M est la matrice recherchée !M est la matrice recherchée !

(0)(0)

M ( u , k ) * M ( k , v )M ( u , k ) * M ( k , v )(k(k--1)1)

M ( u , v )M ( u , v )(k(k--1)1)

(k(k--1)1)

(n)(n)

(k)(k)

Pour k de 1 a | V |

Pour u de 1 a | V |

Pour v de 1 a | V |

M_k ( u , v ) <- . . .

Page 193: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 193

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

ConnexitéConnexité

Plus courtsPlus courts

Plus légersPlus légers

La vagueLa vague MultiplicationMultiplication Floyd-WarshallFloyd-Warshall

( | E | ) =( | E | ) = O ( | V |^2 )O ( | V |^2 )

( | V |^3 *( | V |^3 * log( | V | ) )log( | V | ) )

( | V |^3 )( | V |^3 )

Page 194: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 194

Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------

ConnexitéConnexité

Plus courtsPlus courts

Plus légersPlus légers

La vagueLa vague MultiplicationMultiplication Floyd-WarshallFloyd-Warshall

( | E | ) =( | E | ) = O ( | V |^2 )O ( | V |^2 )

( | V |^3 *( | V |^3 * log( | V | ) )log( | V | ) )

( | V |^3 )( | V |^3 )

Page 195: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 195

SynthèseSynthèse----------------------------------------------------------------------------------------------------------------------------------

• Définitions de baseDéfinitions de base

• Connexité :Connexité :

– à l’aide de la vague,à l’aide de la vague,

– à l’aide de la multiplication,à l’aide de la multiplication,

– à l’aide de Floyd-Warshall.à l’aide de Floyd-Warshall.

Page 196: St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Marc.Gengler@esil.univ-mrs.fr Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

St Valentin 2006 Cours de graphes 1 - Intranet 196

‘‘