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

30 mars 2007Cours de graphes 9 - Intranet1 Cours de graphes Quelques applications.

Présentations similaires


Présentation au sujet: "30 mars 2007Cours de graphes 9 - Intranet1 Cours de graphes Quelques applications."— Transcription de la présentation:

1 30 mars 2007Cours de graphes 9 - Intranet1 Cours de graphes Quelques applications.

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

3 30 mars 2007Cours de graphes 9 - Intranet3 Applications L E C O L O R I A G E D E S A R E T E S

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

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

6 30 mars 2007Cours de graphes 9 - Intranet6 Le coloriage des arêtes Minimiser les couleurs est un problème NP–complet !Minimiser les couleurs est un problème NP–complet ! Nous connaissons une solution polynômiale qui est optimale à une couleur près !Nous connaissons une solution polynômiale qui est optimale à une couleur près ! Lalgorithme de Vizing est donc fondamental ! ! !Lalgorithme de Vizing est donc fondamental ! ! ! Identifier une problématique comme étant un problème de coloriage des arêtes dun graphe fournit donc tout de suite une solution !Identifier une problématique comme étant un problème de coloriage des arêtes dun graphe fournit donc tout de suite une solution !

7 30 mars 2007Cours de graphes 9 - Intranet7 Le coloriage des arêtes Dans les problèmes de 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é !

8 30 mars 2007Cours de graphes 9 - Intranet8 Le coloriage des arêtes Dans les problèmes de 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 quelles soient compatibles au niveau des ressources !Le coloriage ordonnance les contraintes pour quelles soient compatibles au niveau des ressources !

9 30 mars 2007Cours de graphes 9 - Intranet9 Le coloriage des arêtes Dans les problèmes de 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 quelles soient compatibles au niveau des ressources !Le coloriage ordonnance les contraintes pour quelles soient compatibles au niveau des ressources ! Ce sont souvent des problèmes demploi du temps :Ce sont souvent des problèmes demploi du temps : –Horaires doraux entre profs et élèves. –Horaires daffectation dune salle de TP à des cours.

10 30 mars 2007Cours de graphes 9 - Intranet10 Le coloriage des arêtes Souvent, nous avons des variantes plus compliquées du problème, comme par exemple :Souvent, nous avons des variantes plus compliquées du problème, comme par exemple :

11 30 mars 2007Cours de graphes 9 - Intranet11 Le coloriage des arêtes Souvent, nous avons des variantes plus compliquées du problème, comme par exemple :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 !Ceci veut dire que toutes les ressources ne sont pas toujours disponibles !

12 30 mars 2007Cours de graphes 9 - Intranet12 Le coloriage des arêtes Souvent, nous avons des variantes plus compliquées du problème, comme par exemple :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 !Ceci veut dire que toutes les ressources ne sont pas toujours disponibles ! Exemple :Exemple : –des années détudes, –des salles, –des enseignants, avec leurs contraintes dedt.

13 30 mars 2007Cours de graphes 9 - Intranet13 Applications L E C O L O R I A G E D E S S O M M E T S

14 30 mars 2007Cours de graphes 9 - Intranet14 Le coloriage des sommets Nous devons colorier les sommets de façon à ce que deux voisins quelconques naient pas la même couleur.Nous devons colorier les sommets de façon à ce que deux voisins quelconques naient pas la même couleur. Nous essayons de minimiser le nombre de couleurs !Nous essayons de minimiser le nombre de couleurs !

15 30 mars 2007Cours de graphes 9 - Intranet15 Le coloriage des sommets Nous devons colorier les sommets de façon à ce que deux voisins quelconques naient pas la même couleur.Nous devons colorier les sommets de façon à ce que deux voisins quelconques naient pas la même couleur. Nous essayons de minimiser le nombre de couleurs !Nous essayons de minimiser le nombre de couleurs ! Cest 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 !Cest 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 !

16 30 mars 2007Cours de graphes 9 - Intranet16 Le coloriage des sommets Nous devons colorier les sommets de façon à ce que deux voisins quelconques naient pas la même couleur.Nous devons colorier les sommets de façon à ce que deux voisins quelconques naient pas la même couleur. Nous essayons de minimiser le nombre de couleurs !Nous essayons de minimiser le nombre de couleurs ! Cest 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 !Cest 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 dapplications ! ! !Le coloriage des sommets est plus difficile que celui des arêtes... et a aussi plus dapplications ! ! !

17 30 mars 2007Cours de graphes 9 - Intranet17 Le coloriage des sommets Nous devons colorier les sommets de façon à ce que deux voisins quelconques naient pas la même couleur.Nous devons colorier les sommets de façon à ce que deux voisins quelconques naient pas la même couleur. Nous essayons de minimiser le nombre de couleurs !Nous essayons de minimiser le nombre de couleurs ! Cest 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 !Cest 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 dapplications ! ! !Le coloriage des sommets est plus difficile que celui des arêtes... et a aussi plus dapplications ! ! ! Souvent, on utilise des algorithmes polynômiaux qui donnent des solutions que lon espère « pas trop mauvaises » ! ! !Souvent, on utilise des algorithmes polynômiaux qui donnent des solutions que lon espère « pas trop mauvaises » ! ! !

18 30 mars 2007Cours de graphes 9 - Intranet18 Le coloriage des sommets Dans les problèmes de 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 !

19 30 mars 2007Cours de graphes 9 - Intranet19 Le coloriage des sommets Dans les problèmes de 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,... !Le coloriage minimise une ressource critique, comme des nombres de salles, de fréquences,... !

20 30 mars 2007Cours de graphes 9 - Intranet20 Le coloriage des sommets Dans les problèmes de 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,... !Le coloriage minimise une ressource critique, comme des nombres de salles, de fréquences,... ! Ce sont souvent des problèmes de :Ce sont souvent des problèmes de : –Distribution dune ressource en pénurie. –Minimisation dune ressource chère.

21 30 mars 2007Cours de graphes 9 - Intranet21 Le coloriage des sommets Attribution de fréquences :Attribution de fréquences :

22 30 mars 2007Cours de graphes 9 - Intranet22 Le coloriage des sommets Attribution de fréquences :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 !

23 30 mars 2007Cours de graphes 9 - Intranet23 Le coloriage des sommets Attribution de fréquences :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 !Le coloriage des sommets minimise le nombre de fréquences nécessaires pour couvrir tout le territoire !

24 30 mars 2007Cours de graphes 9 - Intranet24 Le coloriage des sommets Attribution de fréquences :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 !Le coloriage des sommets minimise le nombre de fréquences nécessaires pour couvrir tout le territoire ! Dans la pratique :Dans la pratique : –Les fréquences réelles sont partitionnées en paquets de fréquences. –Chaque paquet correspond à une couleur.

25 30 mars 2007Cours de graphes 9 - Intranet25 Le coloriage des sommets Emploi du temps :Emploi du temps :

26 30 mars 2007Cours de graphes 9 - Intranet26 Le coloriage des sommets Emploi du temps :Emploi du temps : –les cours sont les sommets, –les arêtes représentent lincompatibilité entre cours du fait quil sont par exemple donnés par le même enseignant, se font dans la même salle...

27 30 mars 2007Cours de graphes 9 - Intranet27 Le coloriage des sommets Emploi du temps :Emploi du temps : –les cours sont les sommets, –les arêtes représentent lincompatibilité entre cours du fait quil 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 !Le coloriage des sommets minimise le nombre de créneaux horaires nécessaires pour donner les cours !

28 30 mars 2007Cours de graphes 9 - Intranet28 Le coloriage des sommets Emploi du temps :Emploi du temps : –les cours sont les sommets, –les arêtes représentent lincompatibilité entre cours du fait quil 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 !Le coloriage des sommets minimise le nombre de créneaux horaires nécessaires pour donner les cours ! Les questions demplois du temps peuvent être traduits en différents problèmes de coloriage !Les questions demplois du temps peuvent être traduits en différents problèmes de coloriage !

29 30 mars 2007Cours de graphes 9 - Intranet29 Le coloriage des sommets Emploi du temps :Emploi du temps : –les cours sont les sommets, –les arêtes représentent lincompatibilité entre cours du fait quil 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 !Le coloriage des sommets minimise le nombre de créneaux horaires nécessaires pour donner les cours ! Les questions demplois du temps peuvent être traduits en différents problèmes de coloriage !Les questions demplois du temps peuvent être traduits en différents problèmes de coloriage ! Nous pouvons dailleurs envisager de colorier aussi bien les sommets que les arêtes !Nous pouvons dailleurs envisager de colorier aussi bien les sommets que les arêtes !

30 30 mars 2007Cours de graphes 9 - Intranet30 Le coloriage des sommets Variantes de coloriage :Variantes de coloriage :

31 30 mars 2007Cours de graphes 9 - Intranet31 Le coloriage des sommets Variantes de coloriage :Variantes de coloriage : –Il y a le coloriage des sommets ! –Il y a le coloriage des arêtes !

32 30 mars 2007Cours de graphes 9 - Intranet32 Le coloriage des sommets Variantes de coloriage :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 !

33 30 mars 2007Cours de graphes 9 - Intranet33 Le coloriage des sommets Variantes de coloriage :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 :

34 30 mars 2007Cours de graphes 9 - Intranet34 Le coloriage des sommets Variantes de coloriage :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 « 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.ce coloriage soit « complet » au sens où chaque paire de couleurs est utilisée au moins une fois.

35 30 mars 2007Cours de graphes 9 - Intranet35 Le coloriage des sommets Allocation de registres :Allocation de registres :

36 30 mars 2007Cours de graphes 9 - Intranet36 Le coloriage des sommets Allocation de registres :Allocation de registres : –les variables dun programme sont les sommets, –les arêtes représentent lincompatibilité entre variables au sens où elles ne peuvent pas utiliser un même registre.

37 30 mars 2007Cours de graphes 9 - Intranet37 Le coloriage des sommets Allocation de registres :Allocation de registres : –les variables dun programme sont les sommets, –les arêtes représentent lincompatibilité 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 !Le coloriage des sommets minimise le nombre de registres nécessaires pour gérer toutes les variables !

38 30 mars 2007Cours de graphes 9 - Intranet38 Le coloriage des sommets Allocation de registres :Allocation de registres : –les variables dun programme sont les sommets, –les arêtes représentent lincompatibilité 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 !Le coloriage des sommets minimise le nombre de registres nécessaires pour gérer toutes les variables ! La gestion dune valeur dans un registre est beaucoup plus rapide que la gestion en mémoire centrale !La gestion dune valeur dans un registre est beaucoup plus rapide que la gestion en mémoire centrale !

39 30 mars 2007Cours de graphes 9 - Intranet39 Le coloriage des sommets Allocation de registres :Allocation de registres : –les variables dun programme sont les sommets, –les arêtes représentent lincompatibilité 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 !Le coloriage des sommets minimise le nombre de registres nécessaires pour gérer toutes les variables ! La gestion dune valeur dans un registre est beaucoup plus rapide que la gestion en mémoire centrale !La gestion dune valeur dans un registre est beaucoup plus rapide que la gestion en mémoire centrale ! Si nous navons pas assez de registres il faut faire un choix entre les variables ! Cest un autre problème...Si nous navons pas assez de registres il faut faire un choix entre les variables ! Cest un autre problème...

40 30 mars 2007Cours de graphes 9 - Intranet40 Le coloriage des sommets Deux variables sont compatibles si lune cesse de servir avant que lautre ne commence !Deux variables sont compatibles si lune cesse de servir avant que lautre ne commence !

41 30 mars 2007Cours de graphes 9 - Intranet41 Le coloriage des sommets Deux variables sont compatibles si lune cesse de servir avant que lautre ne commence !Deux variables sont compatibles si lune cesse de servir avant que lautre ne commence ! Deux variables sont incompatibles si lune a des usages avant et après un usage de lautre variable !Deux variables sont incompatibles si lune a des usages avant et après un usage de lautre variable !

42 30 mars 2007Cours de graphes 9 - Intranet42 Le coloriage des sommets Deux variables sont compatibles si lune cesse de servir avant que lautre ne commence !Deux variables sont compatibles si lune cesse de servir avant que lautre ne commence ! Deux variables sont incompatibles si lune a des usages avant et après un usage de lautre variable !Deux variables sont incompatibles si lune a des usages avant et après un usage de lautre variable ! Des variables peuvent utiliser un même registre si et seulement si elles sont compatibles !Des variables peuvent utiliser un même registre si et seulement si elles sont compatibles !

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

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

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

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

47 30 mars 2007Cours de graphes 9 - Intranet47 Le coloriage des sommets Deux variables sont compatibles si lune cesse de servir avant que lautre ne commence !Deux variables sont compatibles si lune cesse de servir avant que lautre ne commence ! Deux variables sont incompatibles si lune a des usages avant et après un usage de lautre variable !Deux variables sont incompatibles si lune a des usages avant et après un usage de lautre variable ! Des variables peuvent utiliser un même registre si et seulement si elles sont compatibles !Des variables peuvent utiliser un même registre si et seulement si elles sont compatibles ! Exemple :Exemple : { x := 5 ; y := 7 ; y := 7 ; u := 2 * x ; u := 2 * x ; t := 3 ; t := 3 ; t := t + u + y ; } 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 !

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

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

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

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

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

53 30 mars 2007Cours de graphes 9 - Intranet53 Le coloriage des sommets Coloriage de chemins dans un graphe :Coloriage de chemins dans un graphe :

54 30 mars 2007Cours de graphes 9 - Intranet54 Le coloriage des sommets Coloriage de chemins dans un graphe :Coloriage de chemins dans un graphe : Nous recevons un graphe et devons colorier un certain nombre de chemins qui sont donnés.Nous recevons un graphe et devons colorier un certain nombre de chemins qui sont donnés.

55 30 mars 2007Cours de graphes 9 - Intranet55 Le coloriage des sommets Coloriage de chemins dans un graphe :Coloriage de chemins dans un graphe : Nous recevons un graphe et devons colorier un certain nombre de chemins qui sont donnés.Nous recevons un graphe et devons colorier un certain nombre de chemins qui sont donnés. Deux chemins doivent avoir une couleur différente dès quils partagent une arête.Deux chemins doivent avoir une couleur différente dès quils partagent une arête.

56 30 mars 2007Cours de graphes 9 - Intranet56 Le coloriage des sommets Coloriage de chemins dans un graphe :Coloriage de chemins dans un graphe : Nous recevons un graphe et devons colorier un certain nombre de chemins qui sont donnés.Nous recevons un graphe et devons colorier un certain nombre de chemins qui sont donnés. Deux chemins doivent avoir une couleur différente dès quils partagent une arête.Deux chemins doivent avoir une couleur différente dès quils partagent une arête. Nous devons minimiser le nombre de couleurs !Nous devons minimiser le nombre de couleurs !

57 30 mars 2007Cours de graphes 9 - Intranet57 Le coloriage des sommets Coloriage de chemins dans un graphe :Coloriage de chemins dans un graphe : Nous recevons un graphe et devons colorier un certain nombre de chemins qui sont donnés.Nous recevons un graphe et devons colorier un certain nombre de chemins qui sont donnés. Deux chemins doivent avoir une couleur différente dès quils partagent une arête.Deux chemins doivent avoir une couleur différente dès quils partagent une arête. Nous devons minimiser le nombre de couleurs !Nous devons minimiser le nombre de couleurs ! Cest un problème de coloriage des sommets du graphe suivant :Cest un problème de coloriage des sommets du graphe suivant : –Chaque chemin est représenté par un sommet ! –Deux sommets sont reliés par une arête si les chemins quils représentent partagent des arêtes !

58 30 mars 2007Cours de graphes 9 - Intranet58 Applications C O U P L A G E S V E R T E X C O V E R E T A U T R E S

59 30 mars 2007Cours de graphes 9 - Intranet59 Couplages, vertex cover et autres Le couplage consiste à :Le couplage consiste à : –former le plus grand nombre de couples de sommets, –les arêtes représentant des adéquations entre les sommets.

60 30 mars 2007Cours de graphes 9 - Intranet60 Couplages, vertex cover et autres Le couplage consiste à :Le couplage consiste à : –former le plus grand nombre de couples de sommets, –les arêtes représentant des adéquations entre les sommets. Les applications sont bien-sûr nombreuses !Les applications sont bien-sûr nombreuses !

61 30 mars 2007Cours de graphes 9 - Intranet61 Couplages, vertex cover et autres Le couplage consiste à :Le couplage consiste à : –former le plus grand nombre de couples de sommets, –les arêtes représentant des adéquations entre les sommets. Les applications sont bien-sûr nombreuses !Les applications sont bien-sûr nombreuses ! Quelques exemples :Quelques exemples : –Couples de personne–tâche, candidat–poste,... –Couples de binômes en respectant les affinités.

62 30 mars 2007Cours de graphes 9 - Intranet62 Couplages, vertex cover et autres Le Vertex Cover consisteLe Vertex Cover consiste –à savoir si nous pouvons trouver un sous-ensemble de k sommets au plus tel que chaque arête touche un de ces sommets ?

63 30 mars 2007Cours de graphes 9 - Intranet63 Couplages, vertex cover et autres Le Vertex Cover consisteLe Vertex Cover consiste –à savoir si nous pouvons trouver un sous-ensemble de k sommets au plus tel que chaque arête touche un de ces sommets ? –ou à trouver le plus petit entier k pour lequel un tel ensemble existe !

64 30 mars 2007Cours de graphes 9 - Intranet64 Couplages, vertex cover et autres Le Vertex Cover consisteLe Vertex Cover consiste –à savoir si nous pouvons trouver un sous-ensemble de k sommets au plus tel que chaque arête touche un de ces sommets ? –ou à trouver le plus petit entier k pour lequel un tel ensemble existe ! Y a–t–il des applications réelles pour ce tel problème ?Y a–t–il des applications réelles pour ce tel problème ?

65 30 mars 2007Cours de graphes 9 - Intranet65 Couplages, vertex cover et autres Le Vertex Cover consisteLe Vertex Cover consiste –à savoir si nous pouvons trouver un sous-ensemble de k sommets au plus tel que chaque arête touche un de ces sommets ? –ou à trouver le plus petit entier k pour lequel un tel ensemble existe ! Y a–t–il des applications réelles pour ce tel problème ?Y a–t–il des applications réelles pour ce tel problème ? Pour un graphe de n sommets, le Vertex Cover avec la constante k est équivalent à savoir si Clique admet une solution de taille n–k ?Pour un graphe de n sommets, le Vertex Cover avec la constante k est équivalent à savoir si Clique admet une solution de taille n–k ?

66 30 mars 2007Cours de graphes 9 - Intranet66 Couplages, vertex cover et autres Le problème Independent Set ( STABLE en français ) :Le problème Independent Set ( STABLE en français ) : –Pouvons-nous trouver dans un graphe au moins k sommets qui ne sont pas voisins deux à deux ? ? ?

67 30 mars 2007Cours de graphes 9 - Intranet67 Couplages, vertex cover et autres Le problème Independent Set ( STABLE en français ) :Le problème Independent Set ( STABLE en français ) : –Pouvons-nous trouver dans un graphe au moins k sommets qui ne sont pas voisins deux à deux ? ? ? –Quelle est la plus grande valeur k pour laquelle nous pouvons trouver un stable ? ? ?

68 30 mars 2007Cours de graphes 9 - Intranet68 Couplages, vertex cover et autres Le problème Independent Set ( STABLE en français ) :Le problème Independent Set ( STABLE en français ) : –Pouvons-nous trouver dans un graphe au moins k sommets qui ne sont pas voisins deux à deux ? ? ? –Quelle est la plus grande valeur k pour laquelle nous pouvons trouver un stable ? ? ? Un graphe avec n sommets admet un stable de taille k si et seulement si son graphe complémentaire admet une clique de taille n–k ! ! !Un graphe avec n sommets admet un stable de taille k si et seulement si son graphe complémentaire admet une clique de taille n–k ! ! !

69 30 mars 2007Cours de graphes 9 - Intranet69 Couplages, vertex cover et autres Le problème Independent Set ( STABLE en français ) :Le problème Independent Set ( STABLE en français ) : –Pouvons-nous trouver dans un graphe au moins k sommets qui ne sont pas voisins deux à deux ? ? ? –Quelle est la plus grande valeur k pour laquelle nous pouvons trouver un stable ? ? ? Un graphe avec n sommets admet un stable de taille k si et seulement si son graphe complémentaire admet une clique de taille n–k ! ! !Un graphe avec n sommets admet un stable de taille k si et seulement si son graphe complémentaire admet une clique de taille n–k ! ! ! Comme il nexiste aucune arête entre deux sommets du stable, dans le graphe complémentaire toutes les arêtes vont exister, et donc former une clique !Comme il nexiste aucune arête entre deux sommets du stable, dans le graphe complémentaire toutes les arêtes vont exister, et donc former une clique !

70 30 mars 2007Cours de graphes 9 - Intranet70 Couplages, vertex cover et autres Vertex Cover, Clique et Independent Set sont en fait le même problème, vu sous des facettes différentes !Vertex Cover, Clique et Independent Set sont en fait le même problème, vu sous des facettes différentes !

71 30 mars 2007Cours de graphes 9 - Intranet71 Couplages, vertex cover et autres Vertex Cover, Clique et Independent Set sont en fait le même problème, vu sous des facettes différentes !Vertex Cover, Clique et Independent Set sont en fait le même problème, vu sous des facettes différentes ! Une application pour Independent Set :Une application pour Independent Set : –Soient des sommets qui représentent tous les emplacements potentiels de succursales dans une ville.

72 30 mars 2007Cours de graphes 9 - Intranet72 Couplages, vertex cover et autres Vertex Cover, Clique et Independent Set sont en fait le même problème, vu sous des facettes différentes !Vertex Cover, Clique et Independent Set sont en fait le même problème, vu sous des facettes différentes ! Une application pour Independent Set :Une application pour Independent Set : –Soient des sommets qui représentent tous les emplacements potentiels de succursales dans une ville. –Soient les arêtes qui représentent une concurrence trop forte ( et donc un mauvais investissement ) due à une trop grande proximité entre deux sites.

73 30 mars 2007Cours de graphes 9 - Intranet73 Couplages, vertex cover et autres Vertex Cover, Clique et Independent Set sont en fait le même problème, vu sous des facettes différentes !Vertex Cover, Clique et Independent Set sont en fait le même problème, vu sous des facettes différentes ! Une application pour Independent Set :Une application pour Independent Set : –Soient des sommets qui représentent tous les emplacements potentiels de succursales dans une ville. –Soient les arêtes qui représentent une concurrence trop forte ( et donc un mauvais investissement ) due à une trop grande proximité entre deux sites. Maximiser le stable revient à trouver la meilleure saturation de la ville avec des succursales, sans risquer une trop grande concurrence entre elles.Maximiser le stable revient à trouver la meilleure saturation de la ville avec des succursales, sans risquer une trop grande concurrence entre elles.

74 30 mars 2007Cours de graphes 9 - Intranet74 Couplages, vertex cover et autres Un exemple ayant 24 sommets :Un exemple ayant 24 sommets :

75 30 mars 2007Cours de graphes 9 - Intranet75 Couplages, vertex cover et autres Un exemple ayant 24 sommets :Un exemple ayant 24 sommets :

76 30 mars 2007Cours de graphes 9 - Intranet76 Couplages, vertex cover et autres Un exemple ayant 24 sommets :Un exemple ayant 24 sommets :

77 30 mars 2007Cours de graphes 9 - Intranet77 Applications D I G R E S S I O N : A L G O R I T H M E S D A P P R O X I M A T I O N

78 30 mars 2007Cours de graphes 9 - Intranet78 Algorithmes dapproximation Pour des raison pratiques,Pour des raison pratiques, –nous renonçons à la solution optimale, –pour avoir une solution en temps polynômial !

79 30 mars 2007Cours de graphes 9 - Intranet79 Algorithmes dapproximation Pour des raison pratiques,Pour des raison pratiques, –nous renonçons à la solution optimale, –pour avoir une solution en temps polynômial !

80 30 mars 2007Cours de graphes 9 - Intranet80 Algorithmes dapproximation Pour des raison pratiques,Pour des raison pratiques, –nous renonçons à la solution optimale, –pour avoir une solution en temps polynômial ! Ceci peut se faire à laide dheuristiques quelconques, qui noffrent aucune garantie de qualité !Ceci peut se faire à laide dheuristiques quelconques, qui noffrent aucune garantie de qualité !

81 30 mars 2007Cours de graphes 9 - Intranet81 Algorithmes dapproximation Pour des raison pratiques,Pour des raison pratiques, –nous renonçons à la solution optimale, –pour avoir une solution en temps polynômial ! Ceci peut se faire à laide dheuristiques quelconques, qui noffrent aucune garantie de qualité !Ceci peut se faire à laide dheuristiques quelconques, qui noffrent aucune garantie de qualité !

82 30 mars 2007Cours de graphes 9 - Intranet82 Algorithmes dapproximation Une heuristique quelconque est un programme quiUne heuristique quelconque est un programme qui –utilise un temps polynômial plus ou moins grand, –pour appliquer des arguments plus ou moins sophistiqués, –qui donnent une solution plus ou moins bonne, –sur une partie plus ou moins grande des instances du problème !

83 30 mars 2007Cours de graphes 9 - Intranet83 Algorithmes dapproximation Une heuristique quelconque est un programme quiUne heuristique quelconque est un programme qui –utilise un temps polynômial plus ou moins grand, –pour appliquer des arguments plus ou moins sophistiqués, –qui donnent une solution plus ou moins bonne, –sur une partie plus ou moins grande des instances du problème !

84 30 mars 2007Cours de graphes 9 - Intranet84 Algorithmes dapproximation Un algorithme dapproximation à un facteur près est un programme quiUn algorithme dapproximation à un facteur près est un programme qui

85 30 mars 2007Cours de graphes 9 - Intranet85 Algorithmes dapproximation Un algorithme dapproximation à un facteur près est un programme quiUn algorithme dapproximation à un facteur près est un programme qui –utilise un temps polynômial connu,

86 30 mars 2007Cours de graphes 9 - Intranet86 Algorithmes dapproximation Un algorithme dapproximation à un facteur près est un programme quiUn algorithme dapproximation à un facteur près est un programme qui –utilise un temps polynômial connu, –pour donner une solution optimale au facteur près

87 30 mars 2007Cours de graphes 9 - Intranet87 Algorithmes dapproximation Un algorithme dapproximation à un facteur près est un programme quiUn algorithme dapproximation à un facteur près est un programme qui –utilise un temps polynômial connu, –pour donner une solution optimale au facteur près –et ce quelle que soit linstance donnée du problème !

88 30 mars 2007Cours de graphes 9 - Intranet88 Algorithmes dapproximation Un algorithme dapproximation à un facteur près est un programme quiUn algorithme dapproximation à un facteur près est un programme qui –utilise un temps polynômial connu, –pour donner une solution optimale au facteur près –et ce quelle que soit linstance donnée du problème !

89 30 mars 2007Cours de graphes 9 - Intranet89 Algorithmes dapproximation Un algorithme dapproximation à un facteur près est un programme quiUn algorithme dapproximation à un facteur près est un programme qui –utilise un temps polynômial connu, –pour donner une solution optimale au facteur près –et ce quelle que soit linstance donnée du problème ! Si la meilleure solution ( inconnue ) vaut opt, alors nous sommes assurés dobtenir une solution sol telle queSi la meilleure solution ( inconnue ) vaut opt, alors nous sommes assurés dobtenir une solution sol telle que opt <= sol <= * opt

90 30 mars 2007Cours de graphes 9 - Intranet90 Algorithmes dapproximation Un algorithme dapproximation à un facteur près est un programme quiUn algorithme dapproximation à un facteur près est un programme qui –utilise un temps polynômial connu, –pour donner une solution optimale au facteur près –et ce quelle que soit linstance donnée du problème ! Si la meilleure solution ( inconnue ) vaut opt, alors nous sommes assurés dobtenir une solution sol telle queSi la meilleure solution ( inconnue ) vaut opt, alors nous sommes assurés dobtenir une solution sol telle que sol = * opt

91 30 mars 2007Cours de graphes 9 - Intranet91 Algorithmes dapproximation Pour le « Voyageur de Commerce euclidien » ( inégalité triangulaire ) nous avons construit une solution à un facteur 2 près !Pour le « Voyageur de Commerce euclidien » ( inégalité triangulaire ) nous avons construit une solution à un facteur 2 près !

92 30 mars 2007Cours de graphes 9 - Intranet92 Algorithmes dapproximation Pour le « Voyageur de Commerce euclidien » ( inégalité triangulaire ) nous avons construit une solution à un facteur 2 près !Pour le « Voyageur de Commerce euclidien » ( inégalité triangulaire ) nous avons construit une solution à un facteur 2 près ! Il sagissait deIl sagissait de –trouver un arbre de recouvrement minimal, –en doubler les arêtes pour en faire un circuit –et déviter de passer plusieurs fois par un sommet ( ce qui ne rallonge pas les distances ).

93 30 mars 2007Cours de graphes 9 - Intranet93 Algorithmes dapproximation Pour le « Voyageur de Commerce euclidien » ( inégalité triangulaire ) nous avons construit une solution à un facteur 2 près !Pour le « Voyageur de Commerce euclidien » ( inégalité triangulaire ) nous avons construit une solution à un facteur 2 près ! Il sagissait deIl sagissait de –trouver un arbre de recouvrement minimal, –en doubler les arêtes pour en faire un circuit –et déviter de passer plusieurs fois par un sommet ( ce qui ne rallonge pas les distances ). La complexité est en O ( | E | * log ( | E | ) ).La complexité est en O ( | E | * log ( | E | ) ).

94 30 mars 2007Cours de graphes 9 - Intranet94 Algorithmes dapproximation Théorème :Théorème : –Pour le problème « Independent Set » il nexiste pas dalgorithme polynômial qui donne une solution optimale à un facteur près, quel que soit, à moins que P ne soit égale à NP !

95 30 mars 2007Cours de graphes 9 - Intranet95 Algorithmes dapproximation Théorème :Théorème : –Pour le problème « Independent Set » il nexiste pas dalgorithme polynômial qui donne une solution optimale à un facteur près, quel que soit, à moins que P ne soit égale à NP ! Il y a des instances de Independent Set, tout comme de Vertex Cover et Clique, qui ne peuvent pas être approchées en temps polynômial à un facteur 2 ou 5 ou 1000 près ! ! !Il y a des instances de Independent Set, tout comme de Vertex Cover et Clique, qui ne peuvent pas être approchées en temps polynômial à un facteur 2 ou 5 ou 1000 près ! ! !

96 30 mars 2007Cours de graphes 9 - Intranet96 Algorithmes dapproximation Théorème :Théorème : –Pour le problème « Independent Set » il nexiste pas dalgorithme polynômial qui donne une solution optimale à un facteur près, quel que soit, à moins que P ne soit égale à NP ! Il y a des instances de Independent Set, tout comme de Vertex Cover et Clique, qui ne peuvent pas être approchées en temps polynômial à un facteur 2 ou 5 ou 1000 près ! ! !Il y a des instances de Independent Set, tout comme de Vertex Cover et Clique, qui ne peuvent pas être approchées en temps polynômial à un facteur 2 ou 5 ou 1000 près ! ! !

97 30 mars 2007Cours de graphes 9 - Intranet97 Algorithmes dapproximation Théorème :Théorème : –Pour le problème « Independent Set » il nexiste pas dalgorithme polynômial qui donne une solution optimale à un facteur près, quel que soit, à moins que P ne soit égale à NP ! Il y a des instances de Independent Set, tout comme de Vertex Cover et Clique, qui ne peuvent pas être approchées en temps polynômial à un facteur 2 ou 5 ou 1000 près ! ! !Il y a des instances de Independent Set, tout comme de Vertex Cover et Clique, qui ne peuvent pas être approchées en temps polynômial à un facteur 2 ou 5 ou 1000 près ! ! !

98 30 mars 2007Cours de graphes 9 - Intranet98 Algorithmes dapproximation Pour Independent Set, la complexité dépend du degré D ( G ) du graphe. Et, nous avons les résultats :Pour Independent Set, la complexité dépend du degré D ( G ) du graphe. Et, nous avons les résultats : –Pour D ( G ) = 3, nous ne pouvons pas approximer en temps polynômial à un facteur = 1,0005 près.

99 30 mars 2007Cours de graphes 9 - Intranet99 Algorithmes dapproximation Pour Independent Set, la complexité dépend du degré D ( G ) du graphe. Et, nous avons les résultats :Pour Independent Set, la complexité dépend du degré D ( G ) du graphe. Et, nous avons les résultats : –Pour D ( G ) = 3, nous ne pouvons pas approximer en temps polynômial à un facteur = 1,0005 près. –Pour D ( G ) = 4, nous ne pouvons pas approximer en temps polynômial à un facteur = 1,0018 près. –Pour D ( G ) = 5, nous ne pouvons pas approximer en temps polynômial à un facteur = 1,003 près.

100 30 mars 2007Cours de graphes 9 - Intranet100 Algorithmes dapproximation Pour Independent Set, la complexité dépend du degré D ( G ) du graphe. Et, nous avons les résultats :Pour Independent Set, la complexité dépend du degré D ( G ) du graphe. Et, nous avons les résultats : –Pour D ( G ) = 3, nous ne pouvons pas approximer en temps polynômial à un facteur = 1,0005 près. –Pour D ( G ) = 4, nous ne pouvons pas approximer en temps polynômial à un facteur = 1,0018 près. –Pour D ( G ) = 5, nous ne pouvons pas approximer en temps polynômial à un facteur = 1,003 près. –Pour petit, nous ne pouvons pas approximer en temps polynômial à un facteur = D ( G ) ^ près.

101 30 mars 2007Cours de graphes 9 - Intranet101 Algorithmes dapproximation Pour Independent Set, la complexité dépend du degréPour Independent Set, la complexité dépend du degré D ( G ) du graphe. Et nous avons les résultats :D ( G ) du graphe. Et nous avons les résultats : –Nous pouvons approximer en temps polynômial à un facteur = ( D ( G ) + 3 ) / 5 près.

102 30 mars 2007Cours de graphes 9 - Intranet102 Algorithmes dapproximation Pour Independent Set, la complexité dépend du degréPour Independent Set, la complexité dépend du degré D ( G ) du graphe. Et nous avons les résultats :D ( G ) du graphe. Et nous avons les résultats : –Nous pouvons approximer en temps polynômial à un facteur = ( D ( G ) + 3 ) / 5 près. –Nous pouvons approximer en temps polynômial à = ( D ( G ) * log log D ( G ) ) / log D ( G ) près.

103 30 mars 2007Cours de graphes 9 - Intranet103 Algorithmes dapproximation Pour Independent Set, la complexité dépend du degréPour Independent Set, la complexité dépend du degré D ( G ) du graphe. Et nous avons les résultats :D ( G ) du graphe. Et nous avons les résultats : –Nous pouvons approximer en temps polynômial à un facteur = ( D ( G ) + 3 ) / 5 près. –Nous pouvons approximer en temps polynômial à = ( D ( G ) * log log D ( G ) ) / log D ( G ) près. –Pour D ( G ) grand, la seconde formule est meilleure.

104 30 mars 2007Cours de graphes 9 - Intranet104 Algorithmes dapproximation Pour Independent Set, la complexité dépend du degréPour Independent Set, la complexité dépend du degré D ( G ) du graphe. Et nous avons les résultats :D ( G ) du graphe. Et nous avons les résultats : –Nous pouvons approximer en temps polynômial à un facteur = ( D ( G ) + 3 ) / 5 près. –Nous pouvons approximer en temps polynômial à = ( D ( G ) * log log D ( G ) ) / log D ( G ) près. –Pour D ( G ) grand, la seconde formule est meilleure.

105 30 mars 2007Cours de graphes 9 - Intranet105 Applications V A R I A N T E S D E P R O B L E M E S D E F L O T

106 30 mars 2007Cours de graphes 9 - Intranet106 Variantes de problèmes de flot Le problème de flot tel que nous lavons regardé est en fait la variante la plus simple de toute une famille de problèmes de flot !Le problème de flot tel que nous lavons regardé est en fait la variante la plus simple de toute une famille de problèmes de flot !

107 30 mars 2007Cours de graphes 9 - Intranet107 Variantes de problèmes de flot Le problème de flot tel que nous lavons regardé est en fait la variante la plus simple de toute une famille de problèmes de flot !Le problème de flot tel que nous lavons regardé est en fait la variante la plus simple de toute une famille de problèmes de flot ! Lextension la plus simple consiste à introduire plusieurs sources et plusieurs puits !Lextension la plus simple consiste à introduire plusieurs sources et plusieurs puits !

108 30 mars 2007Cours de graphes 9 - Intranet108 Variantes de problèmes de flot Le problème de flot tel que nous lavons regardé est en fait la variante la plus simple de toute une famille de problèmes de flot !Le problème de flot tel que nous lavons regardé est en fait la variante la plus simple de toute une famille de problèmes de flot ! Lextension la plus simple consiste à introduire plusieurs sources et plusieurs puits !Lextension la plus simple consiste à introduire plusieurs sources et plusieurs puits ! Elle ne change rien à la problématique, car il suffit de rajouter une « super-source » et un « super- puits » pour se ramaner à la situation de départ.Elle ne change rien à la problématique, car il suffit de rajouter une « super-source » et un « super- puits » pour se ramaner à la situation de départ.

109 30 mars 2007Cours de graphes 9 - Intranet109 Variantes de problèmes de flot Le problème de flot tel que nous lavons regardé est en fait la variante la plus simple de toute une famille de problèmes de flot !Le problème de flot tel que nous lavons regardé est en fait la variante la plus simple de toute une famille de problèmes de flot ! Lextension la plus simple consiste à introduire plusieurs sources et plusieurs puits !Lextension la plus simple consiste à introduire plusieurs sources et plusieurs puits ! Elle ne change rien à la problématique, car il suffit de rajouter une « super-source » et un « super- puits » pour se ramaner à la situation de départ.Elle ne change rien à la problématique, car il suffit de rajouter une « super-source » et un « super- puits » pour se ramaner à la situation de départ. Cest différent lorsque chaque source produit une couleur différente, destinée au puits correspondant.Cest différent lorsque chaque source produit une couleur différente, destinée au puits correspondant.

110 30 mars 2007Cours de graphes 9 - Intranet110 Variantes de problèmes de flot Multi-commodity Flow Problem !Multi-commodity Flow Problem ! –Nous avons n sources et n puits. Chaque source produit une couleur différente, destinée au puits qui lui correspond. La demande est d. i

111 30 mars 2007Cours de graphes 9 - Intranet111 Variantes de problèmes de flot Multi-commodity Flow Problem !Multi-commodity Flow Problem ! –Nous avons n sources et n puits. Chaque source produit une couleur différente, destinée au puits qui lui correspond. La demande est d. –Respect des capacités : i f ( u, v ) <= c ( u, v ) f ( u, v ) <= c ( u, v ) i i

112 30 mars 2007Cours de graphes 9 - Intranet112 Variantes de problèmes de flot Multi-commodity Flow Problem !Multi-commodity Flow Problem ! –Nous avons n sources et n puits. Chaque source produit une couleur différente, destinée au puits qui lui correspond. La demande est d. –Respect des capacités : –Conservation, pas de mélange : pas de mélange : i f ( u, v ) <= c ( u, v ) f ( u, v ) <= c ( u, v ) i i f ( u, v ) = 0 si u = s, p f ( u, v ) = 0 si u = s, p iii / v

113 30 mars 2007Cours de graphes 9 - Intranet113 Variantes de problèmes de flot Multi-commodity Flow Problem !Multi-commodity Flow Problem ! –Nous avons n sources et n puits. Chaque source produit une couleur différente, destinée au puits qui lui correspond. La demande est d. –Respect des capacités : –Conservation, pas de mélange : pas de mélange : –Respect des demandes : i f ( u, v ) <= c ( u, v ) f ( u, v ) <= c ( u, v ) i i f ( u, v ) = 0 si u = s, p f ( u, v ) = 0 si u = s, p iii / v f ( s, v ) = f ( v, p ) = d f ( s, v ) = f ( v, p ) = d iiiii vv

114 30 mars 2007Cours de graphes 9 - Intranet114 Variantes de problèmes de flot Complexité du Multi-commodity Flow Problem :Complexité du Multi-commodity Flow Problem : –Si les flots sont des entiers, le problème de décision sous-jacent est NP–complet déjà pour deux sources et puits. –Le problème est par contre polynômial si les flots sont des réels ! ! !

115 30 mars 2007Cours de graphes 9 - Intranet115 Variantes de problèmes de flot Complexité du Multi-commodity Flow Problem :Complexité du Multi-commodity Flow Problem : –Si les flots sont des entiers, le problème de décision sous-jacent est NP–complet déjà pour deux sources et puits. –Le problème est par contre polynômial si les flots sont des réels ! ! ! Analogie :Analogie : –La programmation linéaire en nombres entiers est NP–complète ! –La programmation linéaire dans un univers continu est polynômiale !

116 30 mars 2007Cours de graphes 9 - Intranet116 Variantes de problèmes de flot Minimum Cost Flow Problem !Minimum Cost Flow Problem ! –Cest un problème de flot mono-source et puits. –A chaque arc ( u, v ) nous associons un coût a ( u, v ) !

117 30 mars 2007Cours de graphes 9 - Intranet117 Variantes de problèmes de flot Minimum Cost Flow Problem !Minimum Cost Flow Problem ! –Cest un problème de flot mono-source et puits. –A chaque arc ( u, v ) nous associons un coût a ( u, v ) ! Lobjectif est de minimiser le coût total dun flot de valeur d donné :Lobjectif est de minimiser le coût total dun flot de valeur d donné : f ( s, v ) = d f ( s, v ) = d v

118 30 mars 2007Cours de graphes 9 - Intranet118 Variantes de problèmes de flot Minimum Cost Flow Problem !Minimum Cost Flow Problem ! –Cest un problème de flot mono-source et puits. –A chaque arc ( u, v ) nous associons un coût a ( u, v ) ! Lobjectif est de minimiser le coût total dun flot de valeur d donné :Lobjectif est de minimiser le coût total dun flot de valeur d donné : f ( s, v ) = d f ( s, v ) = d v Minimiser : a ( u, v ) * f ( u, v ) u, v

119 30 mars 2007Cours de graphes 9 - Intranet119 Variantes de problèmes de flot Minimum Cost Max Flow Problem !Minimum Cost Max Flow Problem ! –Cest un problème de flot mono-source et puits. –A chaque arc ( u, v ) nous associons un coût a ( u, v ) !

120 30 mars 2007Cours de graphes 9 - Intranet120 Variantes de problèmes de flot Minimum Cost Max Flow Problem !Minimum Cost Max Flow Problem ! –Cest un problème de flot mono-source et puits. –A chaque arc ( u, v ) nous associons un coût a ( u, v ) ! Lobjectif est de minimiser le coût total du meilleur flot qui peut être atteint :Lobjectif est de minimiser le coût total du meilleur flot qui peut être atteint : Maximiser : f ( s, v ) v tout en minimisant : a ( u, v ) * f ( u, v ) u, v

121 30 mars 2007Cours de graphes 9 - Intranet121 Variantes de problèmes de flot Résolution du Minimum Cost Max Flow Problem :Résolution du Minimum Cost Max Flow Problem : Le problème est simple, car il suffit dadapter le principe de Ford & Fulkerson.Le problème est simple, car il suffit dadapter le principe de Ford & Fulkerson.

122 30 mars 2007Cours de graphes 9 - Intranet122 Variantes de problèmes de flot Résolution du Minimum Cost Max Flow Problem :Résolution du Minimum Cost Max Flow Problem : Le problème est simple, car il suffit dadapter le principe de Ford & Fulkerson.Le problème est simple, car il suffit dadapter le principe de Ford & Fulkerson. Nous allons chercher le chemin augmentant dont le coût total est le plus faible. Le poids de ce chemin correspond au coût unitaire du flot !Nous allons chercher le chemin augmentant dont le coût total est le plus faible. Le poids de ce chemin correspond au coût unitaire du flot !

123 30 mars 2007Cours de graphes 9 - Intranet123 Variantes de problèmes de flot Résolution du Minimum Cost Max Flow Problem :Résolution du Minimum Cost Max Flow Problem : Le problème est simple, car il suffit dadapter le principe de Ford & Fulkerson.Le problème est simple, car il suffit dadapter le principe de Ford & Fulkerson. Nous allons chercher le chemin augmentant dont le coût total est le plus faible. Le poids de ce chemin correspond au coût unitaire du flot !Nous allons chercher le chemin augmentant dont le coût total est le plus faible. Le poids de ce chemin correspond au coût unitaire du flot ! Cest lalgorithme de Dijkstra !Cest lalgorithme de Dijkstra !

124 30 mars 2007Cours de graphes 9 - Intranet124 Variantes de problèmes de flot Résolution du Minimum Cost Max Flow Problem :Résolution du Minimum Cost Max Flow Problem : Le problème est simple, car il suffit dadapter le principe de Ford & Fulkerson.Le problème est simple, car il suffit dadapter le principe de Ford & Fulkerson. Nous allons chercher le chemin augmentant dont le coût total est le plus faible. Le poids de ce chemin correspond au coût unitaire du flot !Nous allons chercher le chemin augmentant dont le coût total est le plus faible. Le poids de ce chemin correspond au coût unitaire du flot ! Cest lalgorithme de Dijkstra !Cest lalgorithme de Dijkstra ! La complexité est la même que pour la version sans les coûts, car nous avons la même complexité pour la vague et Dijkstra ! ! !La complexité est la même que pour la version sans les coûts, car nous avons la même complexité pour la vague et Dijkstra ! ! !

125 30 mars 2007Cours de graphes 9 - Intranet125 Variantes de problèmes de flot Circulation Problem, le problème le plus général ! ! !Circulation Problem, le problème le plus général ! ! ! Le puits est relié à la source et ils doivent aussi conserver le flot, doù le nom de circulation !Le puits est relié à la source et ils doivent aussi conserver le flot, doù le nom de circulation !

126 30 mars 2007Cours de graphes 9 - Intranet126 Variantes de problèmes de flot Circulation Problem, le problème le plus général ! ! !Circulation Problem, le problème le plus général ! ! ! Le puits est relié à la source et ils doivent aussi conserver le flot, doù le nom de circulation !Le puits est relié à la source et ils doivent aussi conserver le flot, doù le nom de circulation ! En plus de la capacité maximale c ( u, v ), nous associons à larc ( u, v ) une capacité minimale notée l ( u, v ) !En plus de la capacité maximale c ( u, v ), nous associons à larc ( u, v ) une capacité minimale notée l ( u, v ) !

127 30 mars 2007Cours de graphes 9 - Intranet127 Variantes de problèmes de flot Circulation Problem, le problème le plus général ! ! !Circulation Problem, le problème le plus général ! ! ! Le puits est relié à la source et ils doivent aussi conserver le flot, doù le nom de circulation !Le puits est relié à la source et ils doivent aussi conserver le flot, doù le nom de circulation ! En plus de la capacité maximale c ( u, v ), nous associons à larc ( u, v ) une capacité minimale notée l ( u, v ) !En plus de la capacité maximale c ( u, v ), nous associons à larc ( u, v ) une capacité minimale notée l ( u, v ) ! Pour un flot d donné, il sagit de trouver une circulation :Pour un flot d donné, il sagit de trouver une circulation : f ( p, s ) = d

128 30 mars 2007Cours de graphes 9 - Intranet128 Variantes de problèmes de flot Circulation Problem, le problème le plus général ! ! !Circulation Problem, le problème le plus général ! ! ! Le puits est relié à la source et ils doivent aussi conserver le flot, doù le nom de circulation !Le puits est relié à la source et ils doivent aussi conserver le flot, doù le nom de circulation ! En plus de la capacité maximale c ( u, v ), nous associons à larc ( u, v ) une capacité minimale notée l ( u, v ) !En plus de la capacité maximale c ( u, v ), nous associons à larc ( u, v ) une capacité minimale notée l ( u, v ) ! Pour un flot d donné, il sagit de trouver une circulation :Pour un flot d donné, il sagit de trouver une circulation : l ( u, v ) <= f ( u, v ) <= c ( u, v ) f ( p, s ) = d

129 30 mars 2007Cours de graphes 9 - Intranet129 Variantes de problèmes de flot Circulation Problem, le problème le plus général ! ! !Circulation Problem, le problème le plus général ! ! ! Le puits est relié à la source et ils doivent aussi conserver le flot, doù le nom de circulation !Le puits est relié à la source et ils doivent aussi conserver le flot, doù le nom de circulation ! En plus de la capacité maximale c ( u, v ), nous associons à larc ( u, v ) une capacité minimale notée l ( u, v ) !En plus de la capacité maximale c ( u, v ), nous associons à larc ( u, v ) une capacité minimale notée l ( u, v ) ! Pour un flot d donné, il sagit de trouver une circulation :Pour un flot d donné, il sagit de trouver une circulation : l ( u, v ) <= f ( u, v ) <= c ( u, v ) f ( u, v ) = 0 f ( u, v ) = 0 v f ( p, s ) = d

130 30 mars 2007Cours de graphes 9 - Intranet130 Variantes de problèmes de flot Circulation Problem, le problème le plus général ! ! !Circulation Problem, le problème le plus général ! ! ! Le puits est relié à la source et ils doivent aussi conserver le flot, doù le nom de circulation !Le puits est relié à la source et ils doivent aussi conserver le flot, doù le nom de circulation ! En plus de la capacité maximale c ( u, v ), nous associons à larc ( u, v ) une capacité minimale notée l ( u, v ) !En plus de la capacité maximale c ( u, v ), nous associons à larc ( u, v ) une capacité minimale notée l ( u, v ) ! Pour un flot d donné, il sagit de trouver une circulation :Pour un flot d donné, il sagit de trouver une circulation : l ( u, v ) <= f ( u, v ) <= c ( u, v ) f ( u, v ) = 0 f ( u, v ) = 0 v f ( p, s ) = d

131 30 mars 2007Cours de graphes 9 - Intranet131 Variantes de problèmes de flot Tout est polynômial sauf le multi-commodity en nombres entiers !Tout est polynômial sauf le multi-commodity en nombres entiers !

132 30 mars 2007Cours de graphes 9 - Intranet132 Variantes de problèmes de flot Tout est polynômial sauf le multi-commodity en nombres entiers !Tout est polynômial sauf le multi-commodity en nombres entiers ! Nous pouvons limiter le nombre de sources à unité.Nous pouvons limiter le nombre de sources à unité.

133 30 mars 2007Cours de graphes 9 - Intranet133 Variantes de problèmes de flot Tout est polynômial sauf le multi-commodity en nombres entiers !Tout est polynômial sauf le multi-commodity en nombres entiers ! Nous pouvons limiter le nombre de sources à unité.Nous pouvons limiter le nombre de sources à unité. En supprimant les bornes inférieures l ( u, v ), nous revenons à un classique problème de flot !En supprimant les bornes inférieures l ( u, v ), nous revenons à un classique problème de flot !

134 30 mars 2007Cours de graphes 9 - Intranet134 Variantes de problèmes de flot Tout est polynômial sauf le multi-commodity en nombres entiers !Tout est polynômial sauf le multi-commodity en nombres entiers ! Nous pouvons limiter le nombre de sources à unité.Nous pouvons limiter le nombre de sources à unité. En supprimant les bornes inférieures l ( u, v ), nous revenons à un classique problème de flot !En supprimant les bornes inférieures l ( u, v ), nous revenons à un classique problème de flot ! En annulant les coûts, nous obtenons un simple problème de flot sans coûts !En annulant les coûts, nous obtenons un simple problème de flot sans coûts !

135 30 mars 2007Cours de graphes 9 - Intranet135 Variantes de problèmes de flot Tout est polynômial sauf le multi-commodity en nombres entiers !Tout est polynômial sauf le multi-commodity en nombres entiers ! Nous pouvons limiter le nombre de sources à unité.Nous pouvons limiter le nombre de sources à unité. En supprimant les bornes inférieures l ( u, v ), nous revenons à un classique problème de flot !En supprimant les bornes inférieures l ( u, v ), nous revenons à un classique problème de flot ! En annulant les coûts, nous obtenons un simple problème de flot sans coûts !En annulant les coûts, nous obtenons un simple problème de flot sans coûts ! En portant la capacité de larc ( p, s ) à infini, nous obtenons un problème de maximisation !En portant la capacité de larc ( p, s ) à infini, nous obtenons un problème de maximisation !

136 30 mars 2007Cours de graphes 9 - Intranet136 Variantes de problèmes de flot Le problème daffectation !Le problème daffectation ! Il sagit de trouver un couplage maximal, de poids minimal dans un graphe bi-parti valué !Il sagit de trouver un couplage maximal, de poids minimal dans un graphe bi-parti valué !

137 30 mars 2007Cours de graphes 9 - Intranet137 Variantes de problèmes de flot Le problème daffectation !Le problème daffectation ! Il sagit de trouver un couplage maximal, de poids minimal dans un graphe bi-parti valué !Il sagit de trouver un couplage maximal, de poids minimal dans un graphe bi-parti valué ! Nous avons, par exemple, des personnes et des tâches, ainsi que des coûts de personne–tâche !Nous avons, par exemple, des personnes et des tâches, ainsi que des coûts de personne–tâche !

138 30 mars 2007Cours de graphes 9 - Intranet138 Variantes de problèmes de flot Le problème daffectation !Le problème daffectation ! Il sagit de trouver un couplage maximal, de poids minimal dans un graphe bi-parti valué !Il sagit de trouver un couplage maximal, de poids minimal dans un graphe bi-parti valué ! Nous avons, par exemple, des personnes et des tâches, ainsi que des coûts de personne–tâche !Nous avons, par exemple, des personnes et des tâches, ainsi que des coûts de personne–tâche ! Il sagit de trouver une bijection entre les personnes et les tâches qui minimise la somme des coûts !Il sagit de trouver une bijection entre les personnes et les tâches qui minimise la somme des coûts !

139 30 mars 2007Cours de graphes 9 - Intranet139 Variantes de problèmes de flot Le problème daffectation !Le problème daffectation ! Il sagit de trouver un couplage maximal, de poids minimal dans un graphe bi-parti valué !Il sagit de trouver un couplage maximal, de poids minimal dans un graphe bi-parti valué ! Nous avons, par exemple, des personnes et des tâches, ainsi que des coûts de personne–tâche !Nous avons, par exemple, des personnes et des tâches, ainsi que des coûts de personne–tâche ! Il sagit de trouver une bijection entre les personnes et les tâches qui minimise la somme des coûts !Il sagit de trouver une bijection entre les personnes et les tâches qui minimise la somme des coûts ! Si le couplage maximal et de poids minimal est NP–complet sur un graphe pondéré quelconque, il est cependant polynômial sur un graphe bi-parti !Si le couplage maximal et de poids minimal est NP–complet sur un graphe pondéré quelconque, il est cependant polynômial sur un graphe bi-parti !

140 30 mars 2007Cours de graphes 9 - Intranet140 Variantes de problèmes de flot Le problème daffectation est un cas particulier du « problème de transport » !Le problème daffectation est un cas particulier du « problème de transport » !

141 30 mars 2007Cours de graphes 9 - Intranet141 Variantes de problèmes de flot Le problème daffectation est un cas particulier du « problème de transport » !Le problème daffectation est un cas particulier du « problème de transport » ! Dans le problème de transport, nous avons un nombre m de mines et un nombre u dusines, ainsi que des coûts de transport connus dune mine vers une usine !Dans le problème de transport, nous avons un nombre m de mines et un nombre u dusines, ainsi que des coûts de transport connus dune mine vers une usine !

142 30 mars 2007Cours de graphes 9 - Intranet142 Variantes de problèmes de flot Le problème daffectation est un cas particulier du « problème de transport » !Le problème daffectation est un cas particulier du « problème de transport » ! Dans le problème de transport, nous avons un nombre m de mines et un nombre u dusines, ainsi que des coûts de transport connus dune mine vers une usine !Dans le problème de transport, nous avons un nombre m de mines et un nombre u dusines, ainsi que des coûts de transport connus dune mine vers une usine ! Chaque mine ne livre quune seule usine et chaque usine ne se fournit quauprès dune mine.Chaque mine ne livre quune seule usine et chaque usine ne se fournit quauprès dune mine.

143 30 mars 2007Cours de graphes 9 - Intranet143 Variantes de problèmes de flot Le problème daffectation est un cas particulier du « problème de transport » !Le problème daffectation est un cas particulier du « problème de transport » ! Dans le problème de transport, nous avons un nombre m de mines et un nombre u dusines, ainsi que des coûts de transport connus dune mine vers une usine !Dans le problème de transport, nous avons un nombre m de mines et un nombre u dusines, ainsi que des coûts de transport connus dune mine vers une usine ! Chaque mine ne livre quune seule usine et chaque usine ne se fournit quauprès dune mine.Chaque mine ne livre quune seule usine et chaque usine ne se fournit quauprès dune mine. Il sagit de trouver la correspondance qui minimise la somme des coûts !Il sagit de trouver la correspondance qui minimise la somme des coûts !

144 30 mars 2007Cours de graphes 9 - Intranet144 Variantes de problèmes de flot Le « problème de transport » est un cas particulier du « problème de flot avec coûts » !Le « problème de transport » est un cas particulier du « problème de flot avec coûts » !

145 30 mars 2007Cours de graphes 9 - Intranet145 Variantes de problèmes de flot Le « problème de transport » est un cas particulier du « problème de flot avec coûts » !Le « problème de transport » est un cas particulier du « problème de flot avec coûts » ! En effet, il suffit de rajouter une « super-mine » en amont des mines et une « super-usine » en aval des usines et de bien choisir les capacités et coûts !En effet, il suffit de rajouter une « super-mine » en amont des mines et une « super-usine » en aval des usines et de bien choisir les capacités et coûts !

146 30 mars 2007Cours de graphes 9 - Intranet146 Variantes de problèmes de flot Le « problème de transport » est un cas particulier du « problème de flot avec coûts » !Le « problème de transport » est un cas particulier du « problème de flot avec coûts » ! En effet, il suffit de rajouter une « super-mine » en amont des mines et une « super-usine » en aval des usines et de bien choisir les capacités et coûts !En effet, il suffit de rajouter une « super-mine » en amont des mines et une « super-usine » en aval des usines et de bien choisir les capacités et coûts !

147 30 mars 2007Cours de graphes 9 - Intranet147 Variantes de problèmes de flot Le « problème de transport » est un cas particulier du « problème de flot avec coûts » !Le « problème de transport » est un cas particulier du « problème de flot avec coûts » ! En effet, il suffit de rajouter une « super-mine » en amont des mines et une « super-usine » en aval des usines et de bien choisir les capacités et coûts !En effet, il suffit de rajouter une « super-mine » en amont des mines et une « super-usine » en aval des usines et de bien choisir les capacités et coûts ! Nous pouvons en fait trouver un petit nombre de problèmes qui englobe une bonne partie des problèmes que lon peut rencontrer usuellement !Nous pouvons en fait trouver un petit nombre de problèmes qui englobe une bonne partie des problèmes que lon peut rencontrer usuellement !

148 30 mars 2007Cours de graphes 9 - Intranet148 Applications C H E M I N S D E U L E R E T D E H A M I L T O N

149 30 mars 2007Cours de graphes 9 - Intranet149 Chemins dEuler et de Hamilton Il peut y avoir des applications surprenantes pour les chemins dEuler !Il peut y avoir des applications surprenantes pour les chemins dEuler !

150 30 mars 2007Cours de graphes 9 - Intranet150 Il peut y avoir des applications surprenantes pour les chemins dEuler !Il peut y avoir des applications surprenantes pour les chemins dEuler ! Ainsi, des problèmes dalignements locaux de séquences de DNA ont pu être ramenées à des problèmes de chemins dEuler, en utilisant des graphes de De Bruijn !Ainsi, des problèmes dalignements locaux de séquences de DNA ont pu être ramenées à des problèmes de chemins dEuler, en utilisant des graphes de De Bruijn ! Chemins dEuler et de Hamilton

151 30 mars 2007Cours de graphes 9 - Intranet151 Il peut y avoir des applications surprenantes pour les chemins dEuler !Il peut y avoir des applications surprenantes pour les chemins dEuler ! Ainsi, des problèmes dalignements locaux de séquences de DNA ont pu être ramenées à des problèmes de chemins dEuler, en utilisant des graphes de De Bruijn !Ainsi, des problèmes dalignements locaux de séquences de DNA ont pu être ramenées à des problèmes de chemins dEuler, en utilisant des graphes de De Bruijn ! Le fait de savoir si un anneau peut être plongé dans un graphe est un problème de cycle de Hamilton !Le fait de savoir si un anneau peut être plongé dans un graphe est un problème de cycle de Hamilton ! Chemins dEuler et de Hamilton

152 30 mars 2007Cours de graphes 9 - Intranet152 Il peut y avoir des applications surprenantes pour les chemins dEuler !Il peut y avoir des applications surprenantes pour les chemins dEuler ! Ainsi, des problèmes dalignements locaux de séquences de DNA ont pu être ramenées à des problèmes de chemins dEuler, en utilisant des graphes de De Bruijn !Ainsi, des problèmes dalignements locaux de séquences de DNA ont pu être ramenées à des problèmes de chemins dEuler, en utilisant des graphes de De Bruijn ! Le fait de savoir si un anneau peut être plongé dans un graphe est un problème de cycle de Hamilton !Le fait de savoir si un anneau peut être plongé dans un graphe est un problème de cycle de Hamilton ! Tous problèmes de circuits de type « Voyageur de Commerce » sont des questions de cycles de Hamilton !Tous problèmes de circuits de type « Voyageur de Commerce » sont des questions de cycles de Hamilton ! Chemins dEuler et de Hamilton

153 30 mars 2007Cours de graphes 9 - Intranet153 Pour un graphe G donné, nous définissons le graphe de représentation R ( G ) suivant :Pour un graphe G donné, nous définissons le graphe de représentation R ( G ) suivant : –Chaque arête de G devient un sommet de R ( G ). –Deux sommets de R ( G ) sont reliés sils correspondent à des arêtes adjacentes dans G. Chemins dEuler et de Hamilton

154 30 mars 2007Cours de graphes 9 - Intranet154 Pour un graphe G donné, nous définissons le graphe de représentation R ( G ) suivant :Pour un graphe G donné, nous définissons le graphe de représentation R ( G ) suivant : –Chaque arête de G devient un sommet de R ( G ). –Deux sommets de R ( G ) sont reliés sils correspondent à des arêtes adjacentes dans G. Chemins dEuler et de Hamilton G

155 30 mars 2007Cours de graphes 9 - Intranet155 Pour un graphe G donné, nous définissons le graphe de représentation R ( G ) suivant :Pour un graphe G donné, nous définissons le graphe de représentation R ( G ) suivant : –Chaque arête de G devient un sommet de R ( G ). –Deux sommets de R ( G ) sont reliés sils correspondent à des arêtes adjacentes dans G. Chemins dEuler et de Hamilton G Les sommets de R ( G ) ! ! !

156 30 mars 2007Cours de graphes 9 - Intranet156 Pour un graphe G donné, nous définissons le graphe de représentation R ( G ) suivant :Pour un graphe G donné, nous définissons le graphe de représentation R ( G ) suivant : –Chaque arête de G devient un sommet de R ( G ). –Deux sommets de R ( G ) sont reliés sils correspondent à des arêtes adjacentes dans G. Chemins dEuler et de Hamilton G Les sommets de R ( G ) ! ! ! Les arrêtes de R ( G ) ! ! !

157 30 mars 2007Cours de graphes 9 - Intranet157 Si le graphe G admet un chemin dEuler, alors le graphe R ( G ) aussi !Si le graphe G admet un chemin dEuler, alors le graphe R ( G ) aussi ! Chemins dEuler et de Hamilton

158 30 mars 2007Cours de graphes 9 - Intranet158 Si le graphe G admet un chemin dEuler, alors le graphe R ( G ) aussi !Si le graphe G admet un chemin dEuler, alors le graphe R ( G ) aussi ! Si le graphe G admet un chemin dEuler, alors le graphe R ( G ) admet un chemin de Hamilton !Si le graphe G admet un chemin dEuler, alors le graphe R ( G ) admet un chemin de Hamilton ! Chemins dEuler et de Hamilton

159 30 mars 2007Cours de graphes 9 - Intranet159 Si le graphe G admet un chemin dEuler, alors le graphe R ( G ) aussi !Si le graphe G admet un chemin dEuler, alors le graphe R ( G ) aussi ! Si le graphe G admet un chemin dEuler, alors le graphe R ( G ) admet un chemin de Hamilton !Si le graphe G admet un chemin dEuler, alors le graphe R ( G ) admet un chemin de Hamilton ! Si le graphe G admet un chemin de Hamilton, alors le graphe R ( G ) aussi !Si le graphe G admet un chemin de Hamilton, alors le graphe R ( G ) aussi ! Chemins dEuler et de Hamilton

160 30 mars 2007Cours de graphes 9 - Intranet160 Si le graphe G admet un chemin dEuler, alors le graphe R ( G ) aussi !Si le graphe G admet un chemin dEuler, alors le graphe R ( G ) aussi ! Si le graphe G admet un chemin dEuler, alors le graphe R ( G ) admet un chemin de Hamilton !Si le graphe G admet un chemin dEuler, alors le graphe R ( G ) admet un chemin de Hamilton ! Si le graphe G admet un chemin de Hamilton, alors le graphe R ( G ) aussi !Si le graphe G admet un chemin de Hamilton, alors le graphe R ( G ) aussi ! Les réciproques ne sont pas vraies !Les réciproques ne sont pas vraies ! Chemins dEuler et de Hamilton G

161 30 mars 2007Cours de graphes 9 - Intranet161 Les cycles de Hamilton servent souvent à démontrer que dautres problèmes sont NP–complets !Les cycles de Hamilton servent souvent à démontrer que dautres problèmes sont NP–complets ! Chemins dEuler et de Hamilton

162 30 mars 2007Cours de graphes 9 - Intranet162 Les cycles de Hamilton servent souvent à démontrer que dautres problèmes sont NP–complets !Les cycles de Hamilton servent souvent à démontrer que dautres problèmes sont NP–complets ! Savoir si un graphe possède un arbre de recouvrement de degré 2 au plus est NP–complet ! En effet, cet arbre est égal au chemin de Hamilton !Savoir si un graphe possède un arbre de recouvrement de degré 2 au plus est NP–complet ! En effet, cet arbre est égal au chemin de Hamilton ! Chemins dEuler et de Hamilton

163 30 mars 2007Cours de graphes 9 - Intranet163 Les cycles de Hamilton servent souvent à démontrer que dautres problèmes sont NP–complets !Les cycles de Hamilton servent souvent à démontrer que dautres problèmes sont NP–complets ! Savoir si un graphe possède un arbre de recouvrement de degré 2 au plus est NP–complet ! En effet, cet arbre est égal au chemin de Hamilton !Savoir si un graphe possède un arbre de recouvrement de degré 2 au plus est NP–complet ! En effet, cet arbre est égal au chemin de Hamilton ! Savoir si un graphe possède un arbre de recouvrement de degré 3 au plus est NP–complet ! En effet, un graphe G admet un chemin de Hamilton si et seulement si le graphe G suivant admet un arbre de recouvrement de degré 3 au plus.Savoir si un graphe possède un arbre de recouvrement de degré 3 au plus est NP–complet ! En effet, un graphe G admet un chemin de Hamilton si et seulement si le graphe G suivant admet un arbre de recouvrement de degré 3 au plus. Chemins dEuler et de Hamilton

164 30 mars 2007Cours de graphes 9 - Intranet164 Les cycles de Hamilton servent souvent à démontrer que dautres problèmes sont NP–complets !Les cycles de Hamilton servent souvent à démontrer que dautres problèmes sont NP–complets ! Savoir si un graphe possède un arbre de recouvrement de degré 2 au plus est NP–complet ! En effet, cet arbre est égal au chemin de Hamilton !Savoir si un graphe possède un arbre de recouvrement de degré 2 au plus est NP–complet ! En effet, cet arbre est égal au chemin de Hamilton ! Savoir si un graphe possède un arbre de recouvrement de degré 3 au plus est NP–complet ! En effet, un graphe G admet un chemin de Hamilton si et seulement si le graphe G suivant admet un arbre de recouvrement de degré 3 au plus.Savoir si un graphe possède un arbre de recouvrement de degré 3 au plus est NP–complet ! En effet, un graphe G admet un chemin de Hamilton si et seulement si le graphe G suivant admet un arbre de recouvrement de degré 3 au plus. Nous gardons les arêtes et dupliquons les sommets ! u v G : u v u v Chemins dEuler et de Hamilton

165 30 mars 2007Cours de graphes 9 - Intranet165 Les cycles de Hamilton servent souvent à démontrer que dautres problèmes sont NP–complets !Les cycles de Hamilton servent souvent à démontrer que dautres problèmes sont NP–complets ! Savoir si un graphe possède un arbre de recouvrement de degré 2 au plus est NP–complet ! En effet, cet arbre est égal au chemin de Hamilton !Savoir si un graphe possède un arbre de recouvrement de degré 2 au plus est NP–complet ! En effet, cet arbre est égal au chemin de Hamilton ! Savoir si un graphe possède un arbre de recouvrement de degré 3 au plus est NP–complet ! En effet, un graphe G admet un chemin de Hamilton si et seulement si le graphe G suivant admet un arbre de recouvrement de degré 3 au plus.Savoir si un graphe possède un arbre de recouvrement de degré 3 au plus est NP–complet ! En effet, un graphe G admet un chemin de Hamilton si et seulement si le graphe G suivant admet un arbre de recouvrement de degré 3 au plus. Nous gardons les arêtes et dupliquons les sommets ! u v G : u v u v Ensuite,nous rajoutons les arêtes ( u, u )... Chemins dEuler et de Hamilton

166 30 mars 2007Cours de graphes 9 - Intranet166 Chemins dEuler et de Hamilton Les cycles de Hamilton servent souvent à démontrer que dautres problèmes sont NP–complets !Les cycles de Hamilton servent souvent à démontrer que dautres problèmes sont NP–complets ! Savoir si un graphe possède un arbre de recouvrement de degré 2 au plus est NP–complet ! En effet, cet arbre est égal au chemin de Hamilton !Savoir si un graphe possède un arbre de recouvrement de degré 2 au plus est NP–complet ! En effet, cet arbre est égal au chemin de Hamilton ! Savoir si un graphe possède un arbre de recouvrement de degré 3 au plus est NP–complet ! En effet, un graphe G admet un chemin de Hamilton si et seulement si le graphe G suivant admet un arbre de recouvrement de degré 3 au plus.Savoir si un graphe possède un arbre de recouvrement de degré 3 au plus est NP–complet ! En effet, un graphe G admet un chemin de Hamilton si et seulement si le graphe G suivant admet un arbre de recouvrement de degré 3 au plus. Nous gardons les arêtes et dupliquons les sommets ! u v G : u v u v Ensuite,nous rajoutons les arêtes ( u, u )...

167 30 mars 2007Cours de graphes 9 - Intranet167 Applications A R B R E S D E R E C O U V R E M E N T ( M I N I M A U X )

168 30 mars 2007Cours de graphes 9 - Intranet168 Arbres de recouvrements (minimaux) Larbre de recouvrement est important parce queLarbre de recouvrement est important parce que –il fournit la plus petite solution connexe en termes darêtes, –il fournit la plus grande solution sans cycles en termes darêtes, –il évite les choix arbitraires entre plusieurs chemins !

169 30 mars 2007Cours de graphes 9 - Intranet169 Arbres de recouvrements (minimaux) Larbre de recouvrement est important parce queLarbre de recouvrement est important parce que –il fournit la plus petite solution connexe en termes darêtes, –il fournit la plus grande solution sans cycles en termes darêtes, –il évite les choix arbitraires entre plusieurs chemins ! Il est compatible avec la minimisation sous la forme du calcul de larbre de recouvrement minimal !Il est compatible avec la minimisation sous la forme du calcul de larbre de recouvrement minimal !

170 30 mars 2007Cours de graphes 9 - Intranet170 Arbres de recouvrements (minimaux) Le problème devient difficile dès que nous imposons des contraintes sur la forme de larbre, comme une arité bornée,...Le problème devient difficile dès que nous imposons des contraintes sur la forme de larbre, comme une arité bornée,...

171 30 mars 2007Cours de graphes 9 - Intranet171 Arbres de recouvrements (minimaux) Le problème devient difficile dès que nous imposons des contraintes sur la forme de larbre, comme une arité bornée,...Le problème devient difficile dès que nous imposons des contraintes sur la forme de larbre, comme une arité bornée,... De même, il est difficile de trouver, parmi les n sommets dun graphe pondéré, le sous-ensemble de k sommets qui admet larbre de recouvrement le plus léger.De même, il est difficile de trouver, parmi les n sommets dun graphe pondéré, le sous-ensemble de k sommets qui admet larbre de recouvrement le plus léger.

172 30 mars 2007Cours de graphes 9 - Intranet172 Arbres de recouvrements (minimaux) Le problème devient difficile dès que nous imposons des contraintes sur la forme de larbre, comme une arité bornée,...Le problème devient difficile dès que nous imposons des contraintes sur la forme de larbre, comme une arité bornée,... De même, il est difficile de trouver, parmi les n sommets dun graphe pondéré, le sous-ensemble de k sommets qui admet larbre de recouvrement le plus léger.De même, il est difficile de trouver, parmi les n sommets dun graphe pondéré, le sous-ensemble de k sommets qui admet larbre de recouvrement le plus léger. Le calcul de larbre de recouvrement minimal a de nombreuses applicationsLe calcul de larbre de recouvrement minimal a de nombreuses applications –soit en tant que solution directe dun problème, –soit comme étape essentielle dun calcul plus complexe comme lapproximation du TSP.

173 30 mars 2007Cours de graphes 9 - Intranet173 Arbres de recouvrements (minimaux) Le problème de « larbre de recouvrement euclidien » est une variante intéressante !Le problème de « larbre de recouvrement euclidien » est une variante intéressante !

174 30 mars 2007Cours de graphes 9 - Intranet174 Arbres de recouvrements (minimaux) Le problème de « larbre de recouvrement euclidien » est une variante intéressante !Le problème de « larbre de recouvrement euclidien » est une variante intéressante ! Nous considérons des points dans le plan ( ou un espace de dimension plus grande ) et cherchons larbre de recouvrement minimal en termes de distances euclidiennes.Nous considérons des points dans le plan ( ou un espace de dimension plus grande ) et cherchons larbre de recouvrement minimal en termes de distances euclidiennes.

175 30 mars 2007Cours de graphes 9 - Intranet175 Arbres de recouvrements (minimaux) Le problème de « larbre de recouvrement euclidien » est une variante intéressante !Le problème de « larbre de recouvrement euclidien » est une variante intéressante ! Nous considérons des points dans le plan ( ou un espace de dimension plus grande ) et cherchons larbre de recouvrement minimal en termes de distances euclidiennes.Nous considérons des points dans le plan ( ou un espace de dimension plus grande ) et cherchons larbre de recouvrement minimal en termes de distances euclidiennes. Un exemple :Un exemple :

176 30 mars 2007Cours de graphes 9 - Intranet176 Arbres de recouvrements (minimaux) Le problème de « larbre de recouvrement euclidien » est une variante intéressante !Le problème de « larbre de recouvrement euclidien » est une variante intéressante ! Nous considérons des points dans le plan ( ou un espace de dimension plus grande ) et cherchons larbre de recouvrement minimal en termes de distances euclidiennes.Nous considérons des points dans le plan ( ou un espace de dimension plus grande ) et cherchons larbre de recouvrement minimal en termes de distances euclidiennes. Un exemple :Un exemple : La solution la plus simple consiste à calculer les distances entre toutes les paires de points et de dérouler ensuite un calcul dARM !La solution la plus simple consiste à calculer les distances entre toutes les paires de points et de dérouler ensuite un calcul dARM !

177 30 mars 2007Cours de graphes 9 - Intranet177 Applications P L U S C O U R T S C H E M I N S

178 30 mars 2007Cours de graphes 9 - Intranet178 Plus courts chemins Le calcul des composantes connexes, des chemins les plus courts et des chemins les plus légers est à la base de beaucoup de traitements !Le calcul des composantes connexes, des chemins les plus courts et des chemins les plus légers est à la base de beaucoup de traitements !

179 30 mars 2007Cours de graphes 9 - Intranet179 Plus courts chemins Le calcul des composantes connexes, des chemins les plus courts et des chemins les plus légers est à la base de beaucoup de traitements !Le calcul des composantes connexes, des chemins les plus courts et des chemins les plus légers est à la base de beaucoup de traitements ! Une première difficulté peut provenir du fait que linégalité triangulaire ne soit pas respectée !Une première difficulté peut provenir du fait que linégalité triangulaire ne soit pas respectée !

180 30 mars 2007Cours de graphes 9 - Intranet180 Plus courts chemins Le calcul des composantes connexes, des chemins les plus courts et des chemins les plus légers est à la base de beaucoup de traitements !Le calcul des composantes connexes, des chemins les plus courts et des chemins les plus légers est à la base de beaucoup de traitements ! Une première difficulté peut provenir du fait que linégalité triangulaire ne soit pas respectée !Une première difficulté peut provenir du fait que linégalité triangulaire ne soit pas respectée ! Une seconde difficulté peut provenir du fait que, en présence darêtes de poids négatives, nous puissions tomber sur des cycles de poids négatifs !Une seconde difficulté peut provenir du fait que, en présence darêtes de poids négatives, nous puissions tomber sur des cycles de poids négatifs !

181 30 mars 2007Cours de graphes 9 - Intranet181 Plus courts chemins Le calcul des composantes connexes, des chemins les plus courts et des chemins les plus légers est à la base de beaucoup de traitements !Le calcul des composantes connexes, des chemins les plus courts et des chemins les plus légers est à la base de beaucoup de traitements ! Une première difficulté peut provenir du fait que linégalité triangulaire ne soit pas respectée !Une première difficulté peut provenir du fait que linégalité triangulaire ne soit pas respectée ! Une seconde difficulté peut provenir du fait que, en présence darêtes de poids négatives, nous puissions tomber sur des cycles de poids négatifs !Une seconde difficulté peut provenir du fait que, en présence darêtes de poids négatives, nous puissions tomber sur des cycles de poids négatifs ! Nous avons en général plusieurs algorithmes à notre disposition, de complexités variables, mais toujours polynômiales !Nous avons en général plusieurs algorithmes à notre disposition, de complexités variables, mais toujours polynômiales !

182 30 mars 2007Cours de graphes 9 - Intranet182 Plus courts chemins Il est équivalent deIl est équivalent de –minimiser une somme de poids,

183 30 mars 2007Cours de graphes 9 - Intranet183 Plus courts chemins Il est équivalent deIl est équivalent de –minimiser une somme de poids, –minimiser le poids de larête la plus lourde, cest-à-dire minimiser un maximum,

184 30 mars 2007Cours de graphes 9 - Intranet184 Plus courts chemins Il est équivalent deIl est équivalent de –minimiser une somme de poids, –minimiser le poids de larête la plus lourde, cest-à-dire minimiser un maximum, –maximiser une somme de poids,

185 30 mars 2007Cours de graphes 9 - Intranet185 Plus courts chemins Il est équivalent deIl est équivalent de –minimiser une somme de poids, –minimiser le poids de larête la plus lourde, cest-à-dire minimiser un maximum, –maximiser une somme de poids, –maximiser le poids de larête la plus légère, cest-à-dire maximiser un minimum !

186 30 mars 2007Cours de graphes 9 - Intranet186 Synthèse Quelques applications.Quelques applications.

187 30 mars 2007Cours de graphes 9 - Intranet187 Synthèse du cours Connexité Connexité Les plus « courts » chemins : Les plus « courts » chemins : La vague La vague La multiplication de matrices La multiplication de matrices Floyd-Warshall Floyd-Warshall Dijkstra Dijkstra Bellmann-Ford Bellmann-Ford

188 30 mars 2007Cours de graphes 9 - Intranet188 Synthèse du cours Arbres : Arbres : Définitions équivalentes Définitions équivalentes Arbres de recouvrement Arbres de recouvrement Arbres de recouvrement minimaux Arbres de recouvrement minimaux

189 30 mars 2007Cours de graphes 9 - Intranet189 Synthèse du cours Problèmes de flots : Problèmes de flots : Théorème du MIN–MAX Théorème du MIN–MAX Algorithme de Ford et Fulkerson Algorithme de Ford et Fulkerson Algorithme de Edmonds et Karp Algorithme de Edmonds et Karp

190 30 mars 2007Cours de graphes 9 - Intranet190 Synthèse du cours Coloriage de graphes : Coloriage de graphes : Coloriage des sommets Coloriage des sommets Coloriage des arêtes Coloriage des arêtes Lalgorithme de Vizing Lalgorithme de Vizing Graphes planaires Graphes planaires

191 30 mars 2007Cours de graphes 9 - Intranet191 Synthèse du cours Couplages Couplages Chemins dEuler Chemins dEuler Chemins de Hamilton Chemins de Hamilton

192 30 mars 2007Cours de graphes 9 - Intranet192 Synthèse du cours Problèmes NP-complets : Problèmes NP-complets : La théorie ( rappels ) La théorie ( rappels ) Les réductions polynômiales Les réductions polynômiales Des exemples de réductions Des exemples de réductions

193 30 mars 2007Cours de graphes 9 - Intranet193 Synthèse du cours Quelques graphes particuliers : Quelques graphes particuliers : Le graphe en ligne, la grille,... Le graphe en ligne, la grille,... Lanneau, le tore,... Lanneau, le tore,... Lhypercube Lhypercube Des graphes plus exotiques... Des graphes plus exotiques...

194 30 mars 2007Cours de graphes 9 - Intranet194 Synthèse du cours Quelques applications : Quelques applications : Illustrations directes du cours Illustrations directes du cours Quelques extensions de résultats Quelques extensions de résultats

195 30 mars 2007Cours de graphes 9 - Intranet195 L E S P R O B L E M E S D E G R A P H E S D O I V E N T E T R E A P P R I S C A R L E S S O L U T I O N S S O N T S O U V E N T D I F F I C I L E S A T R O U V E R ! ! !

196 30 mars 2007Cours de graphes 9 - Intranet196 L I N T U I T I O N E S T S O U V E N T U N T R E S M A U V A I S G U I D E ! ! !

197 30 mars 2007Cours de graphes 9 - Intranet197 C e S t L a F i N d U c O u R s ! ! ! m E r C i e T b O n N e J o U r N é E ! ! ! N o U b L i E z P a S d E p R é P a R e R v O t R e E x A m E n ! ! !

198 30 mars 2007Cours de graphes 9 - Intranet198 Lexamen sera de 2 heures sans documents et pourra porter sur tout le cours et les TD ! ! !


Télécharger ppt "30 mars 2007Cours de graphes 9 - Intranet1 Cours de graphes Quelques applications."

Présentations similaires


Annonces Google