1 / 196

Marc Gengler Marc.Gengler@esil.univ-mrs.fr

Cours de graphes. Marc Gengler Marc.Gengler@esil.univ-mrs.fr. Alexandra Bac - Sébastien Fournier. 12h de cours 12h de TD des devoirs … et un examen. Les grandes lignes du cours. Définitions de base Connexité Les plus courts chemins Dijkstra et Bellmann-Ford Arbres

evelyn
Download Presentation

Marc Gengler Marc.Gengler@esil.univ-mrs.fr

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cours de graphes Marc Gengler Marc.Gengler@esil.univ-mrs.fr Alexandra Bac - Sébastien Fournier 12h de cours 12h de TD des devoirs … et un examen Cours de graphes 1 - Intranet

  2. Les grandes lignes du cours • Définitions de base • Connexité • Les plus courts chemins • Dijkstra et Bellmann-Ford • Arbres • Arbres de recouvrement minimaux • Problèmes de flots • Coloriage de graphes • Couplage • Chemins d’Euler et de Hamilton • Problèmes NP-complets Cours de graphes 1 - Intranet

  3. 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. Cours de graphes 1 - Intranet

  4. 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 Cours de graphes 1 - Intranet

  5. Définitions de base----------------------------------------------------------------- • Il y a des sommets ! (vertex, vertices) Cours de graphes 1 - Intranet

  6. Définitions de base----------------------------------------------------------------- • Il y a des sommets ! (vertex, vertices) • Il y a des arêtes ! (edge) Cours de graphes 1 - Intranet

  7. Définitions de base----------------------------------------------------------------- • Il y a des sommets ! (vertex, vertices) • Il y a des arêtes ! (edge) • Il y a des arcs ! (arc) Cours de graphes 1 - Intranet

  8. Définitions de base----------------------------------------------------------------- • Formellement : • Il y a l’ensemble « V » des sommets. Cours de graphes 1 - Intranet

  9. 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. Cours de graphes 1 - Intranet

  10. 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 . Cours de graphes 1 - Intranet

  11. 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. Cours de graphes 1 - Intranet

  12. 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 ) ! Cours de graphes 1 - Intranet

  13. 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. Aucun couple ( a , a ) ! Tous des couples ( a , a ) ! Cours de graphes 1 - Intranet

  14. 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. Cours de graphes 1 - Intranet

  15. 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 ) ! Cours de graphes 1 - Intranet

  16. 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. Si ( a , b ) avec a = b alors pas ( b , a ) ! / ( a , b ) ssi ( b , a ) ! Cours de graphes 1 - Intranet

  17. 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é ! Cours de graphes 1 - Intranet

  18. 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. Cours de graphes 1 - Intranet

  19. 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 ) ! Cours de graphes 1 - Intranet

  20. Définitions de base----------------------------------------------------------------- • Formellement : • G = ( V , E ) • Un graphe est donné par les ensembles « V » et « E ». Cours de graphes 1 - Intranet

  21. 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). Cours de graphes 1 - Intranet

  22. 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 Cours de graphes 1 - Intranet

  23. 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 Cours de graphes 1 - Intranet

  24. Définitions de base----------------------------------------------------------------- • Représentation des données : • Nous indexons (numérotons) les sommets. • Nous représentons les arcs et les arêtes. Cours de graphes 1 - Intranet

  25. 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 ! Cours de graphes 1 - Intranet

  26. Définitions de base----------------------------------------------------------------- Cours de graphes 1 - Intranet

  27. Définitions de base----------------------------------------------------------------- 4 1 6 2 3 5 Cours de graphes 1 - Intranet

  28. 1 2 3 4 5 6 Définitions de base----------------------------------------------------------------- 1 2 3 4 5 6 4 1 6 2 3 5 Cours de graphes 1 - Intranet

  29. Définitions de base----------------------------------------------------------------- 1 2 3 4 5 6 1 L’existence ou non de l’arc ( 2 , 5 ) ! ! ! 2 3 4 5 4 6 1 6 2 3 5 Cours de graphes 1 - Intranet

  30. 1 2 3 4 5 6 Définitions de base----------------------------------------------------------------- 1 2 3 4 5 6 4 1 6 2 3 5 Cours de graphes 1 - Intranet

  31. 1 2 3 4 5 6 Définitions de base----------------------------------------------------------------- 1 2 3 4 5 6 La diagonale parle des couples ( u , u ) ! F F F F F 4 V 1 6 2 3 5 Cours de graphes 1 - Intranet

  32. 1 2 3 4 5 6 Définitions de base----------------------------------------------------------------- 1 2 3 4 5 6 La diagonale parle des couples ( u , u ) ! 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 Cours de graphes 1 - Intranet

  33. 1 2 3 4 5 6 Définitions de base----------------------------------------------------------------- 1 2 3 4 5 6 La diagonale parle des couples ( u , u ) ! 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 Cours de graphes 1 - Intranet

  34. 1 2 3 4 5 6 Définitions de base----------------------------------------------------------------- 1 2 3 4 5 6 La diagonale parle des couples ( u , u ) ! F V F V Les arêtes ( 2 , 4 ) et ( 3 , 5 ) sont symétriques ! F V Les arcs ( 1 , 4 ) et ( 4 , 1 ) donnent aussi une symétrie ! V V F V F 4 V 1 6 2 3 5 Cours de graphes 1 - Intranet

  35. 1 2 3 4 5 6 Définitions de base----------------------------------------------------------------- 1 2 3 4 5 6 La diagonale parle des couples ( u , u ) ! F V F V Les arêtes ( 2 , 4 ) et ( 3 , 5 ) sont symétriques ! F V Les arcs ( 1 , 4 ) et ( 4 , 1 ) donnent aussi une symétrie ! V V F V F 4 V 1 6 2 3 5 Cours de graphes 1 - Intranet

  36. 1 2 3 4 5 6 Définitions de base----------------------------------------------------------------- 1 2 3 4 5 6 La diagonale parle des couples ( u , u ) ! F V F V Les arêtes ( 2 , 4 ) et ( 3 , 5 ) sont symétriques ! F V Les arcs ( 1 , 4 ) et ( 4 , 1 ) donnent aussi une symétrie ! V V V F V F 4 V V 1 Les arcs ( 4 , 3 ) et ( 6 , 3 ) n’ont pas leur pendant symétrique ! ! ! 6 2 3 5 Cours de graphes 1 - Intranet

  37. 1 2 3 4 5 6 Définitions de base----------------------------------------------------------------- 1 2 3 4 5 6 La diagonale parle des couples ( u , u ) ! F V F V Les arêtes ( 2 , 4 ) et ( 3 , 5 ) sont symétriques ! F F V F Les arcs ( 1 , 4 ) et ( 4 , 1 ) donnent aussi une symétrie ! V V V F V F 4 V V 1 Les arcs ( 4 , 3 ) et ( 6 , 3 ) n’ont pas leur pendant symétrique ! ! ! 6 2 3 5 Cours de graphes 1 - Intranet

  38. 1 2 3 4 5 6 Définitions de base----------------------------------------------------------------- 1 2 3 4 5 6 La diagonale parle des couples ( u , u ) ! 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 Les arcs ( 1 , 4 ) et ( 4 , 1 ) donnent aussi une symétrie ! V V V F F F 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 Cours de graphes 1 - Intranet

  39. 1 2 3 4 5 6 Définitions de base----------------------------------------------------------------- 1 2 3 4 5 6 Pour des multi-graphes, nous remplaçons les booléens par des multiplicités ! 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 Cours de graphes 1 - Intranet

  40. 1 2 3 4 5 6 Définitions de base----------------------------------------------------------------- 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 ! Cours de graphes 1 - Intranet

  41. 1 2 3 4 5 6 Définitions de base----------------------------------------------------------------- 1 2 3 4 5 6 4 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 ! Cours de graphes 1 - Intranet

  42. 1 2 3 4 5 6 Définitions de base----------------------------------------------------------------- 1 2 3 4 5 6 4 F F F V F F 4 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 ! Cours de graphes 1 - Intranet

  43. 1 2 3 4 5 6 Définitions de base----------------------------------------------------------------- 1 2 3 4 5 6 4 F F F V F F 4 F F F V F F 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 ! Cours de graphes 1 - Intranet

  44. 1 2 3 4 5 6 Définitions de base----------------------------------------------------------------- 1 2 3 4 5 6 4 F F F V F F 4 F F F V F F 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 ! Cours de graphes 1 - Intranet

  45. 1 2 3 4 5 6 Définitions de base----------------------------------------------------------------- 1 2 3 4 5 6 4 F F F V F F 4 F F F V F F 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 ! Cours de graphes 1 - Intranet

  46. 1 2 3 4 5 6 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 ) 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 Cours de graphes 1 - Intranet

  47. 1 2 3 4 5 6 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 ) 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 } Cours de graphes 1 - Intranet

  48. 1 2 3 4 5 6 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 ) F F F V F F F F F V F F F F F F V F V V V F F F V+ ( 4 ) = { 1 , 2 , 3 } 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 } Cours de graphes 1 - Intranet

  49. 1 2 3 4 5 6 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 ) F F F V F F F F F V F F F F F F V F V V V F F F V+ ( 4 ) = { 1 , 2 , 3 } F F V F F F 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 } Cours de graphes 1 - Intranet

More Related