marc gengler [email protected]
DESCRIPTION
Cours de graphes. Marc Gengler [email protected]. Alexandra Bac - Sébastien Fournier. 12h de cours 12h de TD des devoirs … et un examen. Les grandes lignes du cours. Définitions de base Connexité Les plus courts chemins Dijkstra et Bellmann-Ford Arbres - PowerPoint PPT PresentationTRANSCRIPT
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
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
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.
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
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)
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)
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)
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.
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.
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 .
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.
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 ) !
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 ) !
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.
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.
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.
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é !
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.
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.
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 ».
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).
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
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
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.
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 !
St Valentin 2006 Cours de graphes 1 - Intranet 27
Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------
St Valentin 2006 Cours de graphes 1 - Intranet 28
Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------
11
22
44
3355
66
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
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 ) ! ! !
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
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 ) !
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 ) !
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 ) !
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 ) !
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 ) !
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 ) !
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 ) !
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 ) !
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
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 !
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 !
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 !
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 !
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 !
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 !
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
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
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 }
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 }
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 }
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
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
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 )
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
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
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
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
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
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.
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.
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 ) .
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.
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
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
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
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 )
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
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 )
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 )
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.
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
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
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
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
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 ! !
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 ! !
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 )
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 }
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 }
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 }
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 }
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 !
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 !
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 !
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 !
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 !
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 !
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 !
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 ».
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
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 !
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 !
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
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 !
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 !
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 !
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 !
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 !
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 !
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 ! ! !
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.
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.
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 ) .
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 ).
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
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
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 ».
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 ».
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 ».
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.
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
St Valentin 2006 Cours de graphes 1 - Intranet 113
Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------
uu
vv
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 !
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
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
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
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
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
St Valentin 2006 Cours de graphes 1 - Intranet 120
Définitions de baseDéfinitions de base----------------------------------------------------------------------------------------------------------------------------------
uu
e ( u ) = 3e ( u ) = 3
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 !
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
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 ».
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 » !
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 » !
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.
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 ».
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).
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
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
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
St Valentin 2006 Cours de graphes 1 - Intranet 132
Connexité – plus courts cheminsConnexité – plus courts chemins----------------------------------------------------------------------------------------------------------------------------------
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 !
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 !
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 !
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,
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 »,
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 » !
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 ?
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
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
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,
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,
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 , . . .
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 , . . .
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 ! ! !
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é !
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 !
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 )
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 »,
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),
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
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
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
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
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
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.
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 .
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
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
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
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
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
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 .
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 !
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 | ) )
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 :
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
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 :
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 },
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 }, . . .
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 !
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 !
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)
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 . . .
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 . . .
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 . . .
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)
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)
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)
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)
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)
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..
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
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
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)
}} }}
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)
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)
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)
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)
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)
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 ) <- . . .
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 )
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 )
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.
St Valentin 2006 Cours de graphes 1 - Intranet 196
‘‘