1 / 198

Cours de graphes

Cours de graphes. Quelques applications. Les grandes lignes du cours -----------------------------------------------------------------. Définitions de base Connexité Les plus courts chemins : Floyd-Warshall, Dijkstra et Bellmann-Ford Arbres, graphes particuliers

dani
Download Presentation

Cours de graphes

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

  2. Les grandes lignes du cours----------------------------------------------------------------- • Définitions de base • Connexité • Les plus courts chemins : Floyd-Warshall, • Dijkstra et Bellmann-Ford • Arbres, graphes particuliers • Arbres de recouvrement ( minimaux ) • Problèmes de flots • Coloriage de graphes, graphes planaires • Couplages, chemins d’Euler et de Hamilton • Problèmes NP-complets, réductions • Applications Cours de graphes 9 - Intranet

  3. Applications-----------------------------------------------------------------Applications----------------------------------------------------------------- L E C O L O R I A G E D E S A R E T E S Cours de graphes 9 - Intranet

  4. Le coloriage des arêtes----------------------------------------------------------------- • Minimiser les couleurs est un problème NP–complet ! • Nous connaissons une solution polynômiale qui est optimale à une couleur près ! Cours de graphes 9 - Intranet

  5. Le coloriage des arêtes----------------------------------------------------------------- • Minimiser les couleurs est un problème NP–complet ! • Nous connaissons une solution polynômiale qui est optimale à une couleur près ! Nous nous contentons de la solution approchée ! ! ! Cours de graphes 9 - Intranet

  6. Le coloriage des arêtes----------------------------------------------------------------- • Minimiser les couleurs est un problème NP–complet ! • Nous connaissons une solution polynômiale qui est optimale à une couleur près ! • L’algorithme de Vizing est donc fondamental ! ! ! • Identifier une problématique comme étant un problème de coloriage des arêtes d’un graphe fournit donc tout de suite une solution ! Nous nous contentons de la solution approchée ! ! ! Cours de graphes 9 - Intranet

  7. Le coloriage des arêtes----------------------------------------------------------------- • Dans les problèmes de coloriage des arêtes : • les sommets sont typiquement des ressources, • les arêtes des contraintes de disponibilité ! Cours de graphes 9 - Intranet

  8. Le coloriage des arêtes----------------------------------------------------------------- • Dans les problèmes de coloriage des arêtes : • les sommets sont typiquement des ressources, • les arêtes des contraintes de disponibilité ! • Le coloriage ordonnance les contraintes pour qu’elles soient compatibles au niveau des ressources ! Cours de graphes 9 - Intranet

  9. Le coloriage des arêtes----------------------------------------------------------------- • Dans les problèmes de coloriage des arêtes : • les sommets sont typiquement des ressources, • les arêtes des contraintes de disponibilité ! • Le coloriage ordonnance les contraintes pour qu’elles soient compatibles au niveau des ressources ! • Ce sont souvent des problèmes d’emploi du temps : • Horaires d’oraux entre profs et élèves. • Horaires d’affectation d’une salle de TP à des cours. Cours de graphes 9 - Intranet

  10. Le coloriage des arêtes----------------------------------------------------------------- • Souvent, nous avons des variantes plus compliquées du problème, comme par exemple : Certaines couleurs sont interdites pour certains sommets ! Cours de graphes 9 - Intranet

  11. Le coloriage des arêtes----------------------------------------------------------------- • Souvent, nous avons des variantes plus compliquées du problème, comme par exemple : • Ceci veut dire que toutes les ressources ne sont pas toujours disponibles ! Certaines couleurs sont interdites pour certains sommets ! Cours de graphes 9 - Intranet

  12. Le coloriage des arêtes----------------------------------------------------------------- • Souvent, nous avons des variantes plus compliquées du problème, comme par exemple : • Ceci veut dire que toutes les ressources ne sont pas toujours disponibles ! • Exemple : • des années d’études, • des salles, • des enseignants, avec leurs contraintes d’edt. Certaines couleurs sont interdites pour certains sommets ! Cours de graphes 9 - Intranet

  13. Applications-----------------------------------------------------------------Applications----------------------------------------------------------------- L E C O L O R I A G E D E S S O M M E T S Cours de graphes 9 - Intranet

  14. Le coloriage des sommets----------------------------------------------------------------- • Nous devons colorier les sommets de façon à ce que deux voisins quelconques n’aient pas la même couleur. • Nous essayons de minimiser le nombre de couleurs ! Cours de graphes 9 - Intranet

  15. Le coloriage des sommets----------------------------------------------------------------- • Nous devons colorier les sommets de façon à ce que deux voisins quelconques n’aient pas la même couleur. • Nous essayons de minimiser le nombre de couleurs ! • C’est un problème NP–complet et le nombre minimal de couleurs ne peut pas en général être encadré de manière précise ! Cours de graphes 9 - Intranet

  16. Le coloriage des sommets----------------------------------------------------------------- • Nous devons colorier les sommets de façon à ce que deux voisins quelconques n’aient pas la même couleur. • Nous essayons de minimiser le nombre de couleurs ! • C’est un problème NP–complet et le nombre minimal de couleurs ne peut pas en général être encadré de manière précise ! • Le coloriage des sommets est plus difficile que celui des arêtes . . . et a aussi plus d’applications ! ! ! Cours de graphes 9 - Intranet

  17. Le coloriage des sommets----------------------------------------------------------------- • Nous devons colorier les sommets de façon à ce que deux voisins quelconques n’aient pas la même couleur. • Nous essayons de minimiser le nombre de couleurs ! • C’est un problème NP–complet et le nombre minimal de couleurs ne peut pas en général être encadré de manière précise ! • Le coloriage des sommets est plus difficile que celui des arêtes . . . et a aussi plus d’applications ! ! ! • Souvent, on utilise des algorithmes polynômiaux qui donnent des solutions que l’on espère « pas trop mauvaises » ! ! ! Cours de graphes 9 - Intranet

  18. Le coloriage des sommets----------------------------------------------------------------- • Dans les problèmes de coloriage des sommets : • les sommets sont typiquement des entités, • les arêtes des incompatibilités entre entités ! Cours de graphes 9 - Intranet

  19. Le coloriage des sommets----------------------------------------------------------------- • Dans les problèmes de coloriage des sommets : • les sommets sont typiquement des entités, • les arêtes des incompatibilités entre entités ! • Le coloriage minimise une ressource critique, comme des nombres de salles, de fréquences, . . . ! Cours de graphes 9 - Intranet

  20. Le coloriage des sommets----------------------------------------------------------------- • Dans les problèmes de coloriage des sommets : • les sommets sont typiquement des entités, • les arêtes des incompatibilités entre entités ! • Le coloriage minimise une ressource critique, comme des nombres de salles, de fréquences, . . . ! • Ce sont souvent des problèmes de : • Distribution d’une ressource en pénurie. • Minimisation d’une ressource chère. Cours de graphes 9 - Intranet

  21. Le coloriage des sommets----------------------------------------------------------------- • Attribution de fréquences : Cours de graphes 9 - Intranet

  22. Le coloriage des sommets----------------------------------------------------------------- • Attribution de fréquences : • les émetteurs sont les sommets, • les arêtes représentent le fait que deux émetteurs ont une intersection non vide de couverture ! Cours de graphes 9 - Intranet

  23. Le coloriage des sommets----------------------------------------------------------------- • Attribution de fréquences : • les émetteurs sont les sommets, • les arêtes représentent le fait que deux émetteurs ont une intersection non vide de couverture ! • Le coloriage des sommets minimise le nombre de fréquences nécessaires pour couvrir tout le territoire ! Cours de graphes 9 - Intranet

  24. Le coloriage des sommets----------------------------------------------------------------- • Attribution de fréquences : • les émetteurs sont les sommets, • les arêtes représentent le fait que deux émetteurs ont une intersection non vide de couverture ! • Le coloriage des sommets minimise le nombre de fréquences nécessaires pour couvrir tout le territoire ! • Dans la pratique : • Les fréquences réelles sont partitionnées en paquets de fréquences. • Chaque paquet correspond à une couleur. Cours de graphes 9 - Intranet

  25. Le coloriage des sommets----------------------------------------------------------------- • Emploi du temps : Cours de graphes 9 - Intranet

  26. Le coloriage des sommets----------------------------------------------------------------- • Emploi du temps : • les cours sont les sommets, • les arêtes représentent l’incompatibilité entre cours du fait qu’il sont par exemple donnés par le même enseignant, se font dans la même salle . . . Cours de graphes 9 - Intranet

  27. Le coloriage des sommets----------------------------------------------------------------- • Emploi du temps : • les cours sont les sommets, • les arêtes représentent l’incompatibilité entre cours du fait qu’il sont par exemple donnés par le même enseignant, se font dans la même salle . . . • Le coloriage des sommets minimise le nombre de créneaux horaires nécessaires pour donner les cours ! Cours de graphes 9 - Intranet

  28. Le coloriage des sommets----------------------------------------------------------------- • Emploi du temps : • les cours sont les sommets, • les arêtes représentent l’incompatibilité entre cours du fait qu’il sont par exemple donnés par le même enseignant, se font dans la même salle . . . • Le coloriage des sommets minimise le nombre de créneaux horaires nécessaires pour donner les cours ! • Les questions d’emplois du temps peuvent être traduits en différents problèmes de coloriage ! Cours de graphes 9 - Intranet

  29. Le coloriage des sommets----------------------------------------------------------------- • Emploi du temps : • les cours sont les sommets, • les arêtes représentent l’incompatibilité entre cours du fait qu’il sont par exemple donnés par le même enseignant, se font dans la même salle . . . • Le coloriage des sommets minimise le nombre de créneaux horaires nécessaires pour donner les cours ! • Les questions d’emplois du temps peuvent être traduits en différents problèmes de coloriage ! • Nous pouvons d’ailleurs envisager de colorier aussi bien les sommets que les arêtes ! Cours de graphes 9 - Intranet

  30. Le coloriage des sommets----------------------------------------------------------------- • Variantes de coloriage : Cours de graphes 9 - Intranet

  31. Le coloriage des sommets----------------------------------------------------------------- • Variantes de coloriage : • Il y a le coloriage des sommets ! • Il y a le coloriage des arêtes ! Cours de graphes 9 - Intranet

  32. Le coloriage des sommets----------------------------------------------------------------- • Variantes de coloriage : • Il y a le coloriage des sommets ! • Il y a le coloriage des arêtes ! • Il y a le coloriage conjoint des sommets et arêtes ! Cours de graphes 9 - Intranet

  33. Le coloriage des sommets----------------------------------------------------------------- • Variantes de coloriage : • Il y a le coloriage des sommets ! • Il y a le coloriage des arêtes ! • Il y a le coloriage conjoint des sommets et arêtes ! • Comme le coloriage des sommets attribue une paire de couleurs à chaque arête, nous pouvons exiger que : Cours de graphes 9 - Intranet

  34. Le coloriage des sommets----------------------------------------------------------------- • Variantes de coloriage : • Il y a le coloriage des sommets ! • Il y a le coloriage des arêtes ! • Il y a le coloriage conjoint des sommets et arêtes ! • Comme le coloriage des sommets attribue une paire de couleurs à chaque arête, nous pouvons exiger que : • ce coloriage soit « harmonieux » au sens où il attribue à chaque arête une paire de couleurs différente, • ce coloriage soit « complet » au sens où chaque paire de couleurs est utilisée au moins une fois. Cours de graphes 9 - Intranet

  35. Le coloriage des sommets----------------------------------------------------------------- • Allocation de registres : Cours de graphes 9 - Intranet

  36. Le coloriage des sommets----------------------------------------------------------------- • Allocation de registres : • les variables d’un programme sont les sommets, • les arêtes représentent l’incompatibilité entre variables au sens où elles ne peuvent pas utiliser un même registre. Cours de graphes 9 - Intranet

  37. Le coloriage des sommets----------------------------------------------------------------- • Allocation de registres : • les variables d’un programme sont les sommets, • les arêtes représentent l’incompatibilité entre variables au sens où elles ne peuvent pas utiliser un même registre. • Le coloriage des sommets minimise le nombre de registres nécessaires pour gérer toutes les variables ! Cours de graphes 9 - Intranet

  38. Le coloriage des sommets----------------------------------------------------------------- • Allocation de registres : • les variables d’un programme sont les sommets, • les arêtes représentent l’incompatibilité entre variables au sens où elles ne peuvent pas utiliser un même registre. • Le coloriage des sommets minimise le nombre de registres nécessaires pour gérer toutes les variables ! • La gestion d’une valeur dans un registre est beaucoup plus rapide que la gestion en mémoire centrale ! Cours de graphes 9 - Intranet

  39. Le coloriage des sommets----------------------------------------------------------------- • Allocation de registres : • les variables d’un programme sont les sommets, • les arêtes représentent l’incompatibilité entre variables au sens où elles ne peuvent pas utiliser un même registre. • Le coloriage des sommets minimise le nombre de registres nécessaires pour gérer toutes les variables ! • La gestion d’une valeur dans un registre est beaucoup plus rapide que la gestion en mémoire centrale ! • Si nous n’avons pas assez de registres il faut faire un choix entre les variables ! C’est un autre problème . . . Cours de graphes 9 - Intranet

  40. Le coloriage des sommets----------------------------------------------------------------- • Deux variables sont compatibles si l’une cesse de servir avant que l’autre ne commence ! Cours de graphes 9 - Intranet

  41. Le coloriage des sommets----------------------------------------------------------------- • Deux variables sont compatibles si l’une cesse de servir avant que l’autre ne commence ! • Deux variables sont incompatibles si l’une a des usages avant et après un usage de l’autre variable ! Cours de graphes 9 - Intranet

  42. Le coloriage des sommets----------------------------------------------------------------- • Deux variables sont compatibles si l’une cesse de servir avant que l’autre ne commence ! • Deux variables sont incompatibles si l’une a des usages avant et après un usage de l’autre variable ! • Des variables peuvent utiliser un même registre si et seulement si elles sont compatibles ! Cours de graphes 9 - Intranet

  43. Le coloriage des sommets----------------------------------------------------------------- • Deux variables sont compatibles si l’une cesse de servir avant que l’autre ne commence ! • Deux variables sont incompatibles si l’une a des usages avant et après un usage de l’autre variable ! • Des variables peuvent utiliser un même registre si et seulement si elles sont compatibles ! • Exemple : { x := 5 ; y := 7 ; u := 2 * x ; t := 3 ; t := t + u + y ; } Cours de graphes 9 - Intranet

  44. Le coloriage des sommets----------------------------------------------------------------- • Deux variables sont compatibles si l’une cesse de servir avant que l’autre ne commence ! • Deux variables sont incompatibles si l’une a des usages avant et après un usage de l’autre variable ! • Des variables peuvent utiliser un même registre si et seulement si elles sont compatibles ! • Exemple : { x := 5 ; y := 7 ; u := 2 * x ; t := 3 ; t := t + u + y ; } x et y sont incompatibles ! Cours de graphes 9 - Intranet

  45. Le coloriage des sommets----------------------------------------------------------------- • Deux variables sont compatibles si l’une cesse de servir avant que l’autre ne commence ! • Deux variables sont incompatibles si l’une a des usages avant et après un usage de l’autre variable ! • Des variables peuvent utiliser un même registre si et seulement si elles sont compatibles ! • Exemple : { x := 5 ; y := 7 ; u := 2 * x ; t := 3 ; t := t + u + y ; } x et y sont incompatibles ! x est compatible avec u et t ! Cours de graphes 9 - Intranet

  46. Le coloriage des sommets----------------------------------------------------------------- • Deux variables sont compatibles si l’une cesse de servir avant que l’autre ne commence ! • Deux variables sont incompatibles si l’une a des usages avant et après un usage de l’autre variable ! • Des variables peuvent utiliser un même registre si et seulement si elles sont compatibles ! • Exemple : { x := 5 ; y := 7 ; u := 2 * x ; t := 3 ; t := t + u + y ; } x et y sont incompatibles ! x est compatible avec u et t ! y est incompatible avec u et t ! Cours de graphes 9 - Intranet

  47. Le coloriage des sommets----------------------------------------------------------------- • Deux variables sont compatibles si l’une cesse de servir avant que l’autre ne commence ! • Deux variables sont incompatibles si l’une a des usages avant et après un usage de l’autre variable ! • Des variables peuvent utiliser un même registre si et seulement si elles sont compatibles ! • Exemple : { x := 5 ; y := 7 ; u := 2 * x ; t := 3 ; t := t + u + y ; } x et y sont incompatibles ! x est compatible avec u et t ! y est incompatible avec u et t ! u et t sont incompatibles ! Cours de graphes 9 - Intranet

  48. Le coloriage des sommets----------------------------------------------------------------- • Deux variables sont compatibles si l’une cesse de servir avant que l’autre ne commence ! • Deux variables sont incompatibles si l’une a des usages avant et après un usage de l’autre variable ! • Des variables peuvent utiliser un même registre si et seulement si elles sont compatibles ! • Exemple : { x := 5 ; y := 7 ; u := 2 * x ; t := 3 ; t := t + u + y ; } x y u t Cours de graphes 9 - Intranet

  49. Le coloriage des sommets----------------------------------------------------------------- • Deux variables sont compatibles si l’une cesse de servir avant que l’autre ne commence ! • Deux variables sont incompatibles si l’une a des usages avant et après un usage de l’autre variable ! • Des variables peuvent utiliser un même registre si et seulement si elles sont compatibles ! • Exemple : { x := 5 ; y := 7 ; u := 2 * x ; t := 3 ; t := t + u + y ; } x y Il nous faut 3 registres ! u t Cours de graphes 9 - Intranet

  50. Le coloriage des sommets----------------------------------------------------------------- • Deux variables sont compatibles si l’une cesse de servir avant que l’autre ne commence ! • Deux variables sont incompatibles si l’une a des usages avant et après un usage de l’autre variable ! • Des variables peuvent utiliser un même registre si et seulement si elles sont compatibles ! • Exemple : { x := 5 ; y := 7 ; u := 2 * x ; t := 3 ; t := t + u + y ; } x y Il nous faut 3 registres ! Le registre bleu sert à x et à t ! u t Cours de graphes 9 - Intranet

More Related