La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours.

Présentations similaires


Présentation au sujet: "St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours."— Transcription de la présentation:

1

2 St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours 12h de TD des devoirs … et un examen

3 St Valentin 2006Cours de graphes 1 - Intranet3 Les grandes lignes du cours Définitions de base Définitions de base Connexité Connexité Les plus courts chemins Les plus courts chemins Dijkstra et Bellmann-Ford Dijkstra et Bellmann-Ford Arbres Arbres Arbres de recouvrement minimaux Arbres de recouvrement minimaux Problèmes de flots Problèmes de flots Coloriage de graphes Coloriage de graphes Couplage Couplage Chemins dEuler et de Hamilton Chemins dEuler et de Hamilton Problèmes NP-complets Problèmes NP-complets

4 St Valentin 2006Cours de graphes 1 - Intranet4 Bibliographie Tout ce qui contientTout ce qui contient - graphes, graphs. InternetInternet - souvent, cest trop simplifié ou trop dense, - et pas toujours correct. Mes choixMes choix - Introduction to Algorithms, Leiserson et al. - Algorithms, Sedgewick. - Fundamental Algorithms, Knuth. - Graphes, Berge.

5 St Valentin 2006Cours de graphes 1 - Intranet5 Les grandes lignes du cours Définitions de base Définitions de base Connexité Connexité Les plus courts chemins Les plus courts chemins Dijkstra et Bellmann-Ford Dijkstra et Bellmann-Ford Arbres Arbres Arbres de recouvrement minimaux Arbres de recouvrement minimaux Problèmes de flots Problèmes de flots Coloriage de graphes Coloriage de graphes Couplage Couplage Chemins dEuler et de Hamilton Chemins dEuler et de Hamilton Problèmes NP-complets Problèmes NP-complets

6 St Valentin 2006Cours de graphes 1 - Intranet6 Définitions de base Il y a des sommets ! (vertex, vertices)Il y a des sommets ! (vertex, vertices)

7 St Valentin 2006Cours de graphes 1 - Intranet7 Dé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)

8 St Valentin 2006Cours de graphes 1 - Intranet8 Dé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)

9 St Valentin 2006Cours de graphes 1 - Intranet9 Définitions de base Formellement :Formellement : Il y a lensemble « V » des sommets.Il y a lensemble « V » des sommets.

10 St Valentin 2006Cours de graphes 1 - Intranet10 Définitions de base Formellement :Formellement : Il y a lensemble « V » des sommets.Il y a lensemble « V » des sommets. –Il y en a « n », cest-à-dire | V |. –La complexité est fonction du nombre de sommets.

11 St Valentin 2006Cours de graphes 1 - Intranet11 Définitions de base Formellement :Formellement : Il y a lensemble « V » des sommets.Il y a lensemble « V » des sommets. –Il y en a « n », cest-à-dire | V |. –La complexité est fonction du nombre de sommets. Il y a lensemble « E » des arcs et arêtes.Il y a lensemble « E » des arcs et arêtes. –Cest une partie du produit cartésien V x V.

12 St Valentin 2006Cours de graphes 1 - Intranet12 Définitions de base Formellement :Formellement : Il y a lensemble « V » des sommets.Il y a lensemble « V » des sommets. –Il y en a « n », cest-à-dire | V |. –La complexité est fonction du nombre de sommets. Il y a lensemble « E » des arcs et arêtes.Il y a lensemble « E » des arcs et arêtes. –Cest une partie du produit cartésien V x V. –« E » peut être réflexif, irréflexif ou ni lun, ni lautre.

13 St Valentin 2006Cours de graphes 1 - Intranet13 Définitions de base Formellement :Formellement : Il y a lensemble « V » des sommets.Il y a lensemble « V » des sommets. –Il y en a « n », cest-à-dire | V |. –La complexité est fonction du nombre de sommets. Il y a lensemble « E » des arcs et arêtes.Il y a lensemble « E » des arcs et arêtes. –Cest une partie du produit cartésien V x V. –« E » peut être réflexif, irréflexif ou ni lun, ni lautre. Tous des couples ( a, a ) !

14 St Valentin 2006Cours de graphes 1 - Intranet14 Définitions de base Formellement :Formellement : Il y a lensemble « V » des sommets.Il y a lensemble « V » des sommets. –Il y en a « n », cest-à-dire | V |. –La complexité est fonction du nombre de sommets. Il y a lensemble « E » des arcs et arêtes.Il y a lensemble « E » des arcs et arêtes. –Cest une partie du produit cartésien V x V. –« E » peut être réflexif, irréflexif ou ni lun, ni lautre. Tous des couples ( a, a ) ! Aucun couple ( a, a ) !

15 St Valentin 2006Cours de graphes 1 - Intranet15 Définitions de base Formellement :Formellement : Il y a lensemble « V » des sommets.Il y a lensemble « V » des sommets. –Il y en a « n », cest-à-dire | V |. –La complexité est fonction du nombre de sommets. Il y a lensemble « E » des arcs et arêtes.Il y a lensemble « E » des arcs et arêtes. –Cest une partie du produit cartésien V x V. –« E » peut être réflexif, irréflexif ou ni lun, ni lautre. –« E » peut être symétrique, anti-symétrique ou ni - ni.

16 St Valentin 2006Cours de graphes 1 - Intranet16 Définitions de base ( a, b ) ssi ( b, a ) ! Formellement :Formellement : Il y a lensemble « V » des sommets.Il y a lensemble « V » des sommets. –Il y en a « n », cest-à-dire | V |. –La complexité est fonction du nombre de sommets. Il y a lensemble « E » des arcs et arêtes.Il y a lensemble « E » des arcs et arêtes. –Cest une partie du produit cartésien V x V. –« E » peut être réflexif, irréflexif ou ni lun, ni lautre. –« E » peut être symétrique, anti-symétrique ou ni - ni.

17 St Valentin 2006Cours de graphes 1 - Intranet17 Définitions de base ( a, b ) ssi ( b, a ) ! Si ( a, b ) avec a = b alors pas ( b, a ) ! / Formellement :Formellement : Il y a lensemble « V » des sommets.Il y a lensemble « V » des sommets. –Il y en a « n », cest-à-dire | V |. –La complexité est fonction du nombre de sommets. Il y a lensemble « E » des arcs et arêtes.Il y a lensemble « E » des arcs et arêtes. –Cest une partie du produit cartésien V x V. –« E » peut être réflexif, irréflexif ou ni lun, ni lautre. –« E » peut être symétrique, anti-symétrique ou ni - ni.

18 St Valentin 2006Cours de graphes 1 - Intranet18 Définitions de base Formellement :Formellement : Il y a lensemble « V » des sommets.Il y a lensemble « V » des sommets. –Il y en a « n », cest-à-dire | V |. –La complexité est fonction du nombre de sommets. Il y a lensemble « E » des arcs et arêtes.Il y a lensemble « E » des arcs et arêtes. –Cest une partie du produit cartésien V x V. –« E » peut être réflexif, irréflexif ou ni lun, ni lautre. –« E » peut être symétrique, anti-symétrique ou ni - ni. Graphe non orienté ! Graphe orienté !

19 St Valentin 2006Cours de graphes 1 - Intranet19 Définitions de base Formellement :Formellement : Il y a lensemble « V » des sommets.Il y a lensemble « V » des sommets. –Il y en a « n », cest-à-dire | V |. –La complexité est fonction du nombre de sommets. Il y a lensemble « E » des arcs et arêtes.Il y a lensemble « E » des arcs et arêtes. –Cest une partie du produit cartésien V x V. –« E » peut être réflexif, irréflexif ou ni lun, ni lautre. –« E » peut être symétrique, anti-symétrique ou ni - ni. –« E » peut être transitive, ou non-transitive.

20 St Valentin 2006Cours de graphes 1 - Intranet20 Définitions de base Si ( a, b ) et ( b, c ) alors (a, c ) ! Formellement :Formellement : Il y a lensemble « V » des sommets.Il y a lensemble « V » des sommets. –Il y en a « n », cest-à-dire | V |. –La complexité est fonction du nombre de sommets. Il y a lensemble « E » des arcs et arêtes.Il y a lensemble « E » des arcs et arêtes. –Cest une partie du produit cartésien V x V. –« E » peut être réflexif, irréflexif ou ni lun, ni lautre. –« E » peut être symétrique, anti-symétrique ou ni - ni. –« E » peut être transitive, ou non-transitive.

21 St Valentin 2006Cours de graphes 1 - Intranet21 Définitions de base Formellement :Formellement : –G = ( V, E ) –Un graphe est donné par les ensembles « V » et « E ».

22 St Valentin 2006Cours de graphes 1 - Intranet22 Définitions de base Formellement :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 multi-graphes qui sont correspondent au cas où « E » est un multi-ensemble (plusieurs arêtes et/ou arcs entre deux sommets).

23 St Valentin 2006Cours de graphes 1 - Intranet23 Définitions de base Formellement :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 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 lon attache des poids aux arcs ou arêtes (entiers par exemple).Il y a des graphes pondérés qui correspondent au fait lon attache des poids aux arcs ou arêtes (entiers par exemple)

24 St Valentin 2006Cours de graphes 1 - Intranet24 Définitions de base Sous-graphe G dun graphe G :Sous-graphe G dun 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 GV V les sommets de G sont parmi ceux de G E E V x V les arcs et arêtes de G sont parmiE E V x V les arcs et arêtes de G sont parmi ceux et celles de G et se limitent ceux et celles de G et se limitent aux sommets de G. aux sommets de G. U U v

25 St Valentin 2006Cours de graphes 1 - Intranet25 Dé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.

26 St Valentin 2006Cours de graphes 1 - Intranet26 Dé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 x n qui comporte des valeurs binaires.Nous obtenons une matrice « M » de taille n x n qui comporte des valeurs binaires. M( a, b ) est vrai si et seulement si larc ( a, b ) existe !M( a, b ) est vrai si et seulement si larc ( a, b ) existe !

27 St Valentin 2006Cours de graphes 1 - Intranet27 Définitions de base

28 St Valentin 2006Cours de graphes 1 - Intranet28 Définitions de base

29 St Valentin 2006Cours de graphes 1 - Intranet29 Définitions de base

30 St Valentin 2006Cours de graphes 1 - Intranet30 Définitions de base Lexistence ou non de larc ( 2, 5 ) ! ! !

31 St Valentin 2006Cours de graphes 1 - Intranet31 Définitions de base

32 St Valentin 2006Cours de graphes 1 - Intranet32 Définitions de base V F F F F F La diagonale parle des couples ( u, u ) !

33 St Valentin 2006Cours de graphes 1 - Intranet33 Définitions de base 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 ) !

34 St Valentin 2006Cours de graphes 1 - Intranet34 Définitions de base 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 ) !

35 St Valentin 2006Cours de graphes 1 - Intranet35 Définitions de base 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 ) !

36 St Valentin 2006Cours de graphes 1 - Intranet36 Définitions de base 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 ) !

37 St Valentin 2006Cours de graphes 1 - Intranet37 Définitions de base 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 ) nont pas leur pendant symétrique ! ! ! La diagonale parle des couples ( u, u ) !

38 St Valentin 2006Cours de graphes 1 - Intranet38 Définitions de base 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 ) nont pas leur pendant symétrique ! ! ! V V FF La diagonale parle des couples ( u, u ) !

39 St Valentin 2006Cours de graphes 1 - Intranet39 Définitions de base 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 ) nont pas leur pendant symétrique ! ! ! Il faut n^2 bits ! FF FFF FF FF FFFF FF FF FF FF F La diagonale parle des couples ( u, u ) !

40 St Valentin 2006Cours de graphes 1 - Intranet40 Définitions de base V F F F F F Pour des multi-graphes, nous remplaçons les booléens par des multiplicités ! V V V V V V Pour des graphes pondérés, nous remplaçons les booléens par des poids ! V V FF FFF FF FF FFFF FF FF FF FF F

41 St Valentin 2006Cours de graphes 1 - Intranet41 Définitions de base V F F F F F V V V V V V V V FF FFF FF FF FFFF FF FF FF FF F Parfois, le graphe est peu dense ! Nous mémorisons juste les indices des colonnes différentes de Faux !

42 St Valentin 2006Cours de graphes 1 - Intranet42 Définitions de base V F F F F F V V V V V V V V FF FFF FF FF FFFF FF FF FF FF F 4 Parfois, le graphe est peu dense ! Nous mémorisons juste les indices des colonnes différentes de Faux !

43 St Valentin 2006Cours de graphes 1 - Intranet43 Définitions de base V F F F F F V V V V V V V V FF FFF FF FF FFFF FF FF FF FF F 4 4 Parfois, le graphe est peu dense ! Nous mémorisons juste les indices des colonnes différentes de Faux !

44 St Valentin 2006Cours de graphes 1 - Intranet44 Définitions de base V F F F F F V V V V V V V V FF FFF FF FF FFFF FF FF FF FF F Parfois, le graphe est peu dense ! Nous mémorisons juste les indices des colonnes différentes de Faux !

45 St Valentin 2006Cours de graphes 1 - Intranet45 Définitions de base V F F F F F V V V V V V V V FF FFF FF FF FFFF FF FF FF FF F Parfois, le graphe est peu dense ! Nous mémorisons juste les indices des colonnes différentes de Faux !

46 St Valentin 2006Cours de graphes 1 - Intranet46 Définitions de base V F F F F F V V V V V V V V FF FFF FF FF FFFF FF FF FF FF F Il faut ( | V | + | E | ) * log( | V | ) bits ! Parfois, le graphe est peu dense ! Nous mémorisons juste les indices des colonnes différentes de Faux !

47 St Valentin 2006Cours de graphes 1 - Intranet47 Définitions de base V F F F F F Les voisins dun sommet « u » : Les voisins sortants : V+ ( u ) Les voisins entrants : V - ( u ) V V V V V V V V FF FFF FF FF FFFF FF FF FF FF F

48 St Valentin 2006Cours de graphes 1 - Intranet48 Définitions de base V F F F F F Les voisins dun 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 FF FFF FF FF FFFF FF FF FF FF F

49 St Valentin 2006Cours de graphes 1 - Intranet49 Définitions de base V F F F F F Les voisins dun 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 FF FFF FF FF FFFF FF FF FF FF F V+ ( 4 ) = { 1, 2, 3 }

50 St Valentin 2006Cours de graphes 1 - Intranet50 Définitions de base V F F F F F Les voisins dun 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 FF FFF FF FF FFFF FF FF FF FF F V - ( 3 ) = { 4, 5, 6 } V+ ( 4 ) = { 1, 2, 3 }

51 St Valentin 2006Cours de graphes 1 - Intranet51 Définitions de base V F F F F F Les voisins dun 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 FF FFF FF FF FFFF FF FF FF FF F Si le graphe est symétrique : V ( u ) = V+ ( u ) = V - ( u ) V - ( 3 ) = { 4, 5, 6 } V+ ( 4 ) = { 1, 2, 3 }

52 St Valentin 2006Cours de graphes 1 - Intranet52 Définitions de base V F F F F F Le degré dun sommet « u » : Le degré sortant : D+ ( u ) Le degré entrant : D - ( u ) V V V V V V V V FF FFF FF FF FFFF FF FF FF FF F

53 St Valentin 2006Cours de graphes 1 - Intranet53 Définitions de base V F F F F F Le degré dun 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 FF FFF FF FF FFFF FF FF FF FF F

54 St Valentin 2006Cours de graphes 1 - Intranet54 Définitions de base V F F F F F Le degré dun 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 FF FFF FF FF FFFF FF FF FF FF F Si le graphe est symétrique : D ( u ) = D+ ( u ) = D - ( u )

55 St Valentin 2006Cours de graphes 1 - Intranet55 Définitions de base V F F F F F Le degré dun 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 FF FFF FF FF FFFF FF FF FF FF F Si le graphe est symétrique : D ( u ) = D+ ( u ) = D - ( u ) Le degré dun graphe G = ( V, E ) : D( G ) = max { D ( u ) } u V

56 St Valentin 2006Cours de graphes 1 - Intranet56 Définitions de base V F F F F F Le degré dun 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 FF FFF FF FF FFFF FF FF FF FF F Si le graphe est symétrique : D ( u ) = D+ ( u ) = D - ( u ) Le degré dun graphe G = ( V, E ) : D( G ) = max { D ( u ) } u V

57 St Valentin 2006Cours de graphes 1 - Intranet57 Définitions de base Les chemins :Les chemins : Un chemin, de longueur « n », du sommet « u » au sommet « v » est :Un chemin, de longueur « n », du sommet « u » au sommet « v » est : ( w,..., w ) 1n+1

58 St Valentin 2006Cours de graphes 1 - Intranet58 Définitions de base Les chemins :Les chemins : Un chemin, de longueur « n », du sommet « u » au sommet « v » est :Un chemin, de longueur « n », du sommet « u » au sommet « v » est : ( w,..., w ) telle quetelle que –u = w et v = w –( w, w ) est une arête ou un arc du graphe. 1n+1 ii+1 1n+1

59 St Valentin 2006Cours de graphes 1 - Intranet59 Définitions de base Les chemins :Les chemins : Un chemin, de longueur « n », du sommet « u » au sommet « v » est :Un chemin, de longueur « n », du sommet « u » au sommet « v » est : ( w,..., w ) telle quetelle que –u = w et v = w –( w, w ) est une arête ou un arc du graphe. Le chemin est orienté sil comporte des arcs, non orienté sil est fait darêtes uniquement.Le chemin est orienté sil comporte des arcs, non orienté sil est fait darêtes uniquement. 1n+1 ii+1 1n+1

60 St Valentin 2006Cours de graphes 1 - Intranet60 Définitions de base Notations et propriétés sur les chemins :Notations et propriétés sur les chemins : Nous noterons ( cest non standard ) :Nous noterons ( cest non standard ) : –( u, v ) larête ou larc, cest-à-dire le chemin de longueur 1. –( u ; v ) le chemin de longueur quelconque.

61 St Valentin 2006Cours de graphes 1 - Intranet61 Définitions de base Notations et propriétés sur les chemins :Notations et propriétés sur les chemins : Nous noterons ( cest non standard ) :Nous noterons ( cest non standard ) : –( u, v ) larête ou larc, cest-à-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.Pour tout chemin non orienté ( u ; v ) du graphe G, nous pouvons construire le chemin ( v ; u ) dans G.

62 St Valentin 2006Cours de graphes 1 - Intranet62 Définitions de base Notations et propriétés sur les chemins :Notations et propriétés sur les chemins : Nous noterons ( cest non standard ) :Nous noterons ( cest non standard ) : –( u, v ) larête ou larc, cest-à-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.Pour tout chemin non orienté ( u ; v ) du graphe G, nous pouvons construire le chemin ( v ; u ) dans G. Dans un graphe G, lexistence du chemin orienté ( u ; v ) nimplique pas lexistence dun chemin de retour ( v ; u ).Dans un graphe G, lexistence du chemin orienté ( u ; v ) nimplique pas lexistence dun chemin de retour ( v ; u ).

63 St Valentin 2006Cours de graphes 1 - Intranet63 Définitions de base Cycles et circuits :Cycles et circuits : Un chemin non orienté ( u ; v ) pour lequel « u » coïncide avec « v » est un cycle.Un chemin non orienté ( u ; v ) pour lequel « u » coïncide avec « v » est un cycle.

64 St Valentin 2006Cours de graphes 1 - Intranet64 Définitions de base Cycles et circuits :Cycles et circuits : Un chemin non orienté ( u ; v ) pour lequel « u » coïncide avec « v » est un cycle.Un chemin non orienté ( u ; v ) pour lequel « u » coïncide avec « v » est un cycle. u = v

65 St Valentin 2006Cours de graphes 1 - Intranet65 Définitions de base Cycles et circuits :Cycles et circuits : Un chemin non orienté ( u ; v ) pour lequel « u » coïncide avec « v » est un cycle.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.Un chemin orienté ( w ; t ) pour lequel « w » coïncide avec « t » est un circuit. u = v

66 St Valentin 2006Cours de graphes 1 - Intranet66 Définitions de base Cycles et circuits :Cycles et circuits : Un chemin non orienté ( u ; v ) pour lequel « u » coïncide avec « v » est un cycle.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.Un chemin orienté ( w ; t ) pour lequel « w » coïncide avec « t » est un circuit. u = v w = t

67 St Valentin 2006Cours de graphes 1 - Intranet67 Définitions de base Chemins simples :Chemins simples : Un chemin ( u ; v ), où « u » est différent de « v », est simple si et seulement si aucun sommet nest répété dans la séquence :Un chemin ( u ; v ), où « u » est différent de « v », est simple si et seulement si aucun sommet nest répété dans la séquence : ( u,..., v ) ( u,..., v )

68 St Valentin 2006Cours de graphes 1 - Intranet68 Définitions de base Chemins simples :Chemins simples : Un chemin ( u ; v ), où « u » est différent de « v », est simple si et seulement si aucun sommet nest répété dans la séquence :Un chemin ( u ; v ), où « u » est différent de « v », est simple si et seulement si aucun sommet nest répété dans la séquence : ( u,..., v ) ( u,..., v ) u Chemin simple ( u ; v ) v

69 St Valentin 2006Cours de graphes 1 - Intranet69 Définitions de base Chemins simples :Chemins simples : Un chemin ( u ; v ), où « u » est différent de « v », est simple si et seulement si aucun sommet nest répété dans la séquence :Un chemin ( u ; v ), où « u » est différent de « v », est simple si et seulement si aucun sommet nest répété dans la séquence : ( u,..., v ) ( u,..., v ) u t Chemin simple ( u ; v ) v w Chemin non simple ( w ; t )

70 St Valentin 2006Cours de graphes 1 - Intranet70 Définitions de base Chemins simples :Chemins simples : Un chemin ( u ; v ), où « u » est différent de « v », est simple si et seulement si aucun sommet nest répété dans la séquence :Un chemin ( u ; v ), où « u » est différent de « v », est simple si et seulement si aucun sommet nest répété dans la séquence : ( u,..., v ) ( u,..., v ) u t Chemin simple ( u ; v ) v w Chemin non simple ( w ; t )

71 St Valentin 2006Cours de graphes 1 - Intranet71 Définitions de base Lemme de König :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.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.

72 St Valentin 2006Cours de graphes 1 - Intranet72 Définitions de base Lemme de König :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.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

73 St Valentin 2006Cours de graphes 1 - Intranet73 Définitions de base Lemme de König :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.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

74 St Valentin 2006Cours de graphes 1 - Intranet74 Définitions de base Lemme de König :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.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 ) u v w t

75 St Valentin 2006Cours de graphes 1 - Intranet75 Définitions de base Lemme de König :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.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 ) u v w t

76 St Valentin 2006Cours de graphes 1 - Intranet76 Définitions de base Lemme de König :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.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 ) u v w t De tout cycle ou circuit nous pouvons extraire un cycle ou circuit élémentaire !

77 St Valentin 2006Cours de graphes 1 - Intranet77 Définitions de base Lemme de König :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.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 ) u v w t De tout cycle ou circuit nous pouvons extraire un cycle ou circuit élémentaire !

78 St Valentin 2006Cours de graphes 1 - Intranet78 Définitions de base V F F F F F V V V V V V V V FF FFF FF FF FFFF FF FF FF FF F La composante connexe de « u » : La composante sortante : C+ ( u ) La composante entrante : C - ( u )

79 St Valentin 2006Cours de graphes 1 - Intranet79 Définitions de base V F F F F F V V V V V V V V FF FFF FF FF FFFF FF FF FF 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 }

80 St Valentin 2006Cours de graphes 1 - Intranet80 Définitions de base V F F F F F V V V V V V V V FF FFF FF FF FFFF FF FF FF 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 }

81 St Valentin 2006Cours de graphes 1 - Intranet81 Définitions de base V F F F F F V V V V V V V V FF FFF FF FF FFFF FF FF FF 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, 4 }

82 St Valentin 2006Cours de graphes 1 - Intranet82 Définitions de base V F F F F F V V V V V V V V FF FFF FF FF FFFF FF FF FF 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 ) = C - ( u ) C+ ( 4 ) = { 1, 2, 3, 4, 5 } C - ( 4 ) = { 1, 2, 4 }

83 St Valentin 2006Cours de graphes 1 - Intranet83 Dé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 !

84 St Valentin 2006Cours de graphes 1 - Intranet84 Dé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 ! –symétrique, les chemins de retour existent !

85 St Valentin 2006Cours de graphes 1 - Intranet85 Dé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 ! –symétrique, les chemins de retour existent ! –transitive, vous pouvez concaténer des chemins !

86 St Valentin 2006Cours de graphes 1 - Intranet86 Dé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 ! –symétrique, les chemins de retour existent ! –transitive, vous pouvez concaténer des chemins ! Une composante connexe est une classe déquivalence !Une composante connexe est une classe déquivalence !

87 St Valentin 2006Cours de graphes 1 - Intranet87 Dé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 ! –symétrique, les chemins de retour existent ! –transitive, vous pouvez concaténer des chemins ! Une composante connexe est une classe déquivalence !Une composante connexe est une classe déquivalence ! Un graphe non orienté est partitionné en ses classes déquivalence !Un graphe non orienté est partitionné en ses classes déquivalence !

88 St Valentin 2006Cours de graphes 1 - Intranet88 Définitions de base V F F F F F V V V V V VFF FFF FF FF FFFF FF FF FF FF F F F Nous partons dune relation symétrique !

89 St Valentin 2006Cours de graphes 1 - Intranet89 Définitions de base V F F F F F V V V V V VFF FFF FF FF FFFF FF FF FF FF F F F Nous partons dune relation symétrique ! Nous fermons réflexivement !

90 St Valentin 2006Cours de graphes 1 - Intranet90 Définitions de base V F F F F F V V V V V VFF FFF FF FF FFFF FF FF FF FF F F F Nous partons dune relation symétrique ! Nous fermons réflexivement ! La fermeture réflexive dune relation « R » est la plus petite relation réflexive qui contienne « R ».

91 St Valentin 2006Cours de graphes 1 - Intranet91 Définitions de base V V V V V V VFF FFF FF FF FFFF FF FF FF FF F F F Nous partons dune relation symétrique ! Nous fermons réflexivement ! La fermeture réflexive dune relation « R » est la plus petite relation réflexive qui contienne « R ». V V V V V

92 St Valentin 2006Cours de graphes 1 - Intranet92 Définitions de base V V V V V V VFF FFF FF FF FFFF FF FF FF FF F F F Nous partons dune relation symétrique ! Nous fermons réflexivement ! V V V V V Nous fermons transitivement !

93 St Valentin 2006Cours de graphes 1 - Intranet93 Définitions de base V V V V V V VFF FFF FF FF FFFF FF FF FF FF F F F Nous partons dune relation symétrique ! Nous fermons réflexivement ! La fermeture transitive dune relation « R » est la plus petite relation transitive qui contienne « R ». V V V V V Nous fermons transitivement !

94 St Valentin 2006Cours de graphes 1 - Intranet94 Définitions de base V V V V V V VF FFF FF FF FFFF FF FF FF FF F F Nous partons dune relation symétrique ! Nous fermons réflexivement ! La fermeture transitive dune relation « R » est la plus petite relation transitive qui contienne « R ». V V V V V Nous fermons transitivement ! V V

95 St Valentin 2006Cours de graphes 1 - Intranet95 Définitions de base V V V V V V VF FFF FF FF FFFF FF FF FF FF F F Nous partons dune relation symétrique ! Nous fermons réflexivement ! V V V V V Nous fermons transitivement ! V V { 1, 2, 4 } est une composante connexe !

96 St Valentin 2006Cours de graphes 1 - Intranet96 Définitions de base V V V V V V VF FFF FF FF FFFF FF FF FF FF F F Nous partons dune relation symétrique ! Nous fermons réflexivement ! V V V V V Nous fermons transitivement ! V V { 3, 5 } est une composante connexe !

97 St Valentin 2006Cours de graphes 1 - Intranet97 Définitions de base V V V V V V VF FFF FF FF FFFF FF FF FF FF F F Nous partons dune relation symétrique ! Nous fermons réflexivement ! V V V V V Nous fermons transitivement ! V V { 6 } est une composante connexe !

98 St Valentin 2006Cours de graphes 1 - Intranet98 Définitions de base V V V V V V VF FFF FF F F FFFF FF FF FF FF F F Nous partons dune relation symétrique ! Nous fermons réflexivement ! V V V V V Nous fermons transitivement ! V V Si nous renumérotons !

99 St Valentin 2006Cours de graphes 1 - Intranet99 Définitions de base V V V V V V VF FFF FF F F FFFF FF FF FF FF F F Nous partons dune relation symétrique ! Nous fermons réflexivement ! V V V V V Nous fermons transitivement ! V V Si nous renumérotons !

100 St Valentin 2006Cours de graphes 1 - Intranet100 Définitions de base Principe de décomposition :Principe de décomposition : Souvent, le traitement appliqué à un graphe non connexeSouvent, le traitement appliqué à un graphe non connexe consiste à appliquer ce même traitement indépendamment consiste à appliquer ce même traitement indépendamment sur chacune des composantes connexes ! sur chacune des composantes connexes !

101 St Valentin 2006Cours de graphes 1 - Intranet101 Définitions de base Principe de décomposition :Principe de décomposition : Souvent, le traitement appliqué à un graphe non connexeSouvent, le traitement appliqué à un graphe non connexe consiste à appliquer ce même traitement indépendamment consiste à appliquer ce même traitement indé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 ! ! !

102 St Valentin 2006Cours de graphes 1 - Intranet102 Définitions de base Pour un graphe orienté :Pour un graphe orienté : Un sous-ensemble « X » des sommets dun graphe orienté est fortement connexe si nous pouvons aller de nimporte quel sommet vers nimporte quel autre sommet.Un sous-ensemble « X » des sommets dun graphe orienté est fortement connexe si nous pouvons aller de nimporte quel sommet vers nimporte quel autre sommet.

103 St Valentin 2006Cours de graphes 1 - Intranet103 Définitions de base Pour un graphe orienté :Pour un graphe orienté : Un sous-ensemble « X » des sommets dun graphe orienté est fortement connexe si nous pouvons aller de nimporte quel sommet vers nimporte quel autre sommet.Un sous-ensemble « X » des sommets dun graphe orienté est fortement connexe si nous pouvons aller de nimporte quel sommet vers nimporte quel autre sommet. Proposition :Proposition : –Une composante est fortement connexe si et seulement si chaque connexe si et seulement si chaque sommet se trouve sur un circuit. sommet se trouve sur un circuit.

104 St Valentin 2006Cours de graphes 1 - Intranet104 Définitions de base Pour un graphe orienté :Pour un graphe orienté : Un sous-ensemble « X » des sommets dun graphe orienté est fortement connexe si nous pouvons aller de nimporte quel sommet vers nimporte quel autre sommet.Un sous-ensemble « X » des sommets dun graphe orienté est fortement connexe si nous pouvons aller de nimporte quel sommet vers nimporte quel autre sommet. Proposition :Proposition : –Une composante est fortement connexe si et seulement si chaque connexe 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 ).

105 St Valentin 2006Cours de graphes 1 - Intranet105 Définitions de base Pour un graphe orienté :Pour un graphe orienté : Un sous-ensemble « X » des sommets dun graphe orienté est fortement connexe si nous pouvons aller de nimporte quel sommet vers nimporte quel autre sommet.Un sous-ensemble « X » des sommets dun graphe orienté est fortement connexe si nous pouvons aller de nimporte quel sommet vers nimporte quel autre sommet. Proposition :Proposition : –Une composante est fortement connexe si et seulement si chaque connexe 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 ). –<= : Soit ( u ; v ) de la forme ( u ; w ; v ).

106 St Valentin 2006Cours de graphes 1 - Intranet106 Définitions de base Pour un graphe orienté :Pour un graphe orienté : Un sous-ensemble « X » des sommets dun graphe orienté est fortement connexe si nous pouvons aller de nimporte quel sommet vers nimporte quel autre sommet.Un sous-ensemble « X » des sommets dun graphe orienté est fortement connexe si nous pouvons aller de nimporte quel sommet vers nimporte quel autre sommet. Proposition :Proposition : –Une composante est fortement connexe si et seulement si chaque connexe 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 ). –<= : 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 ! u vw

107 St Valentin 2006Cours de graphes 1 - Intranet107 Définitions de base Pour un graphe orienté :Pour un graphe orienté : Un sous-ensemble « X » des sommets dun graphe orienté est fortement connexe si nous pouvons aller de nimporte quel sommet vers nimporte quel autre sommet.Un sous-ensemble « X » des sommets dun graphe orienté est fortement connexe si nous pouvons aller de nimporte quel sommet vers nimporte quel autre sommet. Proposition :Proposition : –Une composante est fortement connexe si et seulement si chaque connexe 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 ). –<= : 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 ). u vw

108 St Valentin 2006Cours de graphes 1 - Intranet108 Définitions de base Pour un graphe orienté :Pour un graphe orienté : Un graphe orienté est quasi-fortement connexe sil existe un sommet depuis lequel nous pouvons atteindre tous les autres sommets. Un tel sommet sera appelé « racine ».Un graphe orienté est quasi-fortement connexe sil existe un sommet depuis lequel nous pouvons atteindre tous les autres sommets. Un tel sommet sera appelé « racine ».

109 St Valentin 2006Cours de graphes 1 - Intranet109 Définitions de base Pour un graphe orienté :Pour un graphe orienté : Un graphe orienté est quasi-fortement connexe sil existe un sommet depuis lequel nous pouvons atteindre tous les autres sommets. Un tel sommet sera appelé « racine ».Un graphe orienté est quasi-fortement connexe sil existe un sommet depuis lequel nous pouvons atteindre tous les autres sommets. Un tel sommet sera appelé « racine ».

110 St Valentin 2006Cours de graphes 1 - Intranet110 Définitions de base Pour un graphe orienté :Pour un graphe orienté : Un graphe orienté est quasi-fortement connexe sil existe un sommet depuis lequel nous pouvons atteindre tous les autres sommets. Un tel sommet sera appelé « racine ».Un graphe orienté est quasi-fortement connexe sil existe un sommet depuis lequel nous pouvons atteindre tous les autres sommets. Un tel sommet sera appelé « racine ».

111 St Valentin 2006Cours de graphes 1 - Intranet111 Définitions de base Distances et diamètre :Distances et diamètre : La distance « d ( u, v ) » entre un sommet « u » et un sommet « v » est :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.

112 St Valentin 2006Cours de graphes 1 - Intranet112 Définitions de base Distances et diamètre :Distances et diamètre : La distance « d ( u, v ) » entre un sommet « u » et un sommet « v » est :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 dun graphe connexe est la distance entre ses sommets les plus éloignés :Le diamètre dun graphe connexe est la distance entre ses sommets les plus éloignés : ( G ) = max { d ( u, v ) } ( G ) = max { d ( u, v ) } u, v V

113 St Valentin 2006Cours de graphes 1 - Intranet113 Définitions de base u v

114 St Valentin 2006Cours de graphes 1 - Intranet114 Définitions de base u v Chemin simple de longueur 4 !

115 St Valentin 2006Cours de graphes 1 - Intranet115 Définitions de base u v Chemin simple de longueur 4 ! Le plus court chemin est de longueur 3 : d ( u, v ) = 3

116 St Valentin 2006Cours de graphes 1 - Intranet116 Définitions de base u v Chemin simple de longueur 4 ! Le plus court chemin est de longueur 3 : d ( u, v ) = 3 ( G ) = 4 ( G ) = 4

117 St Valentin 2006Cours de graphes 1 - Intranet117 Définitions de base Ecarts, centre et diamètre :Ecarts, centre et diamètre : Lécart « e ( u ) » dun sommet « u » dun graphe connexe est :Lécart « e ( u ) » dun sommet « u » dun graphe connexe est : –la distance vers le sommet « v » le plus loin de « u » : e ( u ) = max { d ( u, v ) } e ( u ) = max { d ( u, v ) } v V

118 St Valentin 2006Cours de graphes 1 - Intranet118 Définitions de base Ecarts, centre et diamètre :Ecarts, centre et diamètre : Lécart « e ( u ) » dun sommet « u » dun graphe connexe est :Lécart « e ( u ) » dun sommet « u » dun graphe connexe est : –la distance vers le sommet « v » le plus loin de « u » : e ( u ) = max { d ( u, v ) } e ( u ) = max { d ( u, v ) } Un sommet « u » est au centre de G siUn sommet « u » est au centre de G si e ( u ) = min { e ( v ) } e ( u ) = min { e ( v ) } v V

119 St Valentin 2006Cours de graphes 1 - Intranet119 Définitions de base Ecarts, centre et diamètre :Ecarts, centre et diamètre : Lécart « e ( u ) » dun sommet « u » dun graphe connexe est :Lécart « e ( u ) » dun sommet « u » dun graphe connexe est : –la distance vers le sommet « v » le plus loin de « u » : e ( u ) = max { d ( u, v ) } e ( u ) = max { d ( u, v ) } Un sommet « u » est au centre de G siUn sommet « u » est au centre de G si e ( u ) = min { e ( v ) } e ( u ) = min { e ( v ) } ( G ) = max { e ( v ) } ( G ) = max { e ( v ) } v V

120 St Valentin 2006Cours de graphes 1 - Intranet120 Définitions de base u e ( u ) = 3

121 St Valentin 2006Cours de graphes 1 - Intranet121 Définitions de base u e ( u ) = 3 v « v » est au centre car e ( v ) = 2 est minimal !

122 St Valentin 2006Cours de graphes 1 - Intranet122 Définitions de base u e ( u ) = 3 v « v » est au centre car e ( v ) = 2 est minimal ! ( G ) = e ( w ) = 4 ( G ) = e ( w ) = 4 w

123 St Valentin 2006Cours de graphes 1 - Intranet123 Dé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 « w »,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 alors la partie préfixe de « u » vers « w » est aussi le plus court chemin de « u » vers « w ». court chemin de « u » vers « w ».

124 St Valentin 2006Cours de graphes 1 - Intranet124 Dé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 « w »,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 alors la partie préfixe de « u » vers « w » est aussi le plus court chemin de « u » vers « w ». court chemin de « u » vers « w ». u vw Le plus court chemin de « u » à « v » !

125 St Valentin 2006Cours de graphes 1 - Intranet125 Dé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 « w »,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 alors la partie préfixe de « u » vers « w » est aussi le plus court chemin de « u » vers « w ». court chemin de « u » vers « w ». u vw Le plus court chemin de « u » à « v » ! Le plus court chemin de « u » à « w » !

126 St Valentin 2006Cours de graphes 1 - Intranet126 Définitions de base Poids dun chemin :Poids dun chemin : Dans un graphe pondéré, le poids dun chemin est la somme des poids de ses arcs et arêtes.Dans un graphe pondéré, le poids dun chemin est la somme des poids de ses arcs et arêtes.

127 St Valentin 2006Cours de graphes 1 - Intranet127 Définitions de base Poids dun chemin :Poids dun chemin : Dans un graphe pondéré, le poids dun chemin est la somme des poids de ses arcs et arêtes.Dans un graphe pondéré, le poids dun 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 ».Nous pouvons alors, de manière évidente, définir le chemin le plus léger de « u » vers « v ».

128 St Valentin 2006Cours de graphes 1 - Intranet128 Définitions de base Poids dun chemin :Poids dun chemin : Dans un graphe pondéré, le poids dun chemin est la somme des poids de ses arcs et arêtes.Dans un graphe pondéré, le poids dun 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 ».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 darcs et arêtes).Le chemin le plus léger (poids) ne coïncide pas forcément avec le chemin le plus court (nombre darcs et arêtes).

129 St Valentin 2006Cours de graphes 1 - Intranet129 Définitions de base Poids dun chemin :Poids dun chemin : Dans un graphe pondéré, le poids dun chemin est la somme des poids de ses arcs et arêtes.Dans un graphe pondéré, le poids dun 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 ».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 darcs et arêtes).Le chemin le plus léger (poids) ne coïncide pas forcément avec le chemin le plus court (nombre darcs et arêtes). Les poids ne vérifient pas forcément linégalité triangulaire !Les poids ne vérifient pas forcément linégalité triangulaire !

130 St Valentin 2006Cours de graphes 1 - Intranet130 Définitions de base Poids dun chemin :Poids dun chemin : Dans un graphe pondéré, le poids dun chemin est la somme des poids de ses arcs et arêtes.Dans un graphe pondéré, le poids dun 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 ».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 darcs et arêtes).Le chemin le plus léger (poids) ne coïncide pas forcément avec le chemin le plus court (nombre darcs et arêtes). Les poids ne vérifient pas forcément linégalité triangulaire !Les poids ne vérifient pas forcément linégalité triangulaire !

131 St Valentin 2006Cours de graphes 1 - Intranet131 Définitions de base Poids dun chemin :Poids dun chemin : Dans un graphe pondéré, le poids dun chemin est la somme des poids de ses arcs et arêtes.Dans un graphe pondéré, le poids dun 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 ».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 darcs et arêtes).Le chemin le plus léger (poids) ne coïncide pas forcément avec le chemin le plus court (nombre darcs et arêtes). Les poids ne vérifient pas forcément linégalité triangulaire !Les poids ne vérifient pas forcément linégalité triangulaire !

132 St Valentin 2006Cours de graphes 1 - Intranet132 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 ! ! !

133 St Valentin 2006Cours de graphes 1 - Intranet133 Connexité – plus courts chemins Sur un graphe non orienté, nous allons calculer :Sur un graphe non orienté, nous allons calculer : –les composantes connexes !

134 St Valentin 2006Cours de graphes 1 - Intranet134 Connexité – plus courts chemins Sur un graphe non orienté, nous allons calculer :Sur un graphe non orienté, nous allons calculer : –les composantes connexes ! Sur une composante connexe, nous allons calculer :Sur une composante connexe, nous allons calculer : –les plus courts chemins !

135 St Valentin 2006Cours de graphes 1 - Intranet135 Connexité – plus courts chemins Sur un graphe non orienté, nous allons calculer :Sur un graphe non orienté, nous allons calculer : –les composantes connexes ! Sur une composante connexe, nous allons calculer :Sur une composante connexe, nous allons calculer : –les plus courts chemins ! Nous rajoutons une pondération strictement positive et nous allons calculer :Nous rajoutons une pondération strictement positive et nous allons calculer : –les chemins les plus légers !

136 St Valentin 2006Cours de graphes 1 - Intranet136 Connexité – plus courts chemins Nous utilisons trois algorithmes :Nous utilisons trois algorithmes : –un algorithme par « vague », cest un parcours en largeur,

137 St Valentin 2006Cours de graphes 1 - Intranet137 Connexité – plus courts chemins Nous utilisons trois algorithmes :Nous utilisons trois algorithmes : –un algorithme par « vague », cest un parcours en largeur, –un algorithme par « multiplication de matrices »,

138 St Valentin 2006Cours de graphes 1 - Intranet138 Connexité – plus courts chemins Nous utilisons trois algorithmes :Nous utilisons trois algorithmes : –un algorithme par « vague », cest un parcours en largeur, –un algorithme par « multiplication de matrices », –lalgorithme de programmation dynamique « Floyd-Warshall » !

139 St Valentin 2006Cours de graphes 1 - Intranet139 Connexité – plus courts chemins Nous utilisons trois algorithmes :Nous utilisons trois algorithmes : –un algorithme par « vague », cest un parcours en largeur, –un algorithme par « multiplication de matrices », –lalgorithme de programmation dynamique « Floyd-Warshall » ! Pour chacun dentre eux, il sagit de savoir si :Pour chacun dentre eux, il sagit de savoir si : –il arrive à résoudre le problème en question, –quelle est la complexité du calcul ?

140 St Valentin 2006Cours de graphes 1 - Intranet140 Connexité – plus courts chemins Connexité Plus courts Plus légers La vague MultiplicationFloyd-Warshall

141 St Valentin 2006Cours de graphes 1 - Intranet141 Connexité – plus courts chemins Connexité Plus courts Plus légers La vague MultiplicationFloyd-Warshall

142 St Valentin 2006Cours de graphes 1 - Intranet142 Connexité – plus courts chemins Lalgorithme par vague :Lalgorithme par vague : –Nous choisissons un sommet sec et le mouillons,

143 St Valentin 2006Cours de graphes 1 - Intranet143 Connexité – plus courts chemins Lalgorithme par vague :Lalgorithme par vague : –Nous choisissons un sommet sec et le mouillons, –nous mouillons ses voisins,

144 St Valentin 2006Cours de graphes 1 - Intranet144 Connexité – plus courts chemins Lalgorithme par vague :Lalgorithme par vague : –Nous choisissons un sommet sec et le mouillons, –nous mouillons ses voisins, –nous mouillons les voisins des voisins,...

145 St Valentin 2006Cours de graphes 1 - Intranet145 Connexité – plus courts chemins Lalgorithme par vague :Lalgorithme par vague : –Nous choisissons un sommet sec et le mouillons, –nous mouillons ses voisins, –nous mouillons les voisins des voisins,...

146 St Valentin 2006Cours de graphes 1 - Intranet146 Connexité – plus courts chemins Lalgorithme par vague :Lalgorithme 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 ! ! !Attention, dans un graphe il peut y avoir des cycles ! ! !

147 St Valentin 2006Cours de graphes 1 - Intranet147 Connexité – plus courts chemins Lalgorithme par vague :Lalgorithme 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 ! ! !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é !

148 St Valentin 2006Cours de graphes 1 - Intranet148 Connexité – plus courts chemins Lalgorithme par vague :Lalgorithme 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 ! ! !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é : ( | E | ) = O ( | V |^2 ) = O ( n^2 )Complexité : ( | E | ) = O ( | V |^2 ) = O ( n^2 ) –Chaque arête est visitée une et une seule fois !

149 St Valentin 2006Cours de graphes 1 - Intranet149 Connexité – plus courts chemins Connexité Plus courts Plus légers La vague MultiplicationFloyd-Warshall ( | E | ) = ( | E | ) = O ( | V |^2 ) O ( | V |^2 )

150 St Valentin 2006Cours de graphes 1 - Intranet150 Connexité – plus courts chemins La multiplication de matrices :La multiplication de matrices : –Nous prenons une matrice avec des « 0 » et des « 1 »,

151 St Valentin 2006Cours de graphes 1 - Intranet151 Connexité – plus courts chemins La multiplication de matrices :La multiplication de matrices : –Nous prenons une matrice avec des « 0 » et des « 1 », –nous la fermons réflexivement (des « 1 » sur la diagonale),

152 St Valentin 2006Cours de graphes 1 - Intranet152 Connexité – plus courts chemins La multiplication de matrices :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 ) M * M ( i, j ) = max M ( i, k ) * M ( k, j ) k

153 St Valentin 2006Cours de graphes 1 - Intranet153 Connexité – plus courts chemins La multiplication de matrices :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 ) M * M ( i, j ) = max M ( i, k ) * M ( k, j ) Nous calculons : M - > M^2 - > M^4 - >...Nous calculons : M - > M^2 - > M^4 - >... k

154 St Valentin 2006Cours de graphes 1 - Intranet154 Connexité – plus courts chemins La multiplication de matrices :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 ) M * M ( i, j ) = max M ( i, k ) * M ( k, j ) Nous calculons : M - > M^2 - > M^4 - >...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.Propriété : M^( 2 * i ) = M^i * M^i contient tous les chemins de longueur au plus 2 * i. k

155 St Valentin 2006Cours de graphes 1 - Intranet155 Connexité – plus courts chemins La multiplication de matrices :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 ) M * M ( i, j ) = max M ( i, k ) * M ( k, j ) Nous calculons : M - > M^2 - > M^4 - >...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.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 calculer M^k avec k >= | V | - 1 = n - 1 (le plus long chemin possible; et donc tous les chemins) ! k

156 St Valentin 2006Cours de graphes 1 - Intranet156 Connexité – plus courts chemins La multiplication de matrices :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 ) M * M ( i, j ) = max M ( i, k ) * M ( k, j ) Nous calculons : M - > M^2 - > M^4 - >...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.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 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é !Il suffit de O ( log( | V | ) ) élévations au carré ! k

157 St Valentin 2006Cours de graphes 1 - Intranet157 Connexité – plus courts chemins Preuve de la propriété :Preuve de la propriété : –La matrice M fermée réflexivement contient tous les chemins de longueur 0 ou 1.

158 St Valentin 2006Cours de graphes 1 - Intranet158 Connexité – plus courts chemins Preuve de la propriété :Preuve de la propriété : –La matrice M fermée réflexivement contient tous les chemins de longueur 0 ou 1. –Hypothèse dinduction : M^i contient tous les chemins de longueur au plus i.

159 St Valentin 2006Cours de graphes 1 - Intranet159 Connexité – plus courts chemins Preuve de la propriété :Preuve de la propriété : –La matrice M fermée réflexivement contient tous les chemins de longueur 0 ou 1. –Hypothèse dinduction : M^i contient tous les chemins de longueur au plus i. M^( 2 * i ) ( u, v ) = 1 M^( 2 * i ) ( u, v ) = 1

160 St Valentin 2006Cours de graphes 1 - Intranet160 Connexité – plus courts chemins Preuve de la propriété :Preuve de la propriété : –La matrice M fermée réflexivement contient tous les chemins de longueur 0 ou 1. –Hypothèse dinduction : M^i contient tous les chemins de longueur au plus i. M^( 2 * i ) ( u, v ) = 1 M^( 2 * i ) ( u, v ) = 1 max_k M^i ( u, k ) * M^i ( k, v ) = 1 max_k M^i ( u, k ) * M^i ( k, v ) = 1

161 St Valentin 2006Cours de graphes 1 - Intranet161 Connexité – plus courts chemins Preuve de la propriété :Preuve de la propriété : –La matrice M fermée réflexivement contient tous les chemins de longueur 0 ou 1. –Hypothèse dinduction : M^i contient tous les chemins de longueur au plus i. M^( 2 * i ) ( u, v ) = 1 M^( 2 * i ) ( u, v ) = 1 max_k M^i ( u, k ) * M^i ( k, 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 w tel que M^i ( u, w ) * M^i ( w, v ) = 1

162 St Valentin 2006Cours de graphes 1 - Intranet162 Connexité – plus courts chemins Preuve de la propriété :Preuve de la propriété : –La matrice M fermée réflexivement contient tous les chemins de longueur 0 ou 1. –Hypothèse dinduction : M^i contient tous les chemins de longueur au plus i. M^( 2 * i ) ( u, v ) = 1 M^( 2 * i ) ( u, v ) = 1 max_k M^i ( u, k ) * M^i ( k, 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 w tel que M^i ( u, w ) * M^i ( w, v ) = 1 M^i ( u, w ) = 1 et M^i ( w, v ) = 1 M^i ( u, w ) = 1 et M^i ( w, v ) = 1

163 St Valentin 2006Cours de graphes 1 - Intranet163 Connexité – plus courts chemins Preuve de la propriété :Preuve de la propriété : –La matrice M fermée réflexivement contient tous les chemins de longueur 0 ou 1. –Hypothèse dinduction : M^i contient tous les chemins de longueur au plus i. M^( 2 * i ) ( u, v ) = 1 M^( 2 * i ) ( u, v ) = 1 max_k M^i ( u, k ) * M^i ( k, 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 w tel que M^i ( u, w ) * M^i ( w, v ) = 1 M^i ( u, w ) = 1 et 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 ) et ( w ; v ) sont de longueur au plus i

164 St Valentin 2006Cours de graphes 1 - Intranet164 Connexité – plus courts chemins Preuve de la propriété :Preuve de la propriété : –La matrice M fermée réflexivement contient tous les chemins de longueur 0 ou 1. –Hypothèse dinduction : M^i contient tous les chemins de longueur au plus i. M^( 2 * i ) ( u, v ) = 1 M^( 2 * i ) ( u, v ) = 1 max_k M^i ( u, k ) * M^i ( k, 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 w tel que M^i ( u, w ) * M^i ( w, v ) = 1 M^i ( u, w ) = 1 et 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 ) 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.

165 St Valentin 2006Cours de graphes 1 - Intranet165 Connexité – plus courts chemins Preuve de la propriété :Preuve de la propriété : –La matrice M fermée réflexivement contient tous les chemins de longueur 0 ou 1. –Hypothèse dinduction : M^i contient tous les chemins de longueur au plus i. M^( 2 * i ) ( u, v ) = 1 M^( 2 * i ) ( u, v ) = 1 max_k M^i ( u, k ) * M^i ( k, 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 w tel que M^i ( u, w ) * M^i ( w, v ) = 1 M^i ( u, w ) = 1 et 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 ) 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 !

166 St Valentin 2006Cours de graphes 1 - Intranet166 Connexité – plus courts chemins Connexité Plus courts Plus légers La vague MultiplicationFloyd-Warshall ( | E | ) = ( | E | ) = O ( | V |^2 ) O ( | V |^2 ) ( | V |^3 * ( | V |^3 * log( | V | ) ) log( | V | ) )

167 St Valentin 2006Cours de graphes 1 - Intranet167 Connexité – plus courts chemins Floyd-Warshall :Floyd-Warshall : –La multiplication recalcule de façon répétée les chemins courts. Si M^i ( u, v ) = 1 :

168 St Valentin 2006Cours de graphes 1 - Intranet168 Connexité – plus courts chemins Floyd-Warshall :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^( 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

169 St Valentin 2006Cours de graphes 1 - Intranet169 Connexité – plus courts chemins Floyd-Warshall :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^( 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 :

170 St Valentin 2006Cours de graphes 1 - Intranet170 Connexité – plus courts chemins Floyd-Warshall :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^( 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 sont dans lensemble { 1 },

171 St Valentin 2006Cours de graphes 1 - Intranet171 Connexité – plus courts chemins Floyd-Warshall :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^( 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 sont dans lensemble { 1 }, –à létape (2), ne calcule que les chemins dont les intermédiaires sont dans lensemble { 1, 2 },...

172 St Valentin 2006Cours de graphes 1 - Intranet172 Connexité – plus courts chemins Initialement : M (0) Nous navons pas dessiné les boucles de la fermeture réflexive !

173 St Valentin 2006Cours de graphes 1 - Intranet173 Connexité – plus courts chemins Initialement : M (0) Etape 1 : M (1) Nous navons pas dessiné les boucles de la fermeture réflexive !

174 St Valentin 2006Cours de graphes 1 - Intranet174 Connexité – plus courts chemins Initialement : M (0) Etape 1 : M (1) Nous navons pas dessiné les boucles de la fermeture réflexive ! Etape 2 : M (2)

175 St Valentin 2006Cours de graphes 1 - Intranet175 Connexité – plus courts chemins Initialement : M (0) Etape 1 : M (1) Nous navons pas dessiné les boucles de la fermeture réflexive ! Etape 2 : M (2) Etape 3 : M (3) Petit à petit, les uns...

176 St Valentin 2006Cours de graphes 1 - Intranet176 Connexité – plus courts chemins Initialement : M (0) Etape 1 : M (1) Nous navons pas dessiné les boucles de la fermeture réflexive ! Etape 2 : M (2) Etape 3 : M (3) Petit à petit, les autres...

177 St Valentin 2006Cours de graphes 1 - Intranet177 Connexité – plus courts chemins Initialement : M (0) Etape 1 : M (1) Nous navons pas dessiné les boucles de la fermeture réflexive ! Etape 2 : M (2) Etape 3 : M (3) Petit à petit, finalement...

178 St Valentin 2006Cours de graphes 1 - Intranet178 Connexité – plus courts chemins Initialement : M (0) Etape 1 : M (1) Nous navons pas dessiné les boucles de la fermeture réflexive ! Etape 2 : M (2) Etape 3 : M (3)

179 St Valentin 2006Cours de graphes 1 - Intranet179 Connexité – plus courts chemins Initialement : M (0) Etape 1 : M (1) Nous navons pas dessiné les boucles de la fermeture réflexive ! Etape 2 : M (2) Etape 3 : M (3)

180 St Valentin 2006Cours de graphes 1 - Intranet180 Connexité – plus courts chemins M est donnée, elle comporte tous les chemins avec des intermédiaires parmi { 1,..., k - 1 }.M est donnée, elle comporte tous les chemins avec des intermédiaires parmi { 1,..., k - 1 }. (k - 1)

181 St Valentin 2006Cours de graphes 1 - Intranet181 Connexité – plus courts chemins M est donnée, elle comporte tous les chemins avec des intermédiaires parmi { 1,..., 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 }.M ( u, v ) est un chemin de « u » vers « v » avec des intermédiaires parmi { 1,..., k }. (k - 1) (k)

182 St Valentin 2006Cours de graphes 1 - Intranet182 Connexité – plus courts chemins M est donnée, elle comporte tous les chemins avec des intermédiaires parmi { 1,..., 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 }.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.Soit le sommet « k » figure dans ce chemin, soit il ne le fait pas. (k - 1) (k)

183 St Valentin 2006Cours de graphes 1 - Intranet183 Connexité – plus courts chemins M ( u, v ) = M ( u, v ) (k) (k - 1) (k) M est donnée, elle comporte tous les chemins avec des intermédiaires parmi { 1,..., 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 }.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.Soit le sommet « k » figure dans ce chemin, soit il ne le fait pas.

184 St Valentin 2006Cours de graphes 1 - Intranet184 Connexité – plus courts chemins M ( u, v ) = M ( u, v ) (k) (k - 1) (k) M est donnée, elle comporte tous les chemins avec des intermédiaires parmi { 1,..., 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 }.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.Soit le sommet « k » figure dans ce chemin, soit il ne le fait pas. u k v u k v

185 St Valentin 2006Cours de graphes 1 - Intranet185 Connexité – plus courts chemins M ( u, v ) = M ( u, v ) (k) (k - 1) (k) M est donnée, elle comporte tous les chemins avec des intermédiaires parmi { 1,..., 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 }.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.Soit le sommet « k » figure dans ce chemin, soit il ne le fait pas. u k v u k v / k

186 St Valentin 2006Cours de graphes 1 - Intranet186 Connexité – plus courts chemins M ( u, v ) = M ( u, v ) (k) (k - 1) (k) M est donnée, elle comporte tous les chemins avec des intermédiaires parmi { 1,..., 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 }.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.Soit le sommet « k » figure dans ce chemin, soit il ne le fait pas. u k v u k v M ( u, k ) M ( k, v ) M ( u, k ) M ( k, v ) / k (k - 1) }}

187 St Valentin 2006Cours de graphes 1 - Intranet187 Connexité – plus courts chemins M est la matrice dadjacence, fermée réflexivement. Elle comporte des « 0 » et des « 1 ».M est la matrice dadjacence, fermée réflexivement. Elle comporte des « 0 » et des « 1 ». (0)

188 St Valentin 2006Cours de graphes 1 - Intranet188 Connexité – plus courts chemins M est la matrice dadjacence, fermée réflexivement. Elle comporte des « 0 » et des « 1 ».M est la matrice dadjacence, fermée réflexivement. Elle comporte des « 0 » et des « 1 ». M ( u, v ) = max (, M ( u, v ) = max (, ) (0) (k)

189 St Valentin 2006Cours de graphes 1 - Intranet189 Connexité – plus courts chemins M est la matrice dadjacence, fermée réflexivement. Elle comporte des « 0 » et des « 1 ».M est la matrice dadjacence, fermée réflexivement. Elle comporte des « 0 » et des « 1 ». M ( u, v ) = max (, M ( u, v ) = max (, ) (0) M ( u, v ) (k - 1) (k)

190 St Valentin 2006Cours de graphes 1 - Intranet190 Connexité – plus courts chemins M est la matrice dadjacence, fermée réflexivement. Elle comporte des « 0 » et des « 1 ».M est la matrice dadjacence, fermée réflexivement. Elle comporte des « 0 » et des « 1 ». M ( u, v ) = max (, M ( u, v ) = max (, ) (0) M ( u, k ) * M ( k, v ) (k - 1) M ( u, v ) (k - 1) (k)

191 St Valentin 2006Cours de graphes 1 - Intranet191 Connexité – plus courts chemins M est la matrice dadjacence, fermée réflexivement. Elle comporte des « 0 » et des « 1 ».M est la matrice dadjacence, fermée réflexivement. Elle comporte des « 0 » et des « 1 ». M ( u, v ) = max (, M ( u, v ) = max (, ) M est la matrice recherchée !M est la matrice recherchée ! (0) M ( u, k ) * M ( k, v ) (k - 1) M ( u, v ) (k - 1) (n) (k)

192 St Valentin 2006Cours de graphes 1 - Intranet192 Connexité – plus courts chemins M est la matrice dadjacence, fermée réflexivement. Elle comporte des « 0 » et des « 1 ».M est la matrice dadjacence, fermée réflexivement. Elle comporte des « 0 » et des « 1 ». M ( u, v ) = max (, M ( u, v ) = max (, ) M est la matrice recherchée !M est la matrice recherchée ! (0) M ( u, k ) * M ( k, v ) (k - 1) M ( u, v ) (k - 1) (n) (k) Pour k de 1 a | V | Pour u de 1 a | V | Pour v de 1 a | V | M_k ( u, v ) <-...

193 St Valentin 2006Cours de graphes 1 - Intranet193 Connexité – plus courts chemins Connexité Plus courts Plus légers La vague MultiplicationFloyd-Warshall ( | E | ) = ( | E | ) = O ( | V |^2 ) O ( | V |^2 ) ( | V |^3 * ( | V |^3 * log( | V | ) ) log( | V | ) ) ( | V |^3 ) ( | V |^3 )

194 St Valentin 2006Cours de graphes 1 - Intranet194 Connexité – plus courts chemins Connexité Plus courts Plus légers La vague MultiplicationFloyd-Warshall ( | E | ) = ( | E | ) = O ( | V |^2 ) O ( | V |^2 ) ( | V |^3 * ( | V |^3 * log( | V | ) ) log( | V | ) ) ( | V |^3 ) ( | V |^3 )

195 St Valentin 2006Cours de graphes 1 - Intranet195 Synthèse Définitions de baseDéfinitions de base Connexité :Connexité : –à laide de la vague, –à laide de la multiplication, –à laide de Floyd-Warshall.

196 St Valentin 2006Cours de graphes 1 - Intranet196 m E r C i e T O n N e J o U r N é E ! ! ! O n N e J o U r N é E ! ! ! o U b L i E z P a S d 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 ! ! !


Télécharger ppt "St Valentin 2006Cours de graphes 1 - Intranet2 Marc Gengler Cours de graphes Alexandra Bac - Sébastien Fournier 12h de cours."

Présentations similaires


Annonces Google