Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
2
Marc Gengler Marc.Gengler@esil.univ-mrs.fr
Cours de graphes Marc Gengler Alexandra Bac Sébastien Fournier 12h de cours 12h de TD des devoirs … et un examen St Valentin 2006 Cours de graphes 1 - Intranet
3
Les grandes lignes du cours
Définitions de base Connexité Les plus courts chemins Dijkstra et Bellmann-Ford Arbres Arbres de recouvrement minimaux Problèmes de flots Coloriage de graphes Couplage Chemins d’Euler et de Hamilton Problèmes NP-complets St Valentin 2006 Cours de graphes 1 - Intranet
4
Cours de graphes 1 - Intranet
Bibliographie Tout ce qui contient - graphes, graphs. Internet - souvent, c’est trop simplifié ou trop dense, - et pas toujours correct. Mes choix - Introduction to Algorithms, Leiserson et al. - Algorithms, Sedgewick. - Fundamental Algorithms, Knuth. - Graphes, Berge. St Valentin 2006 Cours de graphes 1 - Intranet
5
Les grandes lignes du cours
Définitions de base Connexité Les plus courts chemins Dijkstra et Bellmann-Ford Arbres Arbres de recouvrement minimaux Problèmes de flots Coloriage de graphes Couplage Chemins d’Euler et de Hamilton Problèmes NP-complets St Valentin 2006 Cours de graphes 1 - Intranet
6
Cours de graphes 1 - Intranet
Définitions de base Il y a des sommets ! (vertex, vertices) St Valentin 2006 Cours de graphes 1 - Intranet
7
Cours de graphes 1 - Intranet
Définitions de base Il y a des sommets ! (vertex, vertices) Il y a des arêtes ! (edge) St Valentin 2006 Cours de graphes 1 - Intranet
8
Cours de graphes 1 - Intranet
Définitions de base Il y a des sommets ! (vertex, vertices) Il y a des arêtes ! (edge) Il y a des arcs ! (arc) St Valentin 2006 Cours de graphes 1 - Intranet
9
Cours de graphes 1 - Intranet
Définitions de base Formellement : Il y a l’ensemble « V » des sommets. St Valentin 2006 Cours de graphes 1 - Intranet
10
Cours de graphes 1 - Intranet
Définitions de base Formellement : Il y a l’ensemble « V » des sommets. Il y en a « n », c’est-à-dire | V | . La complexité est fonction du nombre de sommets. St Valentin 2006 Cours de graphes 1 - Intranet
11
Cours de graphes 1 - Intranet
Définitions de base Formellement : Il y a l’ensemble « V » des sommets. Il y en a « n », c’est-à-dire | V | . La complexité est fonction du nombre de sommets. Il y a l’ensemble « E » des arcs et arêtes. C’est une partie du produit cartésien V x V . St Valentin 2006 Cours de graphes 1 - Intranet
12
Cours de graphes 1 - Intranet
Définitions de base Formellement : Il y a l’ensemble « V » des sommets. Il y en a « n », c’est-à-dire | V | . La complexité est fonction du nombre de sommets. Il y a l’ensemble « E » des arcs et arêtes. 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. St Valentin 2006 Cours de graphes 1 - Intranet
13
Cours de graphes 1 - Intranet
Définitions de base Formellement : Il y a l’ensemble « V » des sommets. Il y en a « n », c’est-à-dire | V | . La complexité est fonction du nombre de sommets. Il y a l’ensemble « E » des arcs et arêtes. 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. Tous des couples ( a , a ) ! St Valentin 2006 Cours de graphes 1 - Intranet
14
Cours de graphes 1 - Intranet
Définitions de base Formellement : Il y a l’ensemble « V » des sommets. Il y en a « n », c’est-à-dire | V | . La complexité est fonction du nombre de sommets. Il y a l’ensemble « E » des arcs et arêtes. 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. Tous des couples ( a , a ) ! Aucun couple ( a , a ) ! St Valentin 2006 Cours de graphes 1 - Intranet
15
Cours de graphes 1 - Intranet
Définitions de base Formellement : Il y a l’ensemble « V » des sommets. Il y en a « n », c’est-à-dire | V | . La complexité est fonction du nombre de sommets. Il y a l’ensemble « E » des arcs et arêtes. 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 symétrique, anti-symétrique ou ni - ni. St Valentin 2006 Cours de graphes 1 - Intranet
16
Cours de graphes 1 - Intranet
Définitions de base Formellement : Il y a l’ensemble « V » des sommets. Il y en a « n », c’est-à-dire | V | . La complexité est fonction du nombre de sommets. Il y a l’ensemble « E » des arcs et arêtes. 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 symétrique, anti-symétrique ou ni - ni. ( a , b ) ssi ( b , a ) ! St Valentin 2006 Cours de graphes 1 - Intranet
17
Cours de graphes 1 - Intranet
Définitions de base Formellement : Il y a l’ensemble « V » des sommets. Il y en a « n », c’est-à-dire | V | . La complexité est fonction du nombre de sommets. Il y a l’ensemble « E » des arcs et arêtes. 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 symétrique, anti-symétrique ou ni - ni. ( a , b ) ssi ( b , a ) ! Si ( a , b ) avec a = b alors pas ( b , a ) ! / St Valentin 2006 Cours de graphes 1 - Intranet
18
Cours de graphes 1 - Intranet
Définitions de base Formellement : Il y a l’ensemble « V » des sommets. Il y en a « n », c’est-à-dire | V | . La complexité est fonction du nombre de sommets. Il y a l’ensemble « E » des arcs et arêtes. 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 symétrique, anti-symétrique ou ni - ni. Graphe non orienté ! Graphe orienté ! St Valentin 2006 Cours de graphes 1 - Intranet
19
Cours de graphes 1 - Intranet
Définitions de base Formellement : Il y a l’ensemble « V » des sommets. Il y en a « n », c’est-à-dire | V | . La complexité est fonction du nombre de sommets. Il y a l’ensemble « E » des arcs et arêtes. 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 symétrique, anti-symétrique ou ni - ni. « E » peut être transitive, ou non-transitive. St Valentin 2006 Cours de graphes 1 - Intranet
20
Cours de graphes 1 - Intranet
Définitions de base Formellement : Il y a l’ensemble « V » des sommets. Il y en a « n », c’est-à-dire | V | . La complexité est fonction du nombre de sommets. Il y a l’ensemble « E » des arcs et arêtes. 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 symétrique, anti-symétrique ou ni - ni. « E » peut être transitive, ou non-transitive. Si ( a , b ) et ( b , c ) alors (a , c ) ! St Valentin 2006 Cours de graphes 1 - Intranet
21
Cours de graphes 1 - Intranet
Définitions de base Formellement : G = ( V , E ) Un graphe est donné par les ensembles « V » et « E ». St Valentin 2006 Cours de graphes 1 - Intranet
22
Cours de graphes 1 - Intranet
Définitions de base Formellement : G = ( V , E ) Un graphe est donné par les ensembles « V » et « E ». Il y a des multi-graphes qui sont correspondent au cas où « E » est un multi-ensemble (plusieurs arêtes et/ou arcs entre deux sommets). St Valentin 2006 Cours de graphes 1 - Intranet
23
Cours de graphes 1 - Intranet
Définitions de base Formellement : G = ( V , E ) Un graphe est donné par les ensembles « V » et « E ». Il y a des multi-graphes qui sont correspondent au cas où « E » est un multi-ensemble (plusieurs arêtes et/ou arcs entre deux sommets). Il y a des graphes pondérés qui correspondent au fait l’on attache des poids aux arcs ou arêtes (entiers par exemple). 12 25 15 St Valentin 2006 Cours de graphes 1 - Intranet
24
Cours de graphes 1 - Intranet
Définitions de base Sous-graphe G’ d’un graphe G : Le graphe G’ = ( V’ , E’ ) est un sous-graphe du graphe G = ( V , E ) , si : V’ V les sommets de G’ sont parmi ceux de G E’ E V’ x V’ les arcs et arêtes de G’ sont parmi ceux et celles de G et se limitent aux sommets de G’. U U v St Valentin 2006 Cours de graphes 1 - Intranet
25
Cours de graphes 1 - Intranet
Définitions de base Représentation des données : Nous indexons (numérotons) les sommets. Nous représentons les arcs et les arêtes. St Valentin 2006 Cours de graphes 1 - Intranet
26
Cours de graphes 1 - Intranet
Définitions de base Représentation des données : Nous indexons (numérotons) les sommets. Nous représentons les arcs et les arêtes. Nous obtenons une matrice « M » de taille n x n qui comporte des valeurs binaires. M( a , b ) est vrai si et seulement si l’arc ( a , b ) existe ! St Valentin 2006 Cours de graphes 1 - Intranet
27
Cours de graphes 1 - Intranet
Définitions de base St Valentin 2006 Cours de graphes 1 - Intranet
28
Cours de graphes 1 - Intranet
Définitions de base 4 1 6 2 3 5 St Valentin 2006 Cours de graphes 1 - Intranet
29
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 1 2 3 4 5 6 4 1 6 2 3 5 St Valentin 2006 Cours de graphes 1 - Intranet
30
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 1 2 L’existence ou non de l’arc ( 2 , 5 ) ! ! ! 3 4 5 4 6 1 6 2 3 5 St Valentin 2006 Cours de graphes 1 - Intranet
31
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 1 2 3 4 5 6 4 1 6 2 3 5 St Valentin 2006 Cours de graphes 1 - Intranet
32
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 La diagonale parle des couples ( u , u ) ! 1 2 3 4 5 6 F F F F F 4 V 1 6 2 3 5 St Valentin 2006 Cours de graphes 1 - Intranet
33
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 La diagonale parle des couples ( u , u ) ! 1 2 3 4 5 6 F F V Les arêtes ( 2 , 4 ) et ( 3 , 5 ) sont symétriques ! F V V F V F 4 V 1 6 2 3 5 St Valentin 2006 Cours de graphes 1 - Intranet
34
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 La diagonale parle des couples ( u , u ) ! 1 2 3 4 5 6 F F V Les arêtes ( 2 , 4 ) et ( 3 , 5 ) sont symétriques ! F V V F V F 4 V 1 6 2 3 5 St Valentin 2006 Cours de graphes 1 - Intranet
35
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 La diagonale parle des couples ( u , u ) ! 1 2 3 4 5 6 F V F V Les arêtes ( 2 , 4 ) et ( 3 , 5 ) sont symétriques ! F V V V F Les arcs ( 1 , 4 ) et ( 4 , 1 ) donnent aussi une symétrie ! V F 4 V 1 6 2 3 5 St Valentin 2006 Cours de graphes 1 - Intranet
36
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 La diagonale parle des couples ( u , u ) ! 1 2 3 4 5 6 F V F V Les arêtes ( 2 , 4 ) et ( 3 , 5 ) sont symétriques ! F V V V F Les arcs ( 1 , 4 ) et ( 4 , 1 ) donnent aussi une symétrie ! V F 4 V 1 6 2 3 5 St Valentin 2006 Cours de graphes 1 - Intranet
37
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 La diagonale parle des couples ( u , u ) ! 1 2 3 4 5 6 F V F V Les arêtes ( 2 , 4 ) et ( 3 , 5 ) sont symétriques ! F V V V V F Les arcs ( 1 , 4 ) et ( 4 , 1 ) donnent aussi une symétrie ! V F 4 V V 1 Les arcs ( 4 , 3 ) et ( 6 , 3 ) n’ont pas leur pendant symétrique ! ! ! 6 2 3 5 St Valentin 2006 Cours de graphes 1 - Intranet
38
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 La diagonale parle des couples ( u , u ) ! 1 2 3 4 5 6 F V F V Les arêtes ( 2 , 4 ) et ( 3 , 5 ) sont symétriques ! F F V F V V V F Les arcs ( 1 , 4 ) et ( 4 , 1 ) donnent aussi une symétrie ! V F 4 V V 1 Les arcs ( 4 , 3 ) et ( 6 , 3 ) n’ont pas leur pendant symétrique ! ! ! 6 2 3 5 St Valentin 2006 Cours de graphes 1 - Intranet
39
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 La diagonale parle des couples ( u , u ) ! 1 2 3 4 5 6 F F F V F F F F F V F F Les arêtes ( 2 , 4 ) et ( 3 , 5 ) sont symétriques ! F F F F V F V V V F F F Les arcs ( 1 , 4 ) et ( 4 , 1 ) donnent aussi une symétrie ! F F V F F F 4 F F V F F V 1 Les arcs ( 4 , 3 ) et ( 6 , 3 ) n’ont pas leur pendant symétrique ! ! ! 6 2 Il faut n^2 bits ! 3 5 St Valentin 2006 Cours de graphes 1 - Intranet
40
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 Pour des multi-graphes, nous remplaçons les booléens par des multiplicités ! 1 2 3 4 5 6 F F F V F F F F F V F F F F F F V F Pour des graphes pondérés, nous remplaçons les booléens par des poids ! V V V F F F F F V F F F 4 F F V F F V 1 6 2 3 5 St Valentin 2006 Cours de graphes 1 - Intranet
41
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 1 2 3 4 5 6 F F F V F F F F F V F F F F F F V F V V V F F F F F V F F F F F V F F V Parfois, le graphe est peu dense ! Nous mémorisons juste les indices des colonnes différentes de Faux ! St Valentin 2006 Cours de graphes 1 - Intranet
42
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 4 1 2 3 4 5 6 F F F V F F F F F V F F F F F F V F V V V F F F F F V F F F F F V F F V Parfois, le graphe est peu dense ! Nous mémorisons juste les indices des colonnes différentes de Faux ! St Valentin 2006 Cours de graphes 1 - Intranet
43
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 4 1 2 3 4 5 6 F F F V F F F F F V F F 4 F F F F V F V V V F F F F F V F F F F F V F F V Parfois, le graphe est peu dense ! Nous mémorisons juste les indices des colonnes différentes de Faux ! St Valentin 2006 Cours de graphes 1 - Intranet
44
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 4 1 2 3 4 5 6 F F F V F F F F F V F F 4 F F F F V F 5 V V V F F F 1 2 3 F F V F F F 3 F F V F F V 3 6 Parfois, le graphe est peu dense ! Nous mémorisons juste les indices des colonnes différentes de Faux ! St Valentin 2006 Cours de graphes 1 - Intranet
45
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 4 1 2 3 4 5 6 F F F V F F F F F V F F 4 F F F F V F 5 V V V F F F 1 2 3 F F V F F F 3 F F V F F V 3 6 Parfois, le graphe est peu dense ! Nous mémorisons juste les indices des colonnes différentes de Faux ! St Valentin 2006 Cours de graphes 1 - Intranet
46
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 4 1 2 3 4 5 6 F F F V F F F F F V F F 4 F F F F V F 5 V V V F F F 1 2 3 F F V F F F 3 F F V F F V 3 6 Parfois, le graphe est peu dense ! Nous mémorisons juste les indices des colonnes différentes de Faux ! Il faut ( | V | + | E | ) * log( | V | ) bits ! St Valentin 2006 Cours de graphes 1 - Intranet
47
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 Les voisins d’un sommet « u » : Les voisins sortants : V+ ( u ) Les voisins entrants : V- ( u ) 1 2 3 4 5 6 F F F V F F F F F V F F F F F F V F V V V F F F F F V F F F F F V F F V St Valentin 2006 Cours de graphes 1 - Intranet
48
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 Les voisins d’un sommet « u » : Les voisins sortants : V+ ( u ) Les voisins entrants : V- ( u ) 1 2 3 4 5 6 F F F V F F F F F V F F F F F F V F V V V F F F F F V F F F F F V F F V V+ ( u ) = { v e V | ( u , v ) e E } V- ( u ) = { v e V | ( v , u ) e E } St Valentin 2006 Cours de graphes 1 - Intranet
49
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 Les voisins d’un sommet « u » : Les voisins sortants : V+ ( u ) Les voisins entrants : V- ( u ) 1 2 3 4 5 6 F F F V F F F F F V F F F F F F V F V V V F F F F F V F F F V+ ( 4 ) = { 1 , 2 , 3 } F F V F F V V+ ( u ) = { v e V | ( u , v ) e E } V- ( u ) = { v e V | ( v , u ) e E } St Valentin 2006 Cours de graphes 1 - Intranet
50
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 Les voisins d’un sommet « u » : Les voisins sortants : V+ ( u ) Les voisins entrants : V- ( u ) 1 2 3 4 5 6 F F F V F F F F F V F F F F F F V F V V V F F F F F V F F F V+ ( 4 ) = { 1 , 2 , 3 } F F V F F V V- ( 3 ) = { 4 , 5 , 6 } V+ ( u ) = { v e V | ( u , v ) e E } V- ( u ) = { v e V | ( v , u ) e E } St Valentin 2006 Cours de graphes 1 - Intranet
51
Si le graphe est symétrique :
Définitions de base 1 2 3 4 5 6 Les voisins d’un sommet « u » : Les voisins sortants : V+ ( u ) Les voisins entrants : V- ( u ) 1 2 3 4 5 6 F F F V F F F F F V F F F F F F V F V V V F F F F F V F F F V+ ( 4 ) = { 1 , 2 , 3 } F F V F F V V- ( 3 ) = { 4 , 5 , 6 } Si le graphe est symétrique : V ( u ) = V+ ( u ) = V- ( u ) V+ ( u ) = { v e V | ( u , v ) e E } V- ( u ) = { v e V | ( v , u ) e E } St Valentin 2006 Cours de graphes 1 - Intranet
52
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 Le degré d’un sommet « u » : Le degré sortant : D+ ( u ) Le degré entrant : D- ( u ) 1 2 3 4 5 6 F F F V F F F F F V F F F F F F V F V V V F F F F F V F F F F F V F F V St Valentin 2006 Cours de graphes 1 - Intranet
53
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 Le degré d’un sommet « u » : Le degré sortant : D+ ( u ) Le degré entrant : D- ( u ) 1 2 3 4 5 6 F F F V F F F F F V F F F F F F V F V V V F F F F F V F F F F F V F F V D+ ( u ) = | V+ ( u ) | D- ( u ) = | V- ( u ) | St Valentin 2006 Cours de graphes 1 - Intranet
54
Si le graphe est symétrique :
Définitions de base 1 2 3 4 5 6 Le degré d’un sommet « u » : Le degré sortant : D+ ( u ) Le degré entrant : D- ( u ) 1 2 3 4 5 6 F F F V F F F F F V F F F F F F V F V V V F F F F F V F F F F F V F F V Si le graphe est symétrique : D ( u ) = D+ ( u ) = D- ( u ) D+ ( u ) = | V+ ( u ) | D- ( u ) = | V- ( u ) | St Valentin 2006 Cours de graphes 1 - Intranet
55
Si le graphe est symétrique :
Définitions de base 1 2 3 4 5 6 Le degré d’un sommet « u » : Le degré sortant : D+ ( u ) Le degré entrant : D- ( u ) 1 2 3 4 5 6 F F F V F F F F F V F F F F F F V F V V V F F F F F V F F F Le degré d’un graphe G = ( V , E ) : D( G ) = max { D ( u ) } F F V F F V u e V Si le graphe est symétrique : D ( u ) = D+ ( u ) = D- ( u ) D+ ( u ) = | V+ ( u ) | D- ( u ) = | V- ( u ) | St Valentin 2006 Cours de graphes 1 - Intranet
56
Le degré d'un graphe est souvent caractéristique
Définitions de base 1 2 3 4 5 6 Le degré d’un sommet « u » : Le degré sortant : D+ ( u ) Le degré entrant : D- ( u ) 1 2 3 4 5 6 F F F V F F F F F V F F Le degré d'un graphe est souvent caractéristique de la complexité d'un problème ! ! ! F F F F V F V V V F F F F F V F F F Le degré d’un graphe G = ( V , E ) : D( G ) = max { D ( u ) } F F V F F V u e V Si le graphe est symétrique : D ( u ) = D+ ( u ) = D- ( u ) D+ ( u ) = | V+ ( u ) | D- ( u ) = | V- ( u ) | St Valentin 2006 Cours de graphes 1 - Intranet
57
Cours de graphes 1 - Intranet
Définitions de base Les chemins : Un chemin, de longueur « n », du sommet « u » au sommet « v » est : ( w , , w ) 1 n+1 St Valentin 2006 Cours de graphes 1 - Intranet
58
Cours de graphes 1 - Intranet
Définitions de base Les chemins : Un chemin, de longueur « n », du sommet « u » au sommet « v » est : ( w , , w ) telle que u = w et v = w ( w , w ) est une arête ou un arc du graphe. 1 n+1 1 n+1 i i+1 St Valentin 2006 Cours de graphes 1 - Intranet
59
Cours de graphes 1 - Intranet
Définitions de base Les chemins : Un chemin, de longueur « n », du sommet « u » au sommet « v » est : ( w , , w ) telle que u = w et v = w ( w , w ) est une arête ou un arc du graphe. Le chemin est orienté s’il comporte des arcs, non orienté s’il est fait d’arêtes uniquement. 1 n+1 1 n+1 i i+1 St Valentin 2006 Cours de graphes 1 - Intranet
60
Cours de graphes 1 - Intranet
Définitions de base Notations et propriétés sur les chemins : Nous noterons ( c’est non standard ) : ( u , v ) l’arête ou l’arc, c’est-à-dire le chemin de longueur 1 . ( u ; v ) le chemin de longueur quelconque. St Valentin 2006 Cours de graphes 1 - Intranet
61
Cours de graphes 1 - Intranet
Définitions de base Notations et propriétés sur les chemins : Nous noterons ( c’est non standard ) : ( u , v ) l’arête ou l’arc, c’est-à-dire le chemin de longueur 1 . ( u ; v ) le chemin de longueur quelconque. Pour tout chemin non orienté ( u ; v ) du graphe G, nous pouvons construire le chemin ( v ; u ) dans G. St Valentin 2006 Cours de graphes 1 - Intranet
62
Cours de graphes 1 - Intranet
Définitions de base Notations et propriétés sur les chemins : Nous noterons ( c’est non standard ) : ( u , v ) l’arête ou l’arc, c’est-à-dire le chemin de longueur 1 . ( u ; v ) le chemin de longueur quelconque. Pour tout chemin non orienté ( u ; v ) du graphe G, nous pouvons construire le chemin ( v ; u ) dans G. Dans un graphe G, l’existence du chemin orienté ( u ; v ) n’implique pas l’existence d’un chemin de retour ( v ; u ) . St Valentin 2006 Cours de graphes 1 - Intranet
63
Cours de graphes 1 - Intranet
Définitions de base Cycles et circuits : Un chemin non orienté ( u ; v ) pour lequel « u » coïncide avec « v » est un cycle. St Valentin 2006 Cours de graphes 1 - Intranet
64
Cours de graphes 1 - Intranet
Définitions de base Cycles et circuits : Un chemin non orienté ( u ; v ) pour lequel « u » coïncide avec « v » est un cycle. u = v St Valentin 2006 Cours de graphes 1 - Intranet
65
Cours de graphes 1 - Intranet
Définitions de base Cycles et circuits : Un chemin non orienté ( u ; v ) pour lequel « u » coïncide avec « v » est un cycle. Un chemin orienté ( w ; t ) pour lequel « w » coïncide avec « t » est un circuit. u = v St Valentin 2006 Cours de graphes 1 - Intranet
66
Cours de graphes 1 - Intranet
Définitions de base Cycles et circuits : Un chemin non orienté ( u ; v ) pour lequel « u » coïncide avec « v » est un cycle. Un chemin orienté ( w ; t ) pour lequel « w » coïncide avec « t » est un circuit. u = v w = t St Valentin 2006 Cours de graphes 1 - Intranet
67
Cours de graphes 1 - Intranet
Définitions de base Chemins simples : Un chemin ( u ; v ) , où « u » est différent de « v », est simple si et seulement si aucun sommet n’est répété dans la séquence : ( u , , v ) St Valentin 2006 Cours de graphes 1 - Intranet
68
Cours de graphes 1 - Intranet
Définitions de base Chemins simples : Un chemin ( u ; v ) , où « u » est différent de « v », est simple si et seulement si aucun sommet n’est répété dans la séquence : ( u , , v ) Chemin simple ( u ; v ) u v St Valentin 2006 Cours de graphes 1 - Intranet
69
Cours de graphes 1 - Intranet
Définitions de base Chemins simples : Un chemin ( u ; v ) , où « u » est différent de « v », est simple si et seulement si aucun sommet n’est répété dans la séquence : ( u , , v ) Chemin simple ( u ; v ) u w v Chemin non simple ( w ; t ) St Valentin 2006 Cours de graphes 1 - Intranet t
70
Cours de graphes 1 - Intranet
Définitions de base Chemins simples : Un chemin ( u ; v ) , où « u » est différent de « v », est simple si et seulement si aucun sommet n’est répété dans la séquence : ( u , , v ) Chemin simple ( u ; v ) u w v Chemin non simple ( w ; t ) St Valentin 2006 Cours de graphes 1 - Intranet t
71
Cours de graphes 1 - Intranet
Définitions de base Lemme de König : De tout chemin non simple ( u ; v ) , nous pouvons extraire un chemin de « u » vers « v » qui est simple et plus court que le chemin initial. St Valentin 2006 Cours de graphes 1 - Intranet
72
Cours de graphes 1 - Intranet
Définitions de base Lemme de König : De tout chemin non simple ( u ; v ) , nous pouvons extraire un chemin de « u » vers « v » qui est simple et plus court que le chemin initial. u v St Valentin 2006 Cours de graphes 1 - Intranet
73
Cours de graphes 1 - Intranet
Définitions de base Lemme de König : De tout chemin non simple ( u ; v ) , nous pouvons extraire un chemin de « u » vers « v » qui est simple et plus court que le chemin initial. u v St Valentin 2006 Cours de graphes 1 - Intranet
74
Cours de graphes 1 - Intranet
Définitions de base Lemme de König : De tout chemin non simple ( u ; v ) , nous pouvons extraire un chemin de « u » vers « v » qui est simple et plus court que le chemin initial. ( u , , w , , w , t , , v ) t u w v St Valentin 2006 Cours de graphes 1 - Intranet
75
Cours de graphes 1 - Intranet
Définitions de base Lemme de König : De tout chemin non simple ( u ; v ) , nous pouvons extraire un chemin de « u » vers « v » qui est simple et plus court que le chemin initial. ( u , , w , , w , t , , v ) t u w v St Valentin 2006 Cours de graphes 1 - Intranet
76
Cours de graphes 1 - Intranet
Définitions de base Lemme de König : De tout chemin non simple ( u ; v ) , nous pouvons extraire un chemin de « u » vers « v » qui est simple et plus court que le chemin initial. ( u , , w , , w , t , , v ) t u De tout cycle ou circuit nous pouvons extraire un cycle ou circuit élémentaire ! w v St Valentin 2006 Cours de graphes 1 - Intranet
77
Je parlerai souvent de "chemin" et je sous-entendrai "simple" ! ! !
Définitions de base Lemme de König : De tout chemin non simple ( u ; v ) , nous pouvons extraire un chemin de « u » vers « v » qui est simple et plus court que le chemin initial. ( u , , w , , w , t , , v ) Je parlerai souvent de "chemin" et je sous-entendrai "simple" ! ! ! t u De tout cycle ou circuit nous pouvons extraire un cycle ou circuit élémentaire ! w v St Valentin 2006 Cours de graphes 1 - Intranet
78
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 La composante connexe de « u » : La composante sortante : C+ ( u ) La composante entrante : C- ( u ) 1 2 3 4 5 6 F F F V F F F F F V F F F F F F V F V V V F F F F F V F F F 4 F F V F F V 1 6 2 3 5 St Valentin 2006 Cours de graphes 1 - Intranet
79
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 La composante connexe de « u » : La composante sortante : C+ ( u ) La composante entrante : C- ( u ) 1 2 3 4 5 6 F F F V F F F F F V F F F F F F V F V V V F F F F F V F F F 4 F F V F F V 1 C+ ( u ) = { v e V | ( u ; v ) existe } C- ( u ) = { v e V | ( v ; u ) existe } 6 2 3 5 St Valentin 2006 Cours de graphes 1 - Intranet
80
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 La composante connexe de « u » : La composante sortante : C+ ( u ) La composante entrante : C- ( u ) 1 2 3 4 5 6 F F F V F F F F F V F F F F F F V F V V V F F F C+ ( 4 ) = { 1 , 2 , 3 , 4 , 5 } F F V F F F 4 F F V F F V 1 C+ ( u ) = { v e V | ( u ; v ) existe } C- ( u ) = { v e V | ( v ; u ) existe } 6 2 3 5 St Valentin 2006 Cours de graphes 1 - Intranet
81
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 La composante connexe de « u » : La composante sortante : C+ ( u ) La composante entrante : C- ( u ) 1 2 3 4 5 6 F F F V F F F F F V F F F F F F V F V V V F F F C+ ( 4 ) = { 1 , 2 , 3 , 4 , 5 } F F V F F F C- ( 4 ) = { 1 , 2 , 4 } 4 F F V F F V 1 C+ ( u ) = { v e V | ( u ; v ) existe } C- ( u ) = { v e V | ( v ; u ) existe } 6 2 3 5 St Valentin 2006 Cours de graphes 1 - Intranet
82
Si G est symétrique : C ( u ) = C+ ( u ) = C- ( u )
Définitions de base 1 2 3 4 5 6 La composante connexe de « u » : La composante sortante : C+ ( u ) La composante entrante : C- ( u ) 1 2 3 4 5 6 F F F V F F F F F V F F F F F F V F V V V F F F C+ ( 4 ) = { 1 , 2 , 3 , 4 , 5 } F F V F F F C- ( 4 ) = { 1 , 2 , 4 } 4 F F V F F V 1 C+ ( u ) = { v e V | ( u ; v ) existe } C- ( u ) = { v e V | ( v ; u ) existe } 6 2 Si G est symétrique : C ( u ) = C+ ( u ) = C- ( u ) 3 5 St Valentin 2006 Cours de graphes 1 - Intranet
83
Cours de graphes 1 - Intranet
Définitions de base Pour un graphe non orienté : La composante connexe de « u » est : réflexive, vous pouvez rester où vous êtes ! St Valentin 2006 Cours de graphes 1 - Intranet
84
Cours de graphes 1 - Intranet
Définitions de base Pour un graphe non orienté : La composante connexe de « u » est : réflexive, vous pouvez rester où vous êtes ! symétrique, les chemins de retour existent ! St Valentin 2006 Cours de graphes 1 - Intranet
85
Cours de graphes 1 - Intranet
Définitions de base Pour un graphe non orienté : La composante connexe de « u » est : réflexive, vous pouvez rester où vous êtes ! symétrique, les chemins de retour existent ! transitive, vous pouvez concaténer des chemins ! St Valentin 2006 Cours de graphes 1 - Intranet
86
Cours de graphes 1 - Intranet
Définitions de base Pour un graphe non orienté : La composante connexe de « u » est : réflexive, vous pouvez rester où vous êtes ! symétrique, les chemins de retour existent ! transitive, vous pouvez concaténer des chemins ! Une composante connexe est une classe d’équivalence ! St Valentin 2006 Cours de graphes 1 - Intranet
87
Cours de graphes 1 - Intranet
Définitions de base Pour un graphe non orienté : La composante connexe de « u » est : réflexive, vous pouvez rester où vous êtes ! symétrique, les chemins de retour existent ! transitive, vous pouvez concaténer des chemins ! Une composante connexe est une classe d’équivalence ! Un graphe non orienté est partitionné en ses classes d’équivalence ! St Valentin 2006 Cours de graphes 1 - Intranet
88
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 Nous partons d’une relation symétrique ! 1 2 3 4 5 6 F F F V F F F F F V F F F F F F V F V V F F F F F F V F F F 4 F F F F F V 1 6 2 3 5 St Valentin 2006 Cours de graphes 1 - Intranet
89
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 Nous partons d’une relation symétrique ! 1 2 3 4 5 6 F F F V F F F F F V F F Nous fermons réflexivement ! F F F F V F V V F F F F F F V F F F 4 F F F F F V 1 6 2 3 5 St Valentin 2006 Cours de graphes 1 - Intranet
90
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 Nous partons d’une relation symétrique ! 1 2 3 4 5 6 F F F V F F F F F V F F Nous fermons réflexivement ! F F F F V F V V F F F F F F V F F F 4 F F F F F V 1 6 La fermeture réflexive d’une relation « R » est la plus petite relation réflexive qui contienne « R ». 2 3 5 St Valentin 2006 Cours de graphes 1 - Intranet
91
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 Nous partons d’une relation symétrique ! 1 2 3 4 5 6 V F F V F F F V F V F F Nous fermons réflexivement ! F F V F V F V V F V F F F F V F V F 4 F F F F F V 1 6 La fermeture réflexive d’une relation « R » est la plus petite relation réflexive qui contienne « R ». 2 3 5 St Valentin 2006 Cours de graphes 1 - Intranet
92
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 Nous partons d’une relation symétrique ! 1 2 3 4 5 6 V F F V F F F V F V F F Nous fermons réflexivement ! F F V F V F Nous fermons transitivement ! V V F V F F F F V F V F 4 F F F F F V 1 6 2 3 5 St Valentin 2006 Cours de graphes 1 - Intranet
93
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 Nous partons d’une relation symétrique ! 1 2 3 4 5 6 V F F V F F F V F V F F Nous fermons réflexivement ! F F V F V F Nous fermons transitivement ! V V F V F F F F V F V F 4 F F F F F V 1 6 La fermeture transitive d’une relation « R » est la plus petite relation transitive qui contienne « R ». 2 3 5 St Valentin 2006 Cours de graphes 1 - Intranet
94
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 Nous partons d’une relation symétrique ! 1 2 3 4 5 6 V V F V F F V V F V F F Nous fermons réflexivement ! F F V F V F Nous fermons transitivement ! V V F V F F F F V F V F 4 F F F F F V 1 6 La fermeture transitive d’une relation « R » est la plus petite relation transitive qui contienne « R ». 2 3 5 St Valentin 2006 Cours de graphes 1 - Intranet
95
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 Nous partons d’une relation symétrique ! 1 2 3 4 5 6 V V F V F F V V F V F F Nous fermons réflexivement ! F F V F V F Nous fermons transitivement ! V V F V F F F F V F V F 4 F F F F F V 1 6 2 { 1 , 2 , 4 } est une composante connexe ! 3 5 St Valentin 2006 Cours de graphes 1 - Intranet
96
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 Nous partons d’une relation symétrique ! 1 2 3 4 5 6 V V F V F F V V F V F F Nous fermons réflexivement ! F F V F V F Nous fermons transitivement ! V V F V F F F F V F V F 4 F F F F F V 1 6 2 { 3 , 5 } est une composante connexe ! 3 5 St Valentin 2006 Cours de graphes 1 - Intranet
97
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 Nous partons d’une relation symétrique ! 1 2 3 4 5 6 V V F V F F V V F V F F Nous fermons réflexivement ! F F V F V F Nous fermons transitivement ! V V F V F F F F V F V F 4 F F F F F V 1 6 2 { 6 } est une composante connexe ! 3 5 St Valentin 2006 Cours de graphes 1 - Intranet
98
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 Nous partons d’une relation symétrique ! 1 2 3 4 5 6 V V V F F F V V V F F F Nous fermons réflexivement ! V V V F F F Nous fermons transitivement ! F F F V V F F F F V V F 3 F F F F F V 1 6 Si nous renumérotons ! 2 4 5 St Valentin 2006 Cours de graphes 1 - Intranet
99
Cours de graphes 1 - Intranet
Définitions de base 1 2 3 4 5 6 Nous partons d’une relation symétrique ! 1 2 3 4 5 6 V V V F F F V V V F F F Nous fermons réflexivement ! V V V F F F Nous fermons transitivement ! F F F V V F F F F V V F 3 F F F F F V 1 6 Si nous renumérotons ! 2 4 5 St Valentin 2006 Cours de graphes 1 - Intranet
100
Cours de graphes 1 - Intranet
Définitions de base Principe de décomposition : Souvent, le traitement appliqué à un graphe non connexe consiste à appliquer ce même traitement indépendamment sur chacune des composantes connexes ! St Valentin 2006 Cours de graphes 1 - Intranet
101
Cours de graphes 1 - Intranet
Définitions de base Principe de décomposition : Souvent, le traitement appliqué à un graphe non connexe consiste à appliquer ce même traitement indépendamment sur chacune des composantes connexes ! Dans ce cas, on ne perd rien à supposer G connexe ! ! ! St Valentin 2006 Cours de graphes 1 - Intranet
102
Cours de graphes 1 - Intranet
Définitions de base Pour un graphe orienté : Un sous-ensemble « X » des sommets d’un graphe orienté est fortement connexe si nous pouvons aller de n’importe quel sommet vers n’importe quel autre sommet. St Valentin 2006 Cours de graphes 1 - Intranet
103
Cours de graphes 1 - Intranet
Définitions de base Pour un graphe orienté : Un sous-ensemble « X » des sommets d’un graphe orienté est fortement connexe si nous pouvons aller de n’importe quel sommet vers n’importe quel autre sommet. Proposition : Une composante est fortement connexe si et seulement si chaque sommet se trouve sur un circuit. St Valentin 2006 Cours de graphes 1 - Intranet
104
Cours de graphes 1 - Intranet
Définitions de base Pour un graphe orienté : Un sous-ensemble « X » des sommets d’un graphe orienté est fortement connexe si nous pouvons aller de n’importe quel sommet vers n’importe quel autre sommet. Proposition : Une composante est fortement connexe si et seulement si chaque sommet se trouve sur un circuit. Preuve : => : Si ( u ; v ) existe, alors ( v ; u ) existe et donc ( u ; v ; u ) . St Valentin 2006 Cours de graphes 1 - Intranet
105
Cours de graphes 1 - Intranet
Définitions de base Pour un graphe orienté : Un sous-ensemble « X » des sommets d’un graphe orienté est fortement connexe si nous pouvons aller de n’importe quel sommet vers n’importe quel autre sommet. Proposition : Une composante est fortement connexe si et seulement si chaque sommet se trouve sur un circuit. Preuve : => : Si ( u ; v ) existe, alors ( v ; u ) existe et donc ( u ; v ; u ) . <= : Soit ( u ; v ) de la forme ( u ; w ; v ). St Valentin 2006 Cours de graphes 1 - Intranet
106
Cours de graphes 1 - Intranet
Définitions de base Pour un graphe orienté : Un sous-ensemble « X » des sommets d’un graphe orienté est fortement connexe si nous pouvons aller de n’importe quel sommet vers n’importe quel autre sommet. Proposition : Une composante est fortement connexe si et seulement si chaque sommet se trouve sur un circuit. Preuve : => : Si ( u ; v ) existe, alors ( v ; u ) existe et donc ( u ; v ; u ) . <= : Soit ( u ; v ) de la forme ( u ; w ; v ). Pour « w » bien choisi, le circuit ( w ; v ; w ) existe ! u w v St Valentin 2006 Cours de graphes 1 - Intranet
107
Cours de graphes 1 - Intranet
Définitions de base Pour un graphe orienté : Un sous-ensemble « X » des sommets d’un graphe orienté est fortement connexe si nous pouvons aller de n’importe quel sommet vers n’importe quel autre sommet. Proposition : Une composante est fortement connexe si et seulement si chaque sommet se trouve sur un circuit. Preuve : => : Si ( u ; v ) existe, alors ( v ; u ) existe et donc ( u ; v ; u ) . <= : Soit ( u ; v ) de la forme ( u ; w ; v ). Pour « w » bien choisi, le circuit ( w ; v ; w ) existe ! Nous recommençons le raisonnement pour ( u ; w ) . u w v St Valentin 2006 Cours de graphes 1 - Intranet
108
Cours de graphes 1 - Intranet
Définitions de base Pour un graphe orienté : Un graphe orienté est quasi-fortement connexe s’il existe un sommet depuis lequel nous pouvons atteindre tous les autres sommets. Un tel sommet sera appelé « racine ». St Valentin 2006 Cours de graphes 1 - Intranet
109
Cours de graphes 1 - Intranet
Définitions de base Pour un graphe orienté : Un graphe orienté est quasi-fortement connexe s’il existe un sommet depuis lequel nous pouvons atteindre tous les autres sommets. Un tel sommet sera appelé « racine ». St Valentin 2006 Cours de graphes 1 - Intranet
110
Cours de graphes 1 - Intranet
Définitions de base Pour un graphe orienté : Un graphe orienté est quasi-fortement connexe s’il existe un sommet depuis lequel nous pouvons atteindre tous les autres sommets. Un tel sommet sera appelé « racine ». St Valentin 2006 Cours de graphes 1 - Intranet
111
Cours de graphes 1 - Intranet
Définitions de base Distances et diamètre : La distance « d ( u , v ) » entre un sommet « u » et un sommet « v » est : la longueur du plus court chemin (forcément simple) de « u » vers « v », si celui-ci existe, infini, sinon. St Valentin 2006 Cours de graphes 1 - Intranet
112
Cours de graphes 1 - Intranet
Définitions de base Distances et diamètre : La distance « d ( u , v ) » entre un sommet « u » et un sommet « v » est : la longueur du plus court chemin (forcément simple) de « u » vers « v », si celui-ci existe, infini, sinon. Le diamètre d’un graphe connexe est la distance entre ses sommets les plus éloignés : D ( G ) = max { d ( u , v ) } u , v e V St Valentin 2006 Cours de graphes 1 - Intranet
113
Cours de graphes 1 - Intranet
Définitions de base u v St Valentin 2006 Cours de graphes 1 - Intranet
114
Cours de graphes 1 - Intranet
Définitions de base u v Chemin simple de longueur 4 ! St Valentin 2006 Cours de graphes 1 - Intranet
115
Cours de graphes 1 - Intranet
Définitions de base u v Chemin simple de longueur 4 ! Le plus court chemin est de longueur 3 : d ( u , v ) = 3 St Valentin 2006 Cours de graphes 1 - Intranet
116
Cours de graphes 1 - Intranet
Définitions de base D ( G ) = 4 u v Chemin simple de longueur 4 ! Le plus court chemin est de longueur 3 : d ( u , v ) = 3 St Valentin 2006 Cours de graphes 1 - Intranet
117
Cours de graphes 1 - Intranet
Définitions de base Ecarts, centre et diamètre : L’écart « e ( u ) » d’un sommet « u » d’un graphe connexe est : la distance vers le sommet « v » le plus loin de « u » : e ( u ) = max { d ( u , v ) } v e V St Valentin 2006 Cours de graphes 1 - Intranet
118
Cours de graphes 1 - Intranet
Définitions de base Ecarts, centre et diamètre : L’écart « e ( u ) » d’un sommet « u » d’un graphe connexe est : la distance vers le sommet « v » le plus loin de « u » : e ( u ) = max { d ( u , v ) } Un sommet « u » est au centre de G si e ( u ) = min { e ( v ) } v e V v e V St Valentin 2006 Cours de graphes 1 - Intranet
119
Cours de graphes 1 - Intranet
Définitions de base Ecarts, centre et diamètre : L’écart « e ( u ) » d’un sommet « u » d’un graphe connexe est : la distance vers le sommet « v » le plus loin de « u » : e ( u ) = max { d ( u , v ) } Un sommet « u » est au centre de G si e ( u ) = min { e ( v ) } D ( G ) = max { e ( v ) } v e V v e V v e V St Valentin 2006 Cours de graphes 1 - Intranet
120
Cours de graphes 1 - Intranet
Définitions de base u e ( u ) = 3 St Valentin 2006 Cours de graphes 1 - Intranet
121
Cours de graphes 1 - Intranet
Définitions de base v u e ( u ) = 3 « v » est au centre car e ( v ) = 2 est minimal ! St Valentin 2006 Cours de graphes 1 - Intranet
122
Cours de graphes 1 - Intranet
Définitions de base D ( G ) = e ( w ) = 4 v w u e ( u ) = 3 « v » est au centre car e ( v ) = 2 est minimal ! St Valentin 2006 Cours de graphes 1 - Intranet
123
Cours de graphes 1 - Intranet
Définitions de base Lemme des plus courts chemins (De la Palisse) : Si le plus court chemin de « u » vers « v » passe par « w », alors la partie préfixe de « u » vers « w » est aussi le plus court chemin de « u » vers « w ». St Valentin 2006 Cours de graphes 1 - Intranet
124
Cours de graphes 1 - Intranet
Définitions de base Lemme des plus courts chemins (De la Palisse) : Si le plus court chemin de « u » vers « v » passe par « w », alors la partie préfixe de « u » vers « w » est aussi le plus court chemin de « u » vers « w ». Le plus court chemin de « u » à « v » ! u w v St Valentin 2006 Cours de graphes 1 - Intranet
125
Cours de graphes 1 - Intranet
Définitions de base Lemme des plus courts chemins (De la Palisse) : Si le plus court chemin de « u » vers « v » passe par « w », alors la partie préfixe de « u » vers « w » est aussi le plus court chemin de « u » vers « w ». Le plus court chemin de « u » à « v » ! u w v Le plus court chemin de « u » à « w » ! St Valentin 2006 Cours de graphes 1 - Intranet
126
Cours de graphes 1 - Intranet
Définitions de base Poids d’un chemin : Dans un graphe pondéré, le poids d’un chemin est la somme des poids de ses arcs et arêtes. St Valentin 2006 Cours de graphes 1 - Intranet
127
Cours de graphes 1 - Intranet
Définitions de base Poids d’un chemin : Dans un graphe pondéré, le poids d’un chemin est la somme des poids de ses arcs et arêtes. Nous pouvons alors, de manière évidente, définir le chemin le plus léger de « u » vers « v ». St Valentin 2006 Cours de graphes 1 - Intranet
128
Cours de graphes 1 - Intranet
Définitions de base Poids d’un chemin : Dans un graphe pondéré, le poids d’un chemin est la somme des poids de ses arcs et arêtes. Nous pouvons alors, de manière évidente, définir le chemin le plus léger de « u » vers « v ». Le chemin le plus léger (poids) ne coïncide pas forcément avec le chemin le plus court (nombre d’arcs et arêtes). St Valentin 2006 Cours de graphes 1 - Intranet
129
Cours de graphes 1 - Intranet
Définitions de base Poids d’un chemin : Dans un graphe pondéré, le poids d’un chemin est la somme des poids de ses arcs et arêtes. Nous pouvons alors, de manière évidente, définir le chemin le plus léger de « u » vers « v ». Le chemin le plus léger (poids) ne coïncide pas forcément avec le chemin le plus court (nombre d’arcs et arêtes). Les poids ne vérifient pas forcément l’inégalité triangulaire ! 25 12 10 St Valentin 2006 Cours de graphes 1 - Intranet
130
Si tous les poids sont unitaires, les
plus courts chemins coïncident avec les chemins les plus légers ! Définitions de base Poids d’un chemin : Dans un graphe pondéré, le poids d’un chemin est la somme des poids de ses arcs et arêtes. Nous pouvons alors, de manière évidente, définir le chemin le plus léger de « u » vers « v ». Le chemin le plus léger (poids) ne coïncide pas forcément avec le chemin le plus court (nombre d’arcs et arêtes). Les poids ne vérifient pas forcément l’inégalité triangulaire ! 25 12 10 St Valentin 2006 Cours de graphes 1 - Intranet
131
Si tous les poids sont unitaires, les
plus courts chemins coïncident avec les chemins les plus légers ! Définitions de base Poids d’un chemin : Dans un graphe pondéré, le poids d’un chemin est la somme des poids de ses arcs et arêtes. Nous pouvons alors, de manière évidente, définir le chemin le plus léger de « u » vers « v ». Le chemin le plus léger (poids) ne coïncide pas forcément avec le chemin le plus court (nombre d’arcs et arêtes). Les poids ne vérifient pas forcément l’inégalité triangulaire ! Souvent, on parle de plus court chemin alors qu'on pense au chemin le plus léger ! 25 12 10 St Valentin 2006 Cours de graphes 1 - Intranet
132
Cours de graphes 1 - Intranet
Connexité – plus courts chemins N O S P R E M I E R S A L G O R I T H M E S ! ! ! St Valentin 2006 Cours de graphes 1 - Intranet
133
Cours de graphes 1 - Intranet
Connexité – plus courts chemins Sur un graphe non orienté, nous allons calculer : les composantes connexes ! St Valentin 2006 Cours de graphes 1 - Intranet
134
Cours de graphes 1 - Intranet
Connexité – plus courts chemins Sur un graphe non orienté, nous allons calculer : les composantes connexes ! Sur une composante connexe, nous allons calculer : les plus courts chemins ! St Valentin 2006 Cours de graphes 1 - Intranet
135
Cours de graphes 1 - Intranet
Connexité – plus courts chemins Sur un graphe non orienté, nous allons calculer : les composantes connexes ! Sur une composante connexe, nous allons calculer : les plus courts chemins ! Nous rajoutons une pondération strictement positive et nous allons calculer : les chemins les plus légers ! St Valentin 2006 Cours de graphes 1 - Intranet
136
Cours de graphes 1 - Intranet
Connexité – plus courts chemins Nous utilisons trois algorithmes : un algorithme par « vague », c’est un parcours en largeur, St Valentin 2006 Cours de graphes 1 - Intranet
137
Cours de graphes 1 - Intranet
Connexité – plus courts chemins Nous utilisons trois algorithmes : un algorithme par « vague », c’est un parcours en largeur, un algorithme par « multiplication de matrices », St Valentin 2006 Cours de graphes 1 - Intranet
138
Cours de graphes 1 - Intranet
Connexité – plus courts chemins Nous utilisons trois algorithmes : un algorithme par « vague », c’est un parcours en largeur, un algorithme par « multiplication de matrices », l’algorithme de programmation dynamique « Floyd-Warshall » ! St Valentin 2006 Cours de graphes 1 - Intranet
139
Cours de graphes 1 - Intranet
Connexité – plus courts chemins Nous utilisons trois algorithmes : un algorithme par « vague », c’est un parcours en largeur, un algorithme par « multiplication de matrices », l’algorithme de programmation dynamique « Floyd-Warshall » ! Pour chacun d’entre eux, il s’agit de savoir si : il arrive à résoudre le problème en question, quelle est la complexité du calcul ? St Valentin 2006 Cours de graphes 1 - Intranet
140
Cours de graphes 1 - Intranet
Connexité – plus courts chemins La vague Multiplication Floyd-Warshall Connexité Plus courts Plus légers St Valentin 2006 Cours de graphes 1 - Intranet
141
Cours de graphes 1 - Intranet
Connexité – plus courts chemins La vague Multiplication Floyd-Warshall OUI ou NON ? ? ? Quelle complexité ? ? ? Connexité Plus courts Plus légers St Valentin 2006 Cours de graphes 1 - Intranet
142
Cours de graphes 1 - Intranet
Connexité – plus courts chemins L’algorithme par vague : Nous choisissons un sommet sec et le mouillons, St Valentin 2006 Cours de graphes 1 - Intranet
143
Cours de graphes 1 - Intranet
Connexité – plus courts chemins L’algorithme par vague : Nous choisissons un sommet sec et le mouillons, nous mouillons ses voisins, St Valentin 2006 Cours de graphes 1 - Intranet
144
Cours de graphes 1 - Intranet
Connexité – plus courts chemins L’algorithme par vague : Nous choisissons un sommet sec et le mouillons, nous mouillons ses voisins, nous mouillons les voisins des voisins , . . . St Valentin 2006 Cours de graphes 1 - Intranet
145
C'est un parcours en largeur !
Connexité – plus courts chemins L’algorithme par vague : Nous choisissons un sommet sec et le mouillons, nous mouillons ses voisins, nous mouillons les voisins des voisins , . . . C'est un parcours en largeur ! St Valentin 2006 Cours de graphes 1 - Intranet
146
C'est un parcours en largeur !
Connexité – plus courts chemins L’algorithme par vague : Nous choisissons un sommet sec et le mouillons, nous mouillons ses voisins, nous mouillons les voisins des voisins , . . . Attention, dans un graphe il peut y avoir des cycles ! ! ! C'est un parcours en largeur ! St Valentin 2006 Cours de graphes 1 - Intranet
147
C'est un parcours en largeur !
Connexité – plus courts chemins L’algorithme par vague : Nous choisissons un sommet sec et le mouillons, nous mouillons ses voisins, nous mouillons les voisins des voisins , . . . Attention, dans un graphe il peut y avoir des cycles ! ! ! Il faut éviter de tourner en rond ! Ici, nous ne faisons rien pour un sommet déjà mouillé ! C'est un parcours en largeur ! St Valentin 2006 Cours de graphes 1 - Intranet
148
C'est un parcours en largeur !
Connexité – plus courts chemins L’algorithme par vague : Nous choisissons un sommet sec et le mouillons, nous mouillons ses voisins, nous mouillons les voisins des voisins , . . . Attention, dans un graphe il peut y avoir des cycles ! ! ! Il faut éviter de tourner en rond ! Ici, nous ne faisons rien pour un sommet déjà mouillé ! Complexité : Q ( | E | ) = O ( | V |^2 ) = O ( n^2 ) Chaque arête est visitée une et une seule fois ! C'est un parcours en largeur ! St Valentin 2006 Cours de graphes 1 - Intranet
149
Cours de graphes 1 - Intranet
Connexité – plus courts chemins La vague Multiplication Floyd-Warshall Q ( | E | ) = O ( | V |^2 ) Connexité Plus courts Plus légers St Valentin 2006 Cours de graphes 1 - Intranet
150
Cours de graphes 1 - Intranet
Connexité – plus courts chemins La multiplication de matrices : Nous prenons une matrice avec des « 0 » et des « 1 », St Valentin 2006 Cours de graphes 1 - Intranet
151
Cours de graphes 1 - Intranet
Connexité – plus courts chemins La multiplication de matrices : Nous prenons une matrice avec des « 0 » et des « 1 », nous la fermons réflexivement (des « 1 » sur la diagonale), St Valentin 2006 Cours de graphes 1 - Intranet
152
Cours de graphes 1 - Intranet
Connexité – plus courts chemins La multiplication de matrices : Nous prenons une matrice avec des « 0 » et des « 1 », nous la fermons réflexivement (des « 1 » sur la diagonale), nous effectuons le calcul suivant : M * M’ ( i , j ) = max M ( i , k ) * M’ ( k , j ) k St Valentin 2006 Cours de graphes 1 - Intranet
153
Cours de graphes 1 - Intranet
Connexité – plus courts chemins La multiplication de matrices : Nous prenons une matrice avec des « 0 » et des « 1 », nous la fermons réflexivement (des « 1 » sur la diagonale), nous effectuons le calcul suivant : M * M’ ( i , j ) = max M ( i , k ) * M’ ( k , j ) Nous calculons : M -> M^2 -> M^4 -> k St Valentin 2006 Cours de graphes 1 - Intranet
154
Cours de graphes 1 - Intranet
Connexité – plus courts chemins La multiplication de matrices : Nous prenons une matrice avec des « 0 » et des « 1 », nous la fermons réflexivement (des « 1 » sur la diagonale), nous effectuons le calcul suivant : M * M’ ( i , j ) = max M ( i , k ) * M’ ( k , j ) Nous calculons : M -> M^2 -> M^4 -> Propriété : M^( 2 * i ) = M^i * M^i contient tous les chemins de longueur au plus 2 * i . k St Valentin 2006 Cours de graphes 1 - Intranet
155
Cours de graphes 1 - Intranet
Connexité – plus courts chemins La multiplication de matrices : Nous prenons une matrice avec des « 0 » et des « 1 », nous la fermons réflexivement (des « 1 » sur la diagonale), nous effectuons le calcul suivant : M * M’ ( i , j ) = max M ( i , k ) * M’ ( k , j ) Nous calculons : M -> M^2 -> M^4 -> Propriété : M^( 2 * i ) = M^i * M^i contient tous les chemins de longueur au plus 2 * i . Il suffit de calculer M^k avec k >= | V |-1 = n-1 (le plus long chemin possible; et donc tous les chemins) ! k St Valentin 2006 Cours de graphes 1 - Intranet
156
Cours de graphes 1 - Intranet
Connexité – plus courts chemins La multiplication de matrices : Nous prenons une matrice avec des « 0 » et des « 1 », nous la fermons réflexivement (des « 1 » sur la diagonale), nous effectuons le calcul suivant : M * M’ ( i , j ) = max M ( i , k ) * M’ ( k , j ) Nous calculons : M -> M^2 -> M^4 -> Propriété : M^( 2 * i ) = M^i * M^i contient tous les chemins de longueur au plus 2 * i . Il suffit de calculer M^k avec k >= | V |-1 = n-1 (le plus long chemin possible; et donc tous les chemins) ! Il suffit de O ( log( | V | ) ) élévations au carré ! k St Valentin 2006 Cours de graphes 1 - Intranet
157
Cours de graphes 1 - Intranet
Connexité – plus courts chemins Preuve de la propriété : La matrice M fermée réflexivement contient tous les chemins de longueur 0 ou 1. St Valentin 2006 Cours de graphes 1 - Intranet
158
Cours de graphes 1 - Intranet
Connexité – plus courts chemins Preuve de la propriété : La matrice M fermée réflexivement contient tous les chemins de longueur 0 ou 1. Hypothèse d’induction : M^i contient tous les chemins de longueur au plus i . St Valentin 2006 Cours de graphes 1 - Intranet
159
Cours de graphes 1 - Intranet
Connexité – plus courts chemins Preuve de la propriété : La matrice M fermée réflexivement contient tous les chemins de longueur 0 ou 1. Hypothèse d’induction : M^i contient tous les chemins de longueur au plus i . M^( 2 * i ) ( u , v ) = 1 St Valentin 2006 Cours de graphes 1 - Intranet
160
Cours de graphes 1 - Intranet
Connexité – plus courts chemins Preuve de la propriété : La matrice M fermée réflexivement contient tous les chemins de longueur 0 ou 1. Hypothèse d’induction : M^i contient tous les chemins de longueur au plus i . M^( 2 * i ) ( u , v ) = 1 max_k M^i ( u , k ) * M^i ( k , v ) = 1 St Valentin 2006 Cours de graphes 1 - Intranet
161
Cours de graphes 1 - Intranet
Connexité – plus courts chemins Preuve de la propriété : La matrice M fermée réflexivement contient tous les chemins de longueur 0 ou 1. Hypothèse d’induction : M^i contient tous les chemins de longueur au plus i . M^( 2 * i ) ( u , v ) = 1 max_k M^i ( u , k ) * M^i ( k , v ) = 1 $ w tel que M^i ( u , w ) * M^i ( w , v ) = 1 St Valentin 2006 Cours de graphes 1 - Intranet
162
Cours de graphes 1 - Intranet
Connexité – plus courts chemins Preuve de la propriété : La matrice M fermée réflexivement contient tous les chemins de longueur 0 ou 1. Hypothèse d’induction : M^i contient tous les chemins de longueur au plus i . M^( 2 * i ) ( u , v ) = 1 max_k M^i ( u , k ) * M^i ( k , v ) = 1 $ w tel que M^i ( u , w ) * M^i ( w , v ) = 1 M^i ( u , w ) = 1 et M^i ( w , v ) = 1 St Valentin 2006 Cours de graphes 1 - Intranet
163
Cours de graphes 1 - Intranet
Connexité – plus courts chemins Preuve de la propriété : La matrice M fermée réflexivement contient tous les chemins de longueur 0 ou 1. Hypothèse d’induction : M^i contient tous les chemins de longueur au plus i . M^( 2 * i ) ( u , v ) = 1 max_k M^i ( u , k ) * M^i ( k , v ) = 1 $ w tel que M^i ( u , w ) * M^i ( w , v ) = 1 M^i ( u , w ) = 1 et M^i ( w , v ) = 1 ( u ; w ) et ( w ; v ) sont de longueur au plus i St Valentin 2006 Cours de graphes 1 - Intranet
164
Cours de graphes 1 - Intranet
Connexité – plus courts chemins Preuve de la propriété : La matrice M fermée réflexivement contient tous les chemins de longueur 0 ou 1. Hypothèse d’induction : M^i contient tous les chemins de longueur au plus i . M^( 2 * i ) ( u , v ) = 1 max_k M^i ( u , k ) * M^i ( k , v ) = 1 $ w tel que M^i ( u , w ) * M^i ( w , v ) = 1 M^i ( u , w ) = 1 et M^i ( w , v ) = 1 ( u ; w ) et ( w ; v ) sont de longueur au plus i ( u ; w ; v ) est de longueur au plus 2 * i . St Valentin 2006 Cours de graphes 1 - Intranet
165
Cours de graphes 1 - Intranet
Connexité – plus courts chemins Preuve de la propriété : La matrice M fermée réflexivement contient tous les chemins de longueur 0 ou 1. Hypothèse d’induction : M^i contient tous les chemins de longueur au plus i . M^( 2 * i ) ( u , v ) = 1 max_k M^i ( u , k ) * M^i ( k , v ) = 1 $ w tel que M^i ( u , w ) * M^i ( w , v ) = 1 M^i ( u , w ) = 1 et M^i ( w , v ) = 1 ( u ; w ) et ( w ; v ) sont de longueur au plus i ( u ; w ; v ) est de longueur au plus 2 * i . On obtient bien-sûr tous les chemins ! St Valentin 2006 Cours de graphes 1 - Intranet
166
Cours de graphes 1 - Intranet
Connexité – plus courts chemins La vague Multiplication Floyd-Warshall Q ( | E | ) = O ( | V |^2 ) Q ( | V |^3 * log( | V | ) ) Connexité Plus courts Plus légers St Valentin 2006 Cours de graphes 1 - Intranet
167
Cours de graphes 1 - Intranet
Connexité – plus courts chemins Floyd-Warshall : La multiplication recalcule de façon répétée les chemins courts. Si M^i ( u , v ) = 1 : St Valentin 2006 Cours de graphes 1 - Intranet
168
Cours de graphes 1 - Intranet
Connexité – plus courts chemins Floyd-Warshall : La multiplication recalcule de façon répétée les chemins courts. Si M^i ( u , v ) = 1 : 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 , v ) = 1 St Valentin 2006 Cours de graphes 1 - Intranet
169
Cours de graphes 1 - Intranet
Connexité – plus courts chemins Floyd-Warshall : La multiplication recalcule de façon répétée les chemins courts. Si M^i ( u , v ) = 1 : 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 , v ) = 1 La DP numérote les sommets de « 1 » à « n » et : St Valentin 2006 Cours de graphes 1 - Intranet
170
Cours de graphes 1 - Intranet
Connexité – plus courts chemins Floyd-Warshall : La multiplication recalcule de façon répétée les chemins courts. Si M^i ( u , v ) = 1 : 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 , v ) = 1 La DP numérote les sommets de « 1 » à « n » et : à l’étape (1), ne calcule que les chemins dont les intermédiaires sont dans l’ensemble { 1 }, St Valentin 2006 Cours de graphes 1 - Intranet
171
Cours de graphes 1 - Intranet
Connexité – plus courts chemins Floyd-Warshall : La multiplication recalcule de façon répétée les chemins courts. Si M^i ( u , v ) = 1 : 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 , v ) = 1 La DP numérote les sommets de « 1 » à « n » et : à l’étape (1), ne calcule que les chemins dont les intermédiaires sont dans l’ensemble { 1 }, à l’étape (2), ne calcule que les chemins dont les intermédiaires sont dans l’ensemble { 1 , 2 }, St Valentin 2006 Cours de graphes 1 - Intranet
172
Cours de graphes 1 - Intranet
Connexité – plus courts chemins (0) Initialement : M 2 1 3 Nous n’avons pas dessiné les boucles de la fermeture réflexive ! St Valentin 2006 Cours de graphes 1 - Intranet
173
Cours de graphes 1 - Intranet
Connexité – plus courts chemins (0) Initialement : M 2 (1) 1 Etape 1 : M 3 Nous n’avons pas dessiné les boucles de la fermeture réflexive ! St Valentin 2006 Cours de graphes 1 - Intranet
174
Cours de graphes 1 - Intranet
Connexité – plus courts chemins (0) Initialement : M 2 (1) 1 Etape 1 : M (2) Etape 2 : M 3 Nous n’avons pas dessiné les boucles de la fermeture réflexive ! St Valentin 2006 Cours de graphes 1 - Intranet
175
Cours de graphes 1 - Intranet
Connexité – plus courts chemins Petit à petit, les uns . . . (0) Initialement : M 2 (1) 1 Etape 1 : M (2) Etape 2 : M (3) Etape 3 : M 3 Nous n’avons pas dessiné les boucles de la fermeture réflexive ! St Valentin 2006 Cours de graphes 1 - Intranet
176
Cours de graphes 1 - Intranet
Connexité – plus courts chemins Petit à petit, les autres . . . (0) Initialement : M 2 (1) 1 Etape 1 : M (2) Etape 2 : M (3) Etape 3 : M 3 Nous n’avons pas dessiné les boucles de la fermeture réflexive ! St Valentin 2006 Cours de graphes 1 - Intranet
177
Cours de graphes 1 - Intranet
Connexité – plus courts chemins Petit à petit, finalement . . . (0) Initialement : M 2 (1) 1 Etape 1 : M (2) Etape 2 : M (3) Etape 3 : M 3 Nous n’avons pas dessiné les boucles de la fermeture réflexive ! St Valentin 2006 Cours de graphes 1 - Intranet
178
Cours de graphes 1 - Intranet
Connexité – plus courts chemins (0) Initialement : M 2 (1) 1 Etape 1 : M (2) Etape 2 : M (3) Etape 3 : M 3 Nous n’avons pas dessiné les boucles de la fermeture réflexive ! St Valentin 2006 Cours de graphes 1 - Intranet
179
Cours de graphes 1 - Intranet
Connexité – plus courts chemins (0) Initialement : M 2 (1) 1 Etape 1 : M (2) Etape 2 : M (3) Etape 3 : M 3 etc . . . Nous n’avons pas dessiné les boucles de la fermeture réflexive ! St Valentin 2006 Cours de graphes 1 - Intranet
180
Cours de graphes 1 - Intranet
Connexité – plus courts chemins (k-1) M est donnée, elle comporte tous les chemins avec des intermédiaires parmi { 1 , , k-1 } . St Valentin 2006 Cours de graphes 1 - Intranet
181
Cours de graphes 1 - Intranet
Connexité – plus courts chemins (k-1) M est donnée, elle comporte tous les chemins avec des intermédiaires parmi { 1 , , k-1 } . M ( u , v ) est un chemin de « u » vers « v » avec des intermédiaires parmi { 1 , , k } . (k) St Valentin 2006 Cours de graphes 1 - Intranet
182
Cours de graphes 1 - Intranet
Connexité – plus courts chemins (k-1) M est donnée, elle comporte tous les chemins avec des intermédiaires parmi { 1 , , k-1 } . M ( u , v ) est un chemin de « u » vers « v » avec des intermédiaires parmi { 1 , , k } . Soit le sommet « k » figure dans ce chemin, soit il ne le fait pas. (k) St Valentin 2006 Cours de graphes 1 - Intranet
183
Cours de graphes 1 - Intranet
Connexité – plus courts chemins (k-1) M est donnée, elle comporte tous les chemins avec des intermédiaires parmi { 1 , , k-1 } . M ( u , v ) est un chemin de « u » vers « v » avec des intermédiaires parmi { 1 , , k } . Soit le sommet « k » figure dans ce chemin, soit il ne le fait pas. (k) (k) (k-1) M ( u , v ) = M ( u , v ) St Valentin 2006 Cours de graphes 1 - Intranet
184
Cours de graphes 1 - Intranet
Connexité – plus courts chemins (k-1) M est donnée, elle comporte tous les chemins avec des intermédiaires parmi { 1 , , k-1 } . M ( u , v ) est un chemin de « u » vers « v » avec des intermédiaires parmi { 1 , , k } . Soit le sommet « k » figure dans ce chemin, soit il ne le fait pas. u k v (k) (k) (k-1) M ( u , v ) = M ( u , v ) St Valentin 2006 Cours de graphes 1 - Intranet
185
Cours de graphes 1 - Intranet
Connexité – plus courts chemins (k-1) M est donnée, elle comporte tous les chemins avec des intermédiaires parmi { 1 , , k-1 } . M ( u , v ) est un chemin de « u » vers « v » avec des intermédiaires parmi { 1 , , k } . Soit le sommet « k » figure dans ce chemin, soit il ne le fait pas. u k v (k) (k) (k-1) M ( u , v ) = M ( u , v ) e / k e / k St Valentin 2006 Cours de graphes 1 - Intranet
186
Cours de graphes 1 - Intranet
Connexité – plus courts chemins (k-1) M est donnée, elle comporte tous les chemins avec des intermédiaires parmi { 1 , , k-1 } . M ( u , v ) est un chemin de « u » vers « v » avec des intermédiaires parmi { 1 , , k } . Soit le sommet « k » figure dans ce chemin, soit il ne le fait pas. u k v M ( u , k ) M ( k , v ) (k) (k) (k-1) M ( u , v ) = M ( u , v ) } } e / k e / k (k-1) (k-1) St Valentin 2006 Cours de graphes 1 - Intranet
187
Cours de graphes 1 - Intranet
Connexité – plus courts chemins (0) M est la matrice d’adjacence, fermée réflexivement. Elle comporte des « 0 » et des « 1 ». St Valentin 2006 Cours de graphes 1 - Intranet
188
Cours de graphes 1 - Intranet
Connexité – plus courts chemins (0) M est la matrice d’adjacence, fermée réflexivement. Elle comporte des « 0 » et des « 1 ». M ( u , v ) = max ( , ) (k) St Valentin 2006 Cours de graphes 1 - Intranet
189
Cours de graphes 1 - Intranet
Connexité – plus courts chemins (0) M est la matrice d’adjacence, fermée réflexivement. Elle comporte des « 0 » et des « 1 ». M ( u , v ) = max ( , ) (k) (k-1) M ( u , v ) St Valentin 2006 Cours de graphes 1 - Intranet
190
Cours de graphes 1 - Intranet
Connexité – plus courts chemins (0) M est la matrice d’adjacence, fermée réflexivement. Elle comporte des « 0 » et des « 1 ». M ( u , v ) = max ( , ) (k) (k-1) M ( u , v ) (k-1) (k-1) M ( u , k ) * M ( k , v ) St Valentin 2006 Cours de graphes 1 - Intranet
191
Cours de graphes 1 - Intranet
Connexité – plus courts chemins (0) M est la matrice d’adjacence, fermée réflexivement. Elle comporte des « 0 » et des « 1 ». M ( u , v ) = max ( , ) M est la matrice recherchée ! (k) (k-1) M ( u , v ) (k-1) (k-1) M ( u , k ) * M ( k , v ) (n) St Valentin 2006 Cours de graphes 1 - Intranet
192
Cours de graphes 1 - Intranet
Connexité – plus courts chemins (0) M est la matrice d’adjacence, fermée réflexivement. Elle comporte des « 0 » et des « 1 ». M ( u , v ) = max ( , ) M est la matrice recherchée ! (k) (k-1) M ( u , v ) (k-1) (k-1) M ( u , k ) * M ( k , v ) (n) 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
Cours de graphes 1 - Intranet
Connexité – plus courts chemins La vague Multiplication Floyd-Warshall Q ( | E | ) = O ( | V |^2 ) Q ( | V |^3 * log( | V | ) ) Q ( | V |^3 ) Connexité Plus courts Plus légers St Valentin 2006 Cours de graphes 1 - Intranet
194
La suite la semaine prochaine !
Connexité – plus courts chemins La vague Multiplication Floyd-Warshall Q ( | E | ) = O ( | V |^2 ) Q ( | V |^3 * log( | V | ) ) Q ( | V |^3 ) Connexité Plus courts La suite la semaine prochaine ! Plus légers St Valentin 2006 Cours de graphes 1 - Intranet
195
Cours de graphes 1 - Intranet
Synthèse Définitions de base Connexité : à l’aide de la vague, à l’aide de la multiplication, à l’aide de Floyd-Warshall. St Valentin 2006 Cours de graphes 1 - Intranet
196
Cours de graphes 1 - Intranet
m E r C i e T O n N e J o U r N é E ! ! ! ‘ o U b L i E z P a S d E p R é P a R e R v O s T D ! ! ! St Valentin 2006 Cours de graphes 1 - Intranet
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.