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

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

30 mars 2007 Cours de graphes 9 - Intranet 1

Cours de graphesCours de graphes

Quelques applications.Quelques applications.

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

30 mars 2007 Cours de graphes 9 - Intranet 2

•Définitions de baseDéfinitions de base•ConnexitéConnexité•Les plus courts chemins : Floyd-Les plus courts chemins : Floyd-Warshall,Warshall, Dijkstra et Bellmann-FordDijkstra et Bellmann-Ford•Arbres, graphes particuliers Arbres, graphes particuliers •Arbres de recouvrement ( minimaux ) Arbres de recouvrement ( minimaux ) •Problèmes de flotsProblèmes de flots•Coloriage de graphes, graphes Coloriage de graphes, graphes planairesplanaires•Couplages, chemins d’Euler et de Couplages, chemins d’Euler et de HamiltonHamilton•Problèmes NP-complets, réductionsProblèmes NP-complets, réductions•ApplicationsApplications

Les grandes lignes du coursLes grandes lignes du cours----------------------------------------------------------------------------------------------------------------------------------

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

30 mars 2007 Cours de graphes 9 - Intranet 3

ApplicationsApplications----------------------------------------------------------------------------------------------------------------------------------

L EL E

C O L O R I A G EC O L O R I A G E

D E S A R E T E SD E S A R E T E S

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

30 mars 2007 Cours de graphes 9 - Intranet 4

Le coloriage des arêtesLe coloriage des arêtes----------------------------------------------------------------------------------------------------------------------------------

• Minimiser les couleurs est un problème NP–Minimiser les couleurs est un problème NP–complet !complet !

• Nous connaissons une solution polynômiale qui Nous connaissons une solution polynômiale qui est optimale à une couleur près !est optimale à une couleur près !

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

30 mars 2007 Cours de graphes 9 - Intranet 5

Le coloriage des arêtesLe coloriage des arêtes----------------------------------------------------------------------------------------------------------------------------------

• Minimiser les couleurs est un problème NP–Minimiser les couleurs est un problème NP–complet !complet !

• Nous connaissons une solution polynômiale qui Nous connaissons une solution polynômiale qui est optimale à une couleur près !est optimale à une couleur près !

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

30 mars 2007 Cours de graphes 9 - Intranet 6

Le coloriage des arêtesLe 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 Nous connaissons une solution polynômiale qui est optimale à une couleur près !optimale à une couleur près !

• L’algorithme de Vizing est donc fondamental ! ! !L’algorithme de Vizing est donc fondamental ! ! !

• Identifier une problématique comme étant un problème Identifier une problématique comme étant un problème de coloriage des arêtes d’un graphe fournit donc tout de coloriage des arêtes d’un graphe fournit donc tout de suite une solution !de suite une solution !

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

30 mars 2007 Cours de graphes 9 - Intranet 7

Le coloriage des arêtesLe 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 sommets sont typiquement des ressources,

– les arêtes des contraintes de disponibilité !les arêtes des contraintes de disponibilité !

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

30 mars 2007 Cours de graphes 9 - Intranet 8

Le coloriage des arêtesLe 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 sommets sont typiquement des ressources,

– les arêtes des contraintes de disponibilité !les arêtes des contraintes de disponibilité !

• Le coloriage ordonnance les contraintes pour Le coloriage ordonnance les contraintes pour qu’elles soient compatibles au niveau des qu’elles soient compatibles au niveau des ressources ! ressources !

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

30 mars 2007 Cours de graphes 9 - Intranet 9

Le coloriage des arêtesLe 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 sommets sont typiquement des ressources,

– les arêtes des contraintes de disponibilité !les arêtes des contraintes de disponibilité !

• Le coloriage ordonnance les contraintes pour qu’elles Le coloriage ordonnance les contraintes pour qu’elles soient compatibles au niveau des ressources ! soient compatibles au niveau des ressources !

• Ce sont souvent des problèmes d’emploi du temps :Ce sont souvent des problèmes d’emploi du temps :

– Horaires d’oraux entre profs et élèves.Horaires d’oraux entre profs et élèves.

– Horaires d’affectation d’une salle de TP à des cours.Horaires d’affectation d’une salle de TP à des cours.

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

30 mars 2007 Cours de graphes 9 - Intranet 10

Le coloriage des arêtesLe coloriage des arêtes----------------------------------------------------------------------------------------------------------------------------------

• Souvent, nous avons des variantes plus Souvent, nous avons des variantes plus compliquées du problème, comme par exemple :compliquées du problème, comme par exemple :

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

30 mars 2007 Cours de graphes 9 - Intranet 11

Le coloriage des arêtesLe coloriage des arêtes----------------------------------------------------------------------------------------------------------------------------------

• Souvent, nous avons des variantes plus Souvent, nous avons des variantes plus compliquées du problème, comme par exemple :compliquées du problème, comme par exemple :

• Ceci veut dire que toutes les ressources ne sont Ceci veut dire que toutes les ressources ne sont pas toujours disponibles ! pas toujours disponibles !

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

30 mars 2007 Cours de graphes 9 - Intranet 12

Le coloriage des arêtesLe coloriage des arêtes----------------------------------------------------------------------------------------------------------------------------------

• Souvent, nous avons des variantes plus compliquées du Souvent, nous avons des variantes plus compliquées du problème, comme par exemple :problème, comme par exemple :

• Ceci veut dire que toutes les ressources ne sont pas Ceci veut dire que toutes les ressources ne sont pas toujours disponibles ! toujours disponibles !

• Exemple :Exemple :

– des années d’études,des années d’études,– des salles,des salles,– des enseignants, avec leurs contraintes d’edt.des enseignants, avec leurs contraintes d’edt.

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

30 mars 2007 Cours de graphes 9 - Intranet 13

ApplicationsApplications----------------------------------------------------------------------------------------------------------------------------------

L EL E

C O L O R I A G EC O L O R I A G E

D E S S O M M E T SD E S S O M M E T S

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

30 mars 2007 Cours de graphes 9 - Intranet 14

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Nous devons colorier les sommets de façon à ce Nous devons colorier les sommets de façon à ce que deux voisins quelconques n’aient pas la que deux voisins quelconques n’aient pas la même couleur.même couleur.

• Nous essayons de minimiser le nombre de Nous essayons de minimiser le nombre de couleurs !couleurs !

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

30 mars 2007 Cours de graphes 9 - Intranet 15

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Nous devons colorier les sommets de façon à ce Nous devons colorier les sommets de façon à ce que deux voisins quelconques n’aient pas la que deux voisins quelconques n’aient pas la même couleur.même couleur.

• Nous essayons de minimiser le nombre de Nous essayons de minimiser le nombre de couleurs !couleurs !

• C’est un problème NP–complet et le nombre C’est un problème NP–complet et le nombre minimal de couleurs ne peut pas en général être minimal de couleurs ne peut pas en général être encadré de manière précise !encadré de manière précise !

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

30 mars 2007 Cours de graphes 9 - Intranet 16

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Nous devons colorier les sommets de façon à ce Nous devons colorier les sommets de façon à ce que deux voisins quelconques n’aient pas la même que deux voisins quelconques n’aient pas la même couleur.couleur.

• Nous essayons de minimiser le nombre de couleurs Nous essayons de minimiser le nombre de couleurs !!

• C’est un problème NP–complet et le nombre C’est un problème NP–complet et le nombre minimal de couleurs ne peut pas en général être minimal de couleurs ne peut pas en général être encadré de manière précise !encadré de manière précise !

• Le coloriage des sommets est plus difficile que Le coloriage des sommets est plus difficile que celui des arêtes . . . et a aussi plus celui des arêtes . . . et a aussi plus d’applications ! ! ! d’applications ! ! !

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

30 mars 2007 Cours de graphes 9 - Intranet 17

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Nous devons colorier les sommets de façon à ce que Nous devons colorier les sommets de façon à ce que deux voisins quelconques n’aient pas la même couleur.deux voisins quelconques n’aient pas la même couleur.

• Nous essayons de minimiser le nombre de couleurs !Nous essayons de minimiser le nombre de couleurs !

• C’est un problème NP–complet et le nombre minimal de C’est un problème NP–complet et le nombre minimal de couleurs ne peut pas en général être encadré de manière couleurs ne peut pas en général être encadré de manière précise !précise !

• Le coloriage des sommets est plus difficile que celui des Le coloriage des sommets est plus difficile que celui des arêtes . . . et a aussi plus d’applications ! ! !arêtes . . . et a aussi plus d’applications ! ! !

• Souvent, on utilise des algorithmes polynômiaux qui Souvent, on utilise des algorithmes polynômiaux qui donnent des solutions que l’on espère « pas trop donnent des solutions que l’on espère « pas trop mauvaises » ! ! !mauvaises » ! ! !

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

30 mars 2007 Cours de graphes 9 - Intranet 18

Le coloriage des sommetsLe 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 sommets sont typiquement des entités,

– les arêtes des incompatibilités entre entités !les arêtes des incompatibilités entre entités !

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

30 mars 2007 Cours de graphes 9 - Intranet 19

Le coloriage des sommetsLe 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 sommets sont typiquement des entités,

– les arêtes des incompatibilités entre entités !les arêtes des incompatibilités entre entités !

• Le coloriage minimise une ressource critique, Le coloriage minimise une ressource critique, comme des nombres de salles, de comme des nombres de salles, de fréquences, . . . ! fréquences, . . . !

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

30 mars 2007 Cours de graphes 9 - Intranet 20

Le coloriage des sommetsLe 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 sommets sont typiquement des entités,

– les arêtes des incompatibilités entre entités !les arêtes des incompatibilités entre entités !

• Le coloriage minimise une ressource critique, comme Le coloriage minimise une ressource critique, comme des nombres de salles, de fréquences, . . . ! des nombres de salles, de fréquences, . . . !

• Ce sont souvent des problèmes de :Ce sont souvent des problèmes de :

– Distribution d’une ressource en pénurie.Distribution d’une ressource en pénurie.

– Minimisation d’une ressource chère.Minimisation d’une ressource chère.

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

30 mars 2007 Cours de graphes 9 - Intranet 21

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Attribution de fréquences :Attribution de fréquences :

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

30 mars 2007 Cours de graphes 9 - Intranet 22

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Attribution de fréquences :Attribution de fréquences :

– les émetteurs sont les sommets,les émetteurs sont les sommets,

– les arêtes représentent le fait que deux les arêtes représentent le fait que deux émetteurs ont une intersection non vide de émetteurs ont une intersection non vide de couverture !couverture !

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

30 mars 2007 Cours de graphes 9 - Intranet 23

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Attribution de fréquences :Attribution de fréquences :

– les émetteurs sont les sommets,les émetteurs sont les sommets,

– les arêtes représentent le fait que deux les arêtes représentent le fait que deux émetteurs ont une intersection non vide de émetteurs ont une intersection non vide de couverture !couverture !

• Le coloriage des sommets minimise le nombre de Le coloriage des sommets minimise le nombre de fréquences nécessaires pour couvrir tout le fréquences nécessaires pour couvrir tout le territoire ! territoire !

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

30 mars 2007 Cours de graphes 9 - Intranet 24

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Attribution de fréquences :Attribution de fréquences :

– les émetteurs sont les sommets,les émetteurs sont les sommets,

– les arêtes représentent le fait que deux émetteurs ont les arêtes représentent le fait que deux émetteurs ont une intersection non vide de couverture !une intersection non vide de couverture !

• Le coloriage des sommets minimise le nombre de Le coloriage des sommets minimise le nombre de fréquences nécessaires pour couvrir tout le territoire ! 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 Les fréquences réelles sont partitionnées en paquets de fréquences.de fréquences.

– Chaque paquet correspond à une couleur.Chaque paquet correspond à une couleur.

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

30 mars 2007 Cours de graphes 9 - Intranet 25

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Emploi du temps :Emploi du temps :

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

30 mars 2007 Cours de graphes 9 - Intranet 26

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Emploi du temps :Emploi du temps :

– les cours sont les sommets,les cours sont les sommets,

– les arêtes représentent l’incompatibilité entre les arêtes représentent l’incompatibilité entre cours du fait qu’il sont par exemple donnés cours du fait qu’il sont par exemple donnés par le même enseignant, se font dans la même par le même enseignant, se font dans la même salle . . .salle . . .

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

30 mars 2007 Cours de graphes 9 - Intranet 27

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Emploi du temps :Emploi du temps :

– les cours sont les sommets,les cours sont les sommets,

– les arêtes représentent l’incompatibilité entre les arêtes représentent l’incompatibilité entre cours du fait qu’il sont par exemple donnés cours du fait qu’il sont par exemple donnés par le même enseignant, se font dans la même par le même enseignant, se font dans la même salle . . .salle . . .

• Le coloriage des sommets minimise le nombre de Le coloriage des sommets minimise le nombre de créneaux horaires nécessaires pour donner les créneaux horaires nécessaires pour donner les cours ! cours !

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

30 mars 2007 Cours de graphes 9 - Intranet 28

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Emploi du temps :Emploi du temps :

– les cours sont les sommets,les cours sont les sommets,

– les arêtes représentent l’incompatibilité entre les arêtes représentent l’incompatibilité entre cours du fait qu’il sont par exemple donnés par cours du fait qu’il sont par exemple donnés par le même enseignant, se font dans la même le même enseignant, se font dans la même salle . . .salle . . .

• Le coloriage des sommets minimise le nombre de Le coloriage des sommets minimise le nombre de créneaux horaires nécessaires pour donner les créneaux horaires nécessaires pour donner les cours ! cours !

• Les questions d’emplois du temps peuvent être Les questions d’emplois du temps peuvent être traduits en différents problèmes de coloriage !traduits en différents problèmes de coloriage !

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

30 mars 2007 Cours de graphes 9 - Intranet 29

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Emploi du temps :Emploi du temps :

– les cours sont les sommets,les cours sont les sommets,

– les arêtes représentent l’incompatibilité entre cours les arêtes représentent l’incompatibilité entre cours du fait qu’il sont par exemple donnés par le même du fait qu’il sont par exemple donnés par le même enseignant, se font dans la même salle . . .enseignant, se font dans la même salle . . .

• Le coloriage des sommets minimise le nombre de Le coloriage des sommets minimise le nombre de créneaux horaires nécessaires pour donner les cours ! créneaux horaires nécessaires pour donner les cours !

• Les questions d’emplois du temps peuvent être traduits Les questions d’emplois du temps peuvent être traduits en différents problèmes de coloriage !en différents problèmes de coloriage !

• Nous pouvons d’ailleurs envisager de colorier aussi bien Nous pouvons d’ailleurs envisager de colorier aussi bien les sommets que les arêtes !les sommets que les arêtes !

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

30 mars 2007 Cours de graphes 9 - Intranet 30

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Variantes de coloriage :Variantes de coloriage :

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

30 mars 2007 Cours de graphes 9 - Intranet 31

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Variantes de coloriage :Variantes de coloriage :

– Il y a le coloriage des sommets !Il y a le coloriage des sommets !

– Il y a le coloriage des arêtes !Il y a le coloriage des arêtes !

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

30 mars 2007 Cours de graphes 9 - Intranet 32

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Variantes de coloriage :Variantes de coloriage :

– Il y a le coloriage des sommets !Il y a le coloriage des sommets !

– Il y a le coloriage des arêtes !Il y a le coloriage des arêtes !

– Il y a le coloriage conjoint des sommets et Il y a le coloriage conjoint des sommets et arêtes !arêtes !

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

30 mars 2007 Cours de graphes 9 - Intranet 33

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Variantes de coloriage :Variantes de coloriage :

– Il y a le coloriage des sommets !Il y a le coloriage des sommets !

– Il y a le coloriage des arêtes !Il y a le coloriage des arêtes !

– Il y a le coloriage conjoint des sommets et Il y a le coloriage conjoint des sommets et arêtes !arêtes !

– Comme le coloriage des sommets attribue une Comme le coloriage des sommets attribue une paire de couleurs à chaque arête, nous paire de couleurs à chaque arête, nous pouvons exiger que :pouvons exiger que :

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

30 mars 2007 Cours de graphes 9 - Intranet 34

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Variantes de coloriage :Variantes de coloriage :

– Il y a le coloriage des sommets !Il y a le coloriage des sommets !

– Il y a le coloriage des arêtes !Il y a le coloriage des arêtes !

– Il y a le coloriage conjoint des sommets et arêtes !Il y a le coloriage conjoint des sommets et arêtes !

– Comme le coloriage des sommets attribue une paire Comme le coloriage des sommets attribue une paire de couleurs à chaque arête, nous pouvons exiger que :de couleurs à chaque arête, nous pouvons exiger que :

• ce coloriage soit « harmonieux » au sens où il ce coloriage soit « harmonieux » au sens où il attribue à chaque arête une paire de couleurs attribue à chaque arête une paire de couleurs différente,différente,

• ce coloriage soit « complet » au sens où chaque ce coloriage soit « complet » au sens où chaque paire de couleurs est utilisée au moins une fois.paire de couleurs est utilisée au moins une fois.

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

30 mars 2007 Cours de graphes 9 - Intranet 35

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Allocation de registres :Allocation de registres :

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

30 mars 2007 Cours de graphes 9 - Intranet 36

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Allocation de registres :Allocation de registres :

– les variables d’un programme sont les les variables d’un programme sont les sommets,sommets,

– les arêtes représentent l’incompatibilité entre les arêtes représentent l’incompatibilité entre variables au sens où elles ne peuvent pas variables au sens où elles ne peuvent pas utiliser un même registre.utiliser un même registre.

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

30 mars 2007 Cours de graphes 9 - Intranet 37

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Allocation de registres :Allocation de registres :

– les variables d’un programme sont les les variables d’un programme sont les sommets,sommets,

– les arêtes représentent l’incompatibilité entre les arêtes représentent l’incompatibilité entre variables au sens où elles ne peuvent pas variables au sens où elles ne peuvent pas utiliser un même registre.utiliser un même registre.

• Le coloriage des sommets minimise le nombre de Le coloriage des sommets minimise le nombre de registres nécessaires pour gérer toutes les registres nécessaires pour gérer toutes les variables ! variables !

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

30 mars 2007 Cours de graphes 9 - Intranet 38

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Allocation de registres :Allocation de registres :

– les variables d’un programme sont les sommets,les variables d’un programme sont les sommets,

– les arêtes représentent l’incompatibilité entre les arêtes représentent l’incompatibilité entre variables au sens où elles ne peuvent pas utiliser variables au sens où elles ne peuvent pas utiliser un même registre.un même registre.

• Le coloriage des sommets minimise le nombre de Le coloriage des sommets minimise le nombre de registres nécessaires pour gérer toutes les registres nécessaires pour gérer toutes les variables ! variables !

• La gestion d’une valeur dans un registre est La gestion d’une valeur dans un registre est beaucoup plus rapide que la gestion en mémoire beaucoup plus rapide que la gestion en mémoire centrale !centrale !

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

30 mars 2007 Cours de graphes 9 - Intranet 39

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Allocation de registres :Allocation de registres :

– les variables d’un programme sont les sommets,les variables d’un programme sont les sommets,

– les arêtes représentent l’incompatibilité entre les arêtes représentent l’incompatibilité entre variables au sens où elles ne peuvent pas utiliser un variables au sens où elles ne peuvent pas utiliser un même registre.même registre.

• Le coloriage des sommets minimise le nombre de Le coloriage des sommets minimise le nombre de registres nécessaires pour gérer toutes les variables ! registres nécessaires pour gérer toutes les variables !

• La gestion d’une valeur dans un registre est beaucoup La gestion d’une valeur dans un registre est beaucoup plus rapide que la gestion en mémoire centrale !plus rapide que la gestion en mémoire centrale !

• Si nous n’avons pas assez de registres il faut faire un Si nous n’avons pas assez de registres il faut faire un choix entre les variables ! C’est un autre problème . . .choix entre les variables ! C’est un autre problème . . .

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

30 mars 2007 Cours de graphes 9 - Intranet 40

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Deux variables sont compatibles si l’une cesse de Deux variables sont compatibles si l’une cesse de servir avant que l’autre ne commence !servir avant que l’autre ne commence !

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

30 mars 2007 Cours de graphes 9 - Intranet 41

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Deux variables sont compatibles si l’une cesse de Deux variables sont compatibles si l’une cesse de servir avant que l’autre ne commence !servir avant que l’autre ne commence !

• Deux variables sont incompatibles si l’une a des Deux variables sont incompatibles si l’une a des usages avant et après un usage de l’autre usages avant et après un usage de l’autre variable !variable !

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

30 mars 2007 Cours de graphes 9 - Intranet 42

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Deux variables sont compatibles si l’une cesse de Deux variables sont compatibles si l’une cesse de servir avant que l’autre ne commence !servir avant que l’autre ne commence !

• Deux variables sont incompatibles si l’une a des Deux variables sont incompatibles si l’une a des usages avant et après un usage de l’autre usages avant et après un usage de l’autre variable !variable !

• Des variables peuvent utiliser un même registre Des variables peuvent utiliser un même registre si et seulement si elles sont compatibles !si et seulement si elles sont compatibles !

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

30 mars 2007 Cours de graphes 9 - Intranet 43

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Deux variables sont compatibles si l’une cesse de Deux variables sont compatibles si l’une cesse de servir avant que l’autre ne commence !servir avant que l’autre ne commence !

• Deux variables sont incompatibles si l’une a des Deux variables sont incompatibles si l’une a des usages avant et après un usage de l’autre usages avant et après un usage de l’autre variable !variable !

• Des variables peuvent utiliser un même registre Des variables peuvent utiliser un même registre si et seulement si elles sont compatibles !si et seulement si elles sont compatibles !

• Exemple :Exemple :

{ x := 5 ;{ x := 5 ;

y := 7 ;y := 7 ;

u := 2 * x ;u := 2 * x ;

t := 3 ;t := 3 ;

t := t + u + y ; }t := t + u + y ; }

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

30 mars 2007 Cours de graphes 9 - Intranet 44

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Deux variables sont compatibles si l’une cesse de Deux variables sont compatibles si l’une cesse de servir avant que l’autre ne commence !servir avant que l’autre ne commence !

• Deux variables sont incompatibles si l’une a des Deux variables sont incompatibles si l’une a des usages avant et après un usage de l’autre usages avant et après un usage de l’autre variable !variable !

• Des variables peuvent utiliser un même registre Des variables peuvent utiliser un même registre si et seulement si elles sont compatibles !si et seulement si elles sont compatibles !

• Exemple :Exemple :

{ { xx := 5 ; := 5 ;

yy := 7 ; := 7 ;

u := 2 * u := 2 * xx ; ;

t := 3 ;t := 3 ;

t := t + u + y ; }t := t + u + y ; }

x et y sont incompatibles !x et y sont incompatibles !

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

30 mars 2007 Cours de graphes 9 - Intranet 45

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Deux variables sont compatibles si l’une cesse de Deux variables sont compatibles si l’une cesse de servir avant que l’autre ne commence !servir avant que l’autre ne commence !

• Deux variables sont incompatibles si l’une a des Deux variables sont incompatibles si l’une a des usages avant et après un usage de l’autre usages avant et après un usage de l’autre variable !variable !

• Des variables peuvent utiliser un même registre Des variables peuvent utiliser un même registre si et seulement si elles sont compatibles !si et seulement si elles sont compatibles !

• Exemple :Exemple :

{ { xx := 5 ; := 5 ;

y := 7 ;y := 7 ;

uu := 2 * := 2 * xx ; ;

tt := 3 ; := 3 ;

tt := := tt + + uu + y ; } + y ; }

x et y sont incompatibles !x et y sont incompatibles !x est compatible avec u et t !x est compatible avec u et t !

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

30 mars 2007 Cours de graphes 9 - Intranet 46

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Deux variables sont compatibles si l’une cesse de Deux variables sont compatibles si l’une cesse de servir avant que l’autre ne commence !servir avant que l’autre ne commence !

• Deux variables sont incompatibles si l’une a des Deux variables sont incompatibles si l’une a des usages avant et après un usage de l’autre usages avant et après un usage de l’autre variable !variable !

• Des variables peuvent utiliser un même registre Des variables peuvent utiliser un même registre si et seulement si elles sont compatibles !si et seulement si elles sont compatibles !

• Exemple :Exemple :

{ x := 5 ;{ x := 5 ;

yy := 7 ; := 7 ;

uu := 2 * x ; := 2 * x ;

tt := 3 ; := 3 ;

t := t + u + t := t + u + yy ; } ; }

x et y sont incompatibles !x et y sont incompatibles !x est compatible avec u et t !x est compatible avec u et t !y est incompatible avec u et t !y est incompatible avec u et t !

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

30 mars 2007 Cours de graphes 9 - Intranet 47

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Deux variables sont compatibles si l’une cesse de Deux variables sont compatibles si l’une cesse de servir avant que l’autre ne commence !servir avant que l’autre ne commence !

• Deux variables sont incompatibles si l’une a des Deux variables sont incompatibles si l’une a des usages avant et après un usage de l’autre usages avant et après un usage de l’autre variable !variable !

• Des variables peuvent utiliser un même registre Des variables peuvent utiliser un même registre si et seulement si elles sont compatibles !si et seulement si elles sont compatibles !

• Exemple :Exemple :

{ x := 5 ;{ x := 5 ;

y := 7 ;y := 7 ;

uu := 2 * x ; := 2 * x ;

tt := 3 ; := 3 ;

t := t + t := t + uu + y ; } + y ; }

x et y sont incompatibles !x et y sont incompatibles !x est compatible avec u et t !x est compatible avec u et t !y est incompatible avec u et t !y est incompatible avec u et t !u et t sont incompatibles !u et t sont incompatibles !

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

30 mars 2007 Cours de graphes 9 - Intranet 48

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Deux variables sont compatibles si l’une cesse de Deux variables sont compatibles si l’une cesse de servir avant que l’autre ne commence !servir avant que l’autre ne commence !

• Deux variables sont incompatibles si l’une a des Deux variables sont incompatibles si l’une a des usages avant et après un usage de l’autre usages avant et après un usage de l’autre variable !variable !

• Des variables peuvent utiliser un même registre Des variables peuvent utiliser un même registre si et seulement si elles sont compatibles !si et seulement si elles sont compatibles !

• Exemple :Exemple :

{ x := 5 ;{ x := 5 ;

y := 7 ;y := 7 ;

u := 2 * x ;u := 2 * x ;

t := 3 ;t := 3 ;

t := t + u + y ; }t := t + u + y ; }

xx yy

uu tt

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

30 mars 2007 Cours de graphes 9 - Intranet 49

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Deux variables sont compatibles si l’une cesse de Deux variables sont compatibles si l’une cesse de servir avant que l’autre ne commence !servir avant que l’autre ne commence !

• Deux variables sont incompatibles si l’une a des Deux variables sont incompatibles si l’une a des usages avant et après un usage de l’autre usages avant et après un usage de l’autre variable !variable !

• Des variables peuvent utiliser un même registre Des variables peuvent utiliser un même registre si et seulement si elles sont compatibles !si et seulement si elles sont compatibles !

• Exemple :Exemple :

{ x := 5 ;{ x := 5 ;

y := 7 ;y := 7 ;

u := 2 * x ;u := 2 * x ;

t := 3 ;t := 3 ;

t := t + u + y ; }t := t + u + y ; }

xx yy

uu tt

Il nous fautIl nous faut3 registres !3 registres !

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

30 mars 2007 Cours de graphes 9 - Intranet 50

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Deux variables sont compatibles si l’une cesse de Deux variables sont compatibles si l’une cesse de servir avant que l’autre ne commence !servir avant que l’autre ne commence !

• Deux variables sont incompatibles si l’une a des Deux variables sont incompatibles si l’une a des usages avant et après un usage de l’autre usages avant et après un usage de l’autre variable !variable !

• Des variables peuvent utiliser un même registre Des variables peuvent utiliser un même registre si et seulement si elles sont compatibles !si et seulement si elles sont compatibles !

• Exemple :Exemple :

{ { xx := 5 ; := 5 ;

y := 7 ;y := 7 ;

u := 2 * u := 2 * xx ; ;

tt := 3 ; := 3 ;

tt := := tt + u + y ; } + u + y ; }

xx yy

uu tt

Il nous fautIl nous faut3 registres !3 registres ! Le registreLe registre

bleu sert àbleu sert àx et à t !x et à t !

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

30 mars 2007 Cours de graphes 9 - Intranet 51

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Deux variables sont compatibles si l’une cesse de Deux variables sont compatibles si l’une cesse de servir avant que l’autre ne commence !servir avant que l’autre ne commence !

• Deux variables sont incompatibles si l’une a des Deux variables sont incompatibles si l’une a des usages avant et après un usage de l’autre usages avant et après un usage de l’autre variable !variable !

• Des variables peuvent utiliser un même registre Des variables peuvent utiliser un même registre si et seulement si elles sont compatibles !si et seulement si elles sont compatibles !

• Exemple :Exemple :

{ { xx := 5 ; := 5 ;

yy := 7 ; := 7 ;

u := 2 * u := 2 * xx ; ;

tt := 3 ; := 3 ;

tt := := tt + u + + u + yy ; } ; }

xx yy

uu tt

Il nous fautIl nous faut3 registres !3 registres ! Le registreLe registre

bleu sert àbleu sert àx et à t !x et à t !

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

30 mars 2007 Cours de graphes 9 - Intranet 52

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Deux variables sont compatibles si l’une cesse de Deux variables sont compatibles si l’une cesse de servir avant que l’autre ne commence !servir avant que l’autre ne commence !

• Deux variables sont incompatibles si l’une a des Deux variables sont incompatibles si l’une a des usages avant et après un usage de l’autre usages avant et après un usage de l’autre variable !variable !

• Des variables peuvent utiliser un même registre Des variables peuvent utiliser un même registre si et seulement si elles sont compatibles !si et seulement si elles sont compatibles !

• Exemple :Exemple :

{ { xx := 5 ; := 5 ;

yy := 7 ; := 7 ;

uu := 2 * := 2 * xx ; ;

tt := 3 ; := 3 ;

tt := := tt + + uu + + yy ; } ; }

xx yy

uu tt

Il nous fautIl nous faut3 registres !3 registres ! Le registreLe registre

bleu sert àbleu sert àx et à t !x et à t !

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

30 mars 2007 Cours de graphes 9 - Intranet 53

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Coloriage de chemins dans un graphe :Coloriage de chemins dans un graphe :

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

30 mars 2007 Cours de graphes 9 - Intranet 54

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Coloriage de chemins dans un graphe :Coloriage de chemins dans un graphe :

• Nous recevons un graphe et devons colorier un Nous recevons un graphe et devons colorier un certain nombre de chemins qui sont donnés.certain nombre de chemins qui sont donnés.

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

30 mars 2007 Cours de graphes 9 - Intranet 55

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Coloriage de chemins dans un graphe :Coloriage de chemins dans un graphe :

• Nous recevons un graphe et devons colorier un Nous recevons un graphe et devons colorier un certain nombre de chemins qui sont donnés.certain nombre de chemins qui sont donnés.

• Deux chemins doivent avoir une couleur Deux chemins doivent avoir une couleur différente dès qu’ils partagent une arête.différente dès qu’ils partagent une arête.

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

30 mars 2007 Cours de graphes 9 - Intranet 56

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Coloriage de chemins dans un graphe :Coloriage de chemins dans un graphe :

• Nous recevons un graphe et devons colorier un Nous recevons un graphe et devons colorier un certain nombre de chemins qui sont donnés.certain nombre de chemins qui sont donnés.

• Deux chemins doivent avoir une couleur Deux chemins doivent avoir une couleur différente dès qu’ils partagent une arête.différente dès qu’ils partagent une arête.

• Nous devons minimiser le nombre de couleurs !Nous devons minimiser le nombre de couleurs !

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

30 mars 2007 Cours de graphes 9 - Intranet 57

Le coloriage des sommetsLe coloriage des sommets----------------------------------------------------------------------------------------------------------------------------------

• Coloriage de chemins dans un graphe :Coloriage de chemins dans un graphe :

• Nous recevons un graphe et devons colorier un certain Nous recevons un graphe et devons colorier un certain nombre de chemins qui sont donnés.nombre de chemins qui sont donnés.

• Deux chemins doivent avoir une couleur différente dès Deux chemins doivent avoir une couleur différente dès qu’ils partagent une arête.qu’ils partagent une arête.

• Nous devons minimiser le nombre de couleurs !Nous devons minimiser le nombre de couleurs !

• C’est un problème de coloriage des sommets du graphe C’est un problème de coloriage des sommets du graphe suivant :suivant :

– Chaque chemin est représenté par un sommet !Chaque chemin est représenté par un sommet !

– Deux sommets sont reliés par une arête si les Deux sommets sont reliés par une arête si les chemins qu’ils représentent partagent des arêtes !chemins qu’ils représentent partagent des arêtes !

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

30 mars 2007 Cours de graphes 9 - Intranet 58

ApplicationsApplications----------------------------------------------------------------------------------------------------------------------------------

C O U P L A G E SC O U P L A G E S

V E R T E X C O V E RV E R T E X C O V E R

E T A U T R E SE T A U T R E S

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

30 mars 2007 Cours de graphes 9 - Intranet 59

Couplages, vertex cover et autresCouplages, vertex cover et autres----------------------------------------------------------------------------------------------------------------------------------

• Le couplage consiste à :Le couplage consiste à :

– former le plus grand nombre de couples de former le plus grand nombre de couples de sommets,sommets,

– les arêtes représentant des adéquations entre les arêtes représentant des adéquations entre les sommets.les sommets.

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

30 mars 2007 Cours de graphes 9 - Intranet 60

Couplages, vertex cover et autresCouplages, vertex cover et autres----------------------------------------------------------------------------------------------------------------------------------

• Le couplage consiste à :Le couplage consiste à :

– former le plus grand nombre de couples de former le plus grand nombre de couples de sommets,sommets,

– les arêtes représentant des adéquations entre les arêtes représentant des adéquations entre les sommets.les sommets.

• Les applications sont bien-sûr nombreuses !Les applications sont bien-sûr nombreuses !

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

30 mars 2007 Cours de graphes 9 - Intranet 61

Couplages, vertex cover et autresCouplages, vertex cover et autres----------------------------------------------------------------------------------------------------------------------------------

• Le couplage consiste à :Le couplage consiste à :

– former le plus grand nombre de couples de sommets,former le plus grand nombre de couples de sommets,

– les arêtes représentant des adéquations entre les les arêtes représentant des adéquations entre les sommets.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 personne–tâche , candidat–poste , . . .

– Couples de binômes en respectant les affinités.Couples de binômes en respectant les affinités.

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

30 mars 2007 Cours de graphes 9 - Intranet 62

Couplages, vertex cover et autresCouplages, vertex cover et autres----------------------------------------------------------------------------------------------------------------------------------

• Le Vertex Cover consisteLe Vertex Cover consiste

– à savoir si nous pouvons trouver un sous-à savoir si nous pouvons trouver un sous-ensemble de k sommets au plus tel que ensemble de k sommets au plus tel que chaque arête touche un de ces sommets ?chaque arête touche un de ces sommets ?

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

30 mars 2007 Cours de graphes 9 - Intranet 63

Couplages, vertex cover et autresCouplages, vertex cover et autres----------------------------------------------------------------------------------------------------------------------------------

• Le Vertex Cover consisteLe Vertex Cover consiste

– à savoir si nous pouvons trouver un sous-à savoir si nous pouvons trouver un sous-ensemble de k sommets au plus tel que ensemble de k sommets au plus tel que chaque arête touche un de ces sommets ?chaque arête touche un de ces sommets ?

– ou à trouver le plus petit entier k pour lequel ou à trouver le plus petit entier k pour lequel un tel ensemble existe !un tel ensemble existe !

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

30 mars 2007 Cours de graphes 9 - Intranet 64

Couplages, vertex cover et autresCouplages, vertex cover et autres----------------------------------------------------------------------------------------------------------------------------------

• Le Vertex Cover consisteLe Vertex Cover consiste

– à savoir si nous pouvons trouver un sous-à savoir si nous pouvons trouver un sous-ensemble de k sommets au plus tel que ensemble de k sommets au plus tel que chaque arête touche un de ces sommets ?chaque arête touche un de ces sommets ?

– ou à trouver le plus petit entier k pour lequel ou à trouver le plus petit entier k pour lequel un tel ensemble existe !un tel ensemble existe !

• Y a–t–il des applications réelles pour ce tel Y a–t–il des applications réelles pour ce tel problème ?problème ?

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

30 mars 2007 Cours de graphes 9 - Intranet 65

Couplages, vertex cover et autresCouplages, vertex cover et autres----------------------------------------------------------------------------------------------------------------------------------

• Le Vertex Cover consisteLe Vertex Cover consiste

– à savoir si nous pouvons trouver un sous-ensemble à savoir si nous pouvons trouver un sous-ensemble de k sommets au plus tel que chaque arête touche de k sommets au plus tel que chaque arête touche un de ces sommets ?un de ces sommets ?

– ou à trouver le plus petit entier k pour lequel un ou à trouver le plus petit entier k pour lequel un tel ensemble existe !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 Pour un graphe de n sommets, le Vertex Cover avec la constante k est équivalent à savoir si Clique admet la constante k est équivalent à savoir si Clique admet une solution de taille n–k ?une solution de taille n–k ?

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

30 mars 2007 Cours de graphes 9 - Intranet 66

Couplages, vertex cover et autresCouplages, vertex cover et autres----------------------------------------------------------------------------------------------------------------------------------

• Le problème Independent Set ( STABLE en Le problème Independent Set ( STABLE en français ) :français ) :

– Pouvons-nous trouver dans un graphe au Pouvons-nous trouver dans un graphe au moins k sommets qui ne sont pas voisins moins k sommets qui ne sont pas voisins deux à deux ? ? ?deux à deux ? ? ?

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

30 mars 2007 Cours de graphes 9 - Intranet 67

Couplages, vertex cover et autresCouplages, vertex cover et autres----------------------------------------------------------------------------------------------------------------------------------

• Le problème Independent Set ( STABLE en Le problème Independent Set ( STABLE en français ) :français ) :

– Pouvons-nous trouver dans un graphe au Pouvons-nous trouver dans un graphe au moins k sommets qui ne sont pas voisins moins k sommets qui ne sont pas voisins deux à deux ? ? ?deux à deux ? ? ?

– Quelle est la plus grande valeur k pour Quelle est la plus grande valeur k pour laquelle nous pouvons trouver un stable ? ? ?laquelle nous pouvons trouver un stable ? ? ?

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

30 mars 2007 Cours de graphes 9 - Intranet 68

Couplages, vertex cover et autresCouplages, vertex cover et autres----------------------------------------------------------------------------------------------------------------------------------

• Le problème Independent Set ( STABLE en Le problème Independent Set ( STABLE en français ) :français ) :

– Pouvons-nous trouver dans un graphe au moins Pouvons-nous trouver dans un graphe au moins k sommets qui ne sont pas voisins deux à k sommets qui ne sont pas voisins deux à deux ? ? ?deux ? ? ?

– Quelle est la plus grande valeur k pour laquelle Quelle est la plus grande valeur k pour laquelle nous pouvons trouver un stable ? ? ?nous pouvons trouver un stable ? ? ?

• Un graphe avec n sommets admet un stable de Un graphe avec n sommets admet un stable de taille k si et seulement si son graphe taille k si et seulement si son graphe complémentaire admet une clique de taille n–k ! ! ! complémentaire admet une clique de taille n–k ! ! !

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

30 mars 2007 Cours de graphes 9 - Intranet 69

Couplages, vertex cover et autresCouplages, 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 Pouvons-nous trouver dans un graphe au moins k sommets qui ne sont pas voisins deux à deux ? ? ?sommets qui ne sont pas voisins deux à deux ? ? ?

– Quelle est la plus grande valeur k pour laquelle nous Quelle est la plus grande valeur k pour laquelle nous pouvons trouver un stable ? ? ?pouvons trouver un stable ? ? ?

• Un graphe avec n sommets admet un stable de taille k si Un graphe avec n sommets admet un stable de taille k si et seulement si son graphe complémentaire admet une et seulement si son graphe complémentaire admet une clique de taille n–k ! ! ! clique de taille n–k ! ! !

• Comme il n’existe aucune arête entre deux sommets du Comme il n’existe aucune arête entre deux sommets du stable, dans le graphe complémentaire toutes les arêtes stable, dans le graphe complémentaire toutes les arêtes vont exister, et donc former une clique !vont exister, et donc former une clique !

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

30 mars 2007 Cours de graphes 9 - Intranet 70

Couplages, vertex cover et autresCouplages, vertex cover et autres----------------------------------------------------------------------------------------------------------------------------------

• Vertex Cover , Clique et Independent Set sont Vertex Cover , Clique et Independent Set sont en fait le même problème, vu sous des facettes en fait le même problème, vu sous des facettes différentes ! différentes !

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

30 mars 2007 Cours de graphes 9 - Intranet 71

Couplages, vertex cover et autresCouplages, vertex cover et autres----------------------------------------------------------------------------------------------------------------------------------

• Vertex Cover , Clique et Independent Set sont Vertex Cover , Clique et Independent Set sont en fait le même problème, vu sous des facettes en fait le même problème, vu sous des facettes différentes ! différentes !

• Une application pour Independent Set :Une application pour Independent Set :

– Soient des sommets qui représentent tous les Soient des sommets qui représentent tous les emplacements potentiels de succursales dans emplacements potentiels de succursales dans une ville.une ville.

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

30 mars 2007 Cours de graphes 9 - Intranet 72

Couplages, vertex cover et autresCouplages, vertex cover et autres----------------------------------------------------------------------------------------------------------------------------------

• Vertex Cover , Clique et Independent Set sont Vertex Cover , Clique et Independent Set sont en fait le même problème, vu sous des facettes en fait le même problème, vu sous des facettes différentes ! différentes !

• Une application pour Independent Set :Une application pour Independent Set :

– Soient des sommets qui représentent tous les Soient des sommets qui représentent tous les emplacements potentiels de succursales dans emplacements potentiels de succursales dans une ville.une ville.

– Soient les arêtes qui représentent une Soient les arêtes qui représentent une concurrence trop forte ( et donc un mauvais concurrence trop forte ( et donc un mauvais investissement ) due à une trop grande investissement ) due à une trop grande proximité entre deux sites.proximité entre deux sites.

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

30 mars 2007 Cours de graphes 9 - Intranet 73

Couplages, vertex cover et autresCouplages, vertex cover et autres----------------------------------------------------------------------------------------------------------------------------------

• Vertex Cover , Clique et Independent Set sont en fait Vertex Cover , Clique et Independent Set sont en fait le même problème, vu sous des facettes différentes ! 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 Soient des sommets qui représentent tous les emplacements potentiels de succursales dans une emplacements potentiels de succursales dans une ville.ville.

– Soient les arêtes qui représentent une concurrence Soient les arêtes qui représentent une concurrence trop forte ( et donc un mauvais investissement ) due trop forte ( et donc un mauvais investissement ) due à une trop grande proximité entre deux sites.à une trop grande proximité entre deux sites.

• Maximiser le stable revient à trouver la meilleure Maximiser le stable revient à trouver la meilleure saturation de la ville avec des succursales, sans risquer saturation de la ville avec des succursales, sans risquer une trop grande concurrence entre elles.une trop grande concurrence entre elles.

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

30 mars 2007 Cours de graphes 9 - Intranet 74

Couplages, vertex cover et autresCouplages, vertex cover et autres----------------------------------------------------------------------------------------------------------------------------------

• Un exemple ayant 24 sommets : Un exemple ayant 24 sommets :

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

30 mars 2007 Cours de graphes 9 - Intranet 75

Couplages, vertex cover et autresCouplages, vertex cover et autres----------------------------------------------------------------------------------------------------------------------------------

• Un exemple ayant 24 sommets : Un exemple ayant 24 sommets :

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

30 mars 2007 Cours de graphes 9 - Intranet 76

Couplages, vertex cover et autresCouplages, vertex cover et autres----------------------------------------------------------------------------------------------------------------------------------

• Un exemple ayant 24 sommets : Un exemple ayant 24 sommets :

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

30 mars 2007 Cours de graphes 9 - Intranet 77

ApplicationsApplications----------------------------------------------------------------------------------------------------------------------------------

D I G R E S S I O N :D I G R E S S I O N :

A L G O R I T H M E SA L G O R I T H M E S

D ‘ A P P R O X I M A T I O D ‘ A P P R O X I M A T I O NN

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

30 mars 2007 Cours de graphes 9 - Intranet 78

Algorithmes d’approximationAlgorithmes d’approximation----------------------------------------------------------------------------------------------------------------------------------

• Pour des raison pratiques,Pour des raison pratiques,

– nous renonçons à la solution optimale,nous renonçons à la solution optimale,

– pour avoir une solution en temps polynômial !pour avoir une solution en temps polynômial !

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

30 mars 2007 Cours de graphes 9 - Intranet 79

Algorithmes d’approximationAlgorithmes d’approximation----------------------------------------------------------------------------------------------------------------------------------

• Pour des raison pratiques,Pour des raison pratiques,

– nous renonçons à la solution optimale,nous renonçons à la solution optimale,

– pour avoir une solution en temps polynômial !pour avoir une solution en temps polynômial !

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

30 mars 2007 Cours de graphes 9 - Intranet 80

Algorithmes d’approximationAlgorithmes d’approximation----------------------------------------------------------------------------------------------------------------------------------

• Pour des raison pratiques,Pour des raison pratiques,

– nous renonçons à la solution optimale,nous renonçons à la solution optimale,

– pour avoir une solution en temps polynômial !pour avoir une solution en temps polynômial !

• Ceci peut se faire à l’aide d’heuristiques Ceci peut se faire à l’aide d’heuristiques quelconques, qui n’offrent aucune garantie de quelconques, qui n’offrent aucune garantie de qualité !qualité !

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

30 mars 2007 Cours de graphes 9 - Intranet 81

Algorithmes d’approximationAlgorithmes d’approximation----------------------------------------------------------------------------------------------------------------------------------

• Pour des raison pratiques,Pour des raison pratiques,

– nous renonçons à la solution optimale,nous renonçons à la solution optimale,

– pour avoir une solution en temps polynômial !pour avoir une solution en temps polynômial !

• Ceci peut se faire à l’aide d’heuristiques Ceci peut se faire à l’aide d’heuristiques quelconques, qui n’offrent aucune garantie de quelconques, qui n’offrent aucune garantie de qualité !qualité !

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

30 mars 2007 Cours de graphes 9 - Intranet 82

Algorithmes d’approximationAlgorithmes d’approximation----------------------------------------------------------------------------------------------------------------------------------

• Une heuristique quelconque est un programme Une heuristique quelconque est un programme quiqui

– utilise un temps polynômial plus ou moins utilise un temps polynômial plus ou moins grand,grand,

– pour appliquer des arguments plus ou moins pour appliquer des arguments plus ou moins sophistiqués,sophistiqués,

– qui donnent une solution plus ou moins bonne,qui donnent une solution plus ou moins bonne,

– sur une partie plus ou moins grande des sur une partie plus ou moins grande des instances du problème !instances du problème !

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

30 mars 2007 Cours de graphes 9 - Intranet 83

Algorithmes d’approximationAlgorithmes d’approximation----------------------------------------------------------------------------------------------------------------------------------

• Une heuristique quelconque est un programme Une heuristique quelconque est un programme quiqui

– utilise un temps polynômial plus ou moins utilise un temps polynômial plus ou moins grand,grand,

– pour appliquer des arguments plus ou moins pour appliquer des arguments plus ou moins sophistiqués,sophistiqués,

– qui donnent une solution plus ou moins bonne,qui donnent une solution plus ou moins bonne,

– sur une partie plus ou moins grande des sur une partie plus ou moins grande des instances du problème !instances du problème !

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

30 mars 2007 Cours de graphes 9 - Intranet 84

Algorithmes d’approximationAlgorithmes d’approximation----------------------------------------------------------------------------------------------------------------------------------

• Un algorithme d’approximation à un facteur Un algorithme d’approximation à un facteur près est un programme quiprès est un programme qui

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

30 mars 2007 Cours de graphes 9 - Intranet 85

Algorithmes d’approximationAlgorithmes d’approximation----------------------------------------------------------------------------------------------------------------------------------

• Un algorithme d’approximation à un facteur Un algorithme d’approximation à un facteur près est un programme quiprès est un programme qui

– utilise un temps polynômial connu,utilise un temps polynômial connu,

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

30 mars 2007 Cours de graphes 9 - Intranet 86

Algorithmes d’approximationAlgorithmes d’approximation----------------------------------------------------------------------------------------------------------------------------------

• Un algorithme d’approximation à un facteur Un algorithme d’approximation à un facteur près est un programme quiprès est un programme qui

– utilise un temps polynômial connu,utilise un temps polynômial connu,

– pour donner une solution optimale au facteur pour donner une solution optimale au facteur prèsprès

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

30 mars 2007 Cours de graphes 9 - Intranet 87

Algorithmes d’approximationAlgorithmes d’approximation----------------------------------------------------------------------------------------------------------------------------------

• Un algorithme d’approximation à un facteur Un algorithme d’approximation à un facteur près est un programme quiprès est un programme qui

– utilise un temps polynômial connu,utilise un temps polynômial connu,

– pour donner une solution optimale au facteur pour donner une solution optimale au facteur prèsprès

– et ce quelle que soit l’instance donnée du et ce quelle que soit l’instance donnée du problème !problème !

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

30 mars 2007 Cours de graphes 9 - Intranet 88

Algorithmes d’approximationAlgorithmes d’approximation----------------------------------------------------------------------------------------------------------------------------------

• Un algorithme d’approximation à un facteur Un algorithme d’approximation à un facteur près est un programme quiprès est un programme qui

– utilise un temps polynômial connu,utilise un temps polynômial connu,

– pour donner une solution optimale au facteur pour donner une solution optimale au facteur prèsprès

– et ce quelle que soit l’instance donnée du et ce quelle que soit l’instance donnée du problème !problème !

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

30 mars 2007 Cours de graphes 9 - Intranet 89

Algorithmes d’approximationAlgorithmes d’approximation----------------------------------------------------------------------------------------------------------------------------------

• Un algorithme d’approximation à un facteur Un algorithme d’approximation à un facteur près près est un programme quiest un programme qui

– utilise un temps polynômial connu,utilise un temps polynômial connu,

– pour donner une solution optimale au facteur pour donner une solution optimale au facteur prèsprès

– et ce quelle que soit l’instance donnée du et ce quelle que soit l’instance donnée du problème !problème !

• Si la meilleure solution ( inconnue ) vaut Si la meilleure solution ( inconnue ) vaut optopt , alors , alors nous sommes assurés d’obtenir une solution nous sommes assurés d’obtenir une solution solsol telle telle queque

opt <= sol <= opt <= sol <= * opt * opt

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

30 mars 2007 Cours de graphes 9 - Intranet 90

Algorithmes d’approximationAlgorithmes d’approximation----------------------------------------------------------------------------------------------------------------------------------

• Un algorithme d’approximation à un facteur Un algorithme d’approximation à un facteur près près est un programme quiest un programme qui

– utilise un temps polynômial connu,utilise un temps polynômial connu,

– pour donner une solution optimale au facteur pour donner une solution optimale au facteur prèsprès

– et ce quelle que soit l’instance donnée du et ce quelle que soit l’instance donnée du problème !problème !

• Si la meilleure solution ( inconnue ) vaut Si la meilleure solution ( inconnue ) vaut optopt , alors , alors nous sommes assurés d’obtenir une solution nous sommes assurés d’obtenir une solution solsol telle telle queque

sol = sol = * opt * opt

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

30 mars 2007 Cours de graphes 9 - Intranet 91

Algorithmes d’approximationAlgorithmes d’approximation----------------------------------------------------------------------------------------------------------------------------------

• Pour le « Voyageur de Commerce euclidien » Pour le « Voyageur de Commerce euclidien » ( inégalité triangulaire ) nous avons ( inégalité triangulaire ) nous avons construit une solution à un facteur 2 près !construit une solution à un facteur 2 près !

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

30 mars 2007 Cours de graphes 9 - Intranet 92

Algorithmes d’approximationAlgorithmes d’approximation----------------------------------------------------------------------------------------------------------------------------------

• Pour le « Voyageur de Commerce euclidien » Pour le « Voyageur de Commerce euclidien » ( inégalité triangulaire ) nous avons ( inégalité triangulaire ) nous avons construit une solution à un facteur 2 près !construit une solution à un facteur 2 près !

• Il s’agissait deIl s’agissait de

– trouver un arbre de recouvrement minimal,trouver un arbre de recouvrement minimal,

– en doubler les arêtes pour en faire un circuiten doubler les arêtes pour en faire un circuit

– et d’éviter de passer plusieurs fois par un et d’éviter de passer plusieurs fois par un sommet ( ce qui ne rallonge pas les sommet ( ce qui ne rallonge pas les distances ) .distances ) .

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

30 mars 2007 Cours de graphes 9 - Intranet 93

Algorithmes d’approximationAlgorithmes d’approximation----------------------------------------------------------------------------------------------------------------------------------

• Pour le « Voyageur de Commerce euclidien » Pour le « Voyageur de Commerce euclidien » ( inégalité triangulaire ) nous avons construit une ( inégalité triangulaire ) nous avons construit une solution à un facteur 2 près !solution à un facteur 2 près !

• Il s’agissait deIl s’agissait de

– trouver un arbre de recouvrement minimal,trouver un arbre de recouvrement minimal,

– en doubler les arêtes pour en faire un circuiten doubler les arêtes pour en faire un circuit

– et d’éviter de passer plusieurs fois par un et d’éviter de passer plusieurs fois par un sommet ( ce qui ne rallonge pas les distances ) .sommet ( ce qui ne rallonge pas les distances ) .

• La complexité est en O ( | E | * log ( | E | ) ) .La complexité est en O ( | E | * log ( | E | ) ) .

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

30 mars 2007 Cours de graphes 9 - Intranet 94

Algorithmes d’approximationAlgorithmes d’approximation----------------------------------------------------------------------------------------------------------------------------------

• Théorème :Théorème :

– Pour le problème « Independent Set » il Pour le problème « Independent Set » il n’existe pas d’algorithme polynômial qui n’existe pas d’algorithme polynômial qui donne unedonne une solution optimale à un facteur solution optimale à un facteur près, quel que soit près, quel que soit , à moins que , à moins que PP ne ne soit égale à soit égale à NPNP ! !

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

30 mars 2007 Cours de graphes 9 - Intranet 95

Algorithmes d’approximationAlgorithmes d’approximation----------------------------------------------------------------------------------------------------------------------------------

• Théorème :Théorème :

– Pour le problème « Independent Set » il Pour le problème « Independent Set » il n’existe pas d’algorithme polynômial qui n’existe pas d’algorithme polynômial qui donne unedonne une solution optimale à un facteur solution optimale à un facteur près, quel que soit près, quel que soit , à moins que , à moins que PP ne ne soit égale à soit égale à NPNP ! !

• Il y a des instances de Independent Set , tout Il y a des instances de Independent Set , tout comme de Vertex Cover et Clique , qui ne comme de Vertex Cover et Clique , qui ne peuvent pas être approchées en temps peuvent pas être approchées en temps polynômial à un facteur 2 ou 5 ou 1000 polynômial à un facteur 2 ou 5 ou 1000 près ! ! !près ! ! !

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

30 mars 2007 Cours de graphes 9 - Intranet 96

Algorithmes d’approximationAlgorithmes d’approximation----------------------------------------------------------------------------------------------------------------------------------

• Théorème :Théorème :

– Pour le problème « Independent Set » il Pour le problème « Independent Set » il n’existe pas d’algorithme polynômial qui n’existe pas d’algorithme polynômial qui donne unedonne une solution optimale à un facteur solution optimale à un facteur près, quel que soit près, quel que soit , à moins que , à moins que PP ne ne soit égale à soit égale à NPNP ! !

• Il y a des instances de Independent Set , tout Il y a des instances de Independent Set , tout comme de Vertex Cover et Clique , qui ne comme de Vertex Cover et Clique , qui ne peuvent pas être approchées en temps peuvent pas être approchées en temps polynômial à un facteur 2 ou 5 ou 1000 polynômial à un facteur 2 ou 5 ou 1000 près ! ! !près ! ! !

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

30 mars 2007 Cours de graphes 9 - Intranet 97

Algorithmes d’approximationAlgorithmes d’approximation----------------------------------------------------------------------------------------------------------------------------------

• Théorème :Théorème :

– Pour le problème « Independent Set » il Pour le problème « Independent Set » il n’existe pas d’algorithme polynômial qui n’existe pas d’algorithme polynômial qui donne unedonne une solution optimale à un facteur solution optimale à un facteur près, quel que soit près, quel que soit , à moins que , à moins que PP ne ne soit égale à soit égale à NPNP ! !

• Il y a des instances de Independent Set , tout Il y a des instances de Independent Set , tout comme de Vertex Cover et Clique , qui ne comme de Vertex Cover et Clique , qui ne peuvent pas être approchées en temps peuvent pas être approchées en temps polynômial à un facteur 2 ou 5 ou 1000 polynômial à un facteur 2 ou 5 ou 1000 près ! ! !près ! ! !

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

30 mars 2007 Cours de graphes 9 - Intranet 98

Algorithmes d’approximationAlgorithmes d’approximation----------------------------------------------------------------------------------------------------------------------------------

• Pour Independent Set , la complexité dépend du Pour Independent Set , la complexité dépend du degré D ( G ) du graphe. Et, nous avons les degré D ( G ) du graphe. Et, nous avons les résultats :résultats :

– Pour D ( G ) = 3 , nous ne pouvons pas Pour D ( G ) = 3 , nous ne pouvons pas approximer en temps polynômial à un facteur approximer en temps polynômial à un facteur = 1,0005 près. = 1,0005 près.

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

30 mars 2007 Cours de graphes 9 - Intranet 99

Algorithmes d’approximationAlgorithmes d’approximation----------------------------------------------------------------------------------------------------------------------------------

• Pour Independent Set , la complexité dépend du Pour Independent Set , la complexité dépend du degré D ( G ) du graphe. Et, nous avons les résultats :degré D ( G ) du graphe. Et, nous avons les résultats :

– Pour D ( G ) = 3 , nous ne pouvons pas Pour D ( G ) = 3 , nous ne pouvons pas approximer en temps polynômial à un facteur approximer en temps polynômial à un facteur = = 1,0005 près.1,0005 près.

– Pour D ( G ) = 4 , nous ne pouvons pas Pour D ( G ) = 4 , nous ne pouvons pas approximer en temps polynômial à un facteur approximer en temps polynômial à un facteur = = 1,0018 près.1,0018 près.

– Pour D ( G ) = 5 , nous ne pouvons pas Pour D ( G ) = 5 , nous ne pouvons pas approximer en temps polynômial à un facteur approximer en temps polynômial à un facteur = = 1,003 près.1,003 près.

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

30 mars 2007 Cours de graphes 9 - Intranet 100

Algorithmes d’approximationAlgorithmes d’approximation----------------------------------------------------------------------------------------------------------------------------------

• Pour Independent Set , la complexité dépend du Pour Independent Set , la complexité dépend du degré D ( G ) du graphe. Et, nous avons les résultats :degré D ( G ) du graphe. Et, nous avons les résultats :

– Pour D ( G ) = 3 , nous ne pouvons pas approximer Pour D ( G ) = 3 , nous ne pouvons pas approximer en temps polynômial à un facteur en temps polynômial à un facteur = 1,0005 près. = 1,0005 près.

– Pour D ( G ) = 4 , nous ne pouvons pas approximer Pour D ( G ) = 4 , nous ne pouvons pas approximer en temps polynômial à un facteur en temps polynômial à un facteur = 1,0018 près. = 1,0018 près.

– Pour D ( G ) = 5 , nous ne pouvons pas approximer Pour D ( G ) = 5 , nous ne pouvons pas approximer en temps polynômial à un facteur en temps polynômial à un facteur = 1,003 près. = 1,003 près.

– Pour Pour petit, nous ne pouvons pas approximer en petit, nous ne pouvons pas approximer en temps polynômial à un facteur temps polynômial à un facteur = D ( G ) ^ = D ( G ) ^ près. près.

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

30 mars 2007 Cours de graphes 9 - Intranet 101

Algorithmes d’approximationAlgorithmes d’approximation----------------------------------------------------------------------------------------------------------------------------------

• Pour Independent Set , la complexité dépend du Pour Independent Set , la complexité dépend du degré 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 Nous pouvons approximer en temps polynômial à un facteur à un facteur = ( D ( G ) + 3 ) / 5 près. = ( D ( G ) + 3 ) / 5 près.

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

30 mars 2007 Cours de graphes 9 - Intranet 102

Algorithmes d’approximationAlgorithmes d’approximation----------------------------------------------------------------------------------------------------------------------------------

• Pour Independent Set , la complexité dépend du Pour Independent Set , la complexité dépend du degré 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 Nous pouvons approximer en temps polynômial à un facteur à un facteur = ( D ( G ) + 3 ) / 5 près. = ( D ( G ) + 3 ) / 5 près.

– Nous pouvons approximer en temps polynômial Nous pouvons approximer en temps polynômial à à = ( D ( G ) * log log D ( G ) ) / log D ( G ) = ( D ( G ) * log log D ( G ) ) / log D ( G ) près.près.

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

30 mars 2007 Cours de graphes 9 - Intranet 103

Algorithmes d’approximationAlgorithmes d’approximation----------------------------------------------------------------------------------------------------------------------------------

• Pour Independent Set , la complexité dépend du Pour Independent Set , la complexité dépend du degré 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 Nous pouvons approximer en temps polynômial à un facteur à un facteur = ( D ( G ) + 3 ) / 5 près. = ( D ( G ) + 3 ) / 5 près.

– Nous pouvons approximer en temps polynômial Nous pouvons approximer en temps polynômial à à = ( D ( G ) * log log D ( G ) ) / log D ( G ) = ( D ( G ) * log log D ( G ) ) / log D ( G ) près.près.

– Pour D ( G ) grand, la seconde formule est Pour D ( G ) grand, la seconde formule est meilleure.meilleure.

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

30 mars 2007 Cours de graphes 9 - Intranet 104

Algorithmes d’approximationAlgorithmes d’approximation----------------------------------------------------------------------------------------------------------------------------------

• Pour Independent Set , la complexité dépend du Pour Independent Set , la complexité dépend du degré 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 Nous pouvons approximer en temps polynômial à un facteur à un facteur = ( D ( G ) + 3 ) / 5 près. = ( D ( G ) + 3 ) / 5 près.

– Nous pouvons approximer en temps polynômial Nous pouvons approximer en temps polynômial à à = ( D ( G ) * log log D ( G ) ) / log D ( G ) = ( D ( G ) * log log D ( G ) ) / log D ( G ) près.près.

– Pour D ( G ) grand, la seconde formule est Pour D ( G ) grand, la seconde formule est meilleure.meilleure.

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

30 mars 2007 Cours de graphes 9 - Intranet 105

ApplicationsApplications----------------------------------------------------------------------------------------------------------------------------------

V A R I A N T E SV A R I A N T E S

D E P R O B L E M E SD E P R O B L E M E S

D E F L O TD E F L O T

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

30 mars 2007 Cours de graphes 9 - Intranet 106

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Le problème de flot tel que nous l’avons Le problème de flot tel que nous l’avons regardé est en fait la variante la plus simple regardé est en fait la variante la plus simple de toute une famille de problèmes de flot !de toute une famille de problèmes de flot !

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

30 mars 2007 Cours de graphes 9 - Intranet 107

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Le problème de flot tel que nous l’avons Le problème de flot tel que nous l’avons regardé est en fait la variante la plus simple regardé est en fait la variante la plus simple de toute une famille de problèmes de flot !de toute une famille de problèmes de flot !

• L’extension la plus simple consiste à introduire L’extension la plus simple consiste à introduire plusieurs sources et plusieurs puits !plusieurs sources et plusieurs puits !

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

30 mars 2007 Cours de graphes 9 - Intranet 108

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Le problème de flot tel que nous l’avons Le problème de flot tel que nous l’avons regardé est en fait la variante la plus simple regardé est en fait la variante la plus simple de toute une famille de problèmes de flot !de toute une famille de problèmes de flot !

• L’extension la plus simple consiste à introduire L’extension la plus simple consiste à introduire plusieurs sources et plusieurs puits !plusieurs sources et plusieurs puits !

• Elle ne change rien à la problématique, car il Elle ne change rien à la problématique, car il suffit de rajouter une « super-source » et un suffit de rajouter une « super-source » et un « super-puits » pour se ramaner à la situation « super-puits » pour se ramaner à la situation de départ.de départ.

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

30 mars 2007 Cours de graphes 9 - Intranet 109

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Le problème de flot tel que nous l’avons regardé Le problème de flot tel que nous l’avons regardé est en fait la variante la plus simple de toute une est en fait la variante la plus simple de toute une famille de problèmes de flot !famille de problèmes de flot !

• L’extension la plus simple consiste à introduire L’extension la plus simple consiste à introduire plusieurs sources et plusieurs puits !plusieurs sources et plusieurs puits !

• Elle ne change rien à la problématique, car il suffit Elle ne change rien à la problématique, car il suffit de rajouter une « super-source » et un « super-de rajouter une « super-source » et un « super-puits » pour se ramaner à la situation de départ.puits » pour se ramaner à la situation de départ.

• C’est différent lorsque chaque source produit une C’est différent lorsque chaque source produit une couleur différente, destinée au puits couleur différente, destinée au puits correspondant.correspondant.

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

30 mars 2007 Cours de graphes 9 - Intranet 110

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Multi-commodity Flow Problem !Multi-commodity Flow Problem !

– Nous avons n sources et n puits. Chaque Nous avons n sources et n puits. Chaque source produit une couleur différente, source produit une couleur différente, destinée au puits qui lui correspond. La destinée au puits qui lui correspond. La demande est d .demande est d . ii

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

30 mars 2007 Cours de graphes 9 - Intranet 111

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Multi-commodity Flow Problem !Multi-commodity Flow Problem !

– Nous avons n sources et n puits. Chaque Nous avons n sources et n puits. Chaque source produit une couleur différente, source produit une couleur différente, destinée au puits qui lui correspond. La destinée au puits qui lui correspond. La demande est d .demande est d .

– Respect des capacités :Respect des capacités :

ii

f ( u , v ) <= c ( u , v )f ( u , v ) <= c ( u , v )ii

ii

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

30 mars 2007 Cours de graphes 9 - Intranet 112

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Multi-commodity Flow Problem !Multi-commodity Flow Problem !

– Nous avons n sources et n puits. Chaque Nous avons n sources et n puits. Chaque source produit une couleur différente, source produit une couleur différente, destinée au puits qui lui correspond. La destinée au puits qui lui correspond. La demande est d .demande est d .

– Respect des capacités :Respect des capacités :

– Conservation,Conservation, pas de mélange :pas de mélange :

ii

f ( u , v ) <= c ( u , v )f ( u , v ) <= c ( u , v )ii

ii

f ( u , v ) = 0 si u = s , pf ( u , v ) = 0 si u = s , pii ii ii

//vv

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

30 mars 2007 Cours de graphes 9 - Intranet 113

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Multi-commodity Flow Problem !Multi-commodity Flow Problem !

– Nous avons n sources et n puits. Chaque Nous avons n sources et n puits. Chaque source produit une couleur différente, source produit une couleur différente, destinée au puits qui lui correspond. La destinée au puits qui lui correspond. La demande est d .demande est d .

– Respect des capacités :Respect des capacités :

– Conservation,Conservation, pas de mélange :pas de mélange :

– Respect des demandes : Respect des demandes :

ii

f ( u , v ) <= c ( u , v )f ( u , v ) <= c ( u , v )ii

ii

f ( u , v ) = 0 si u = s , pf ( u , v ) = 0 si u = s , pii ii ii

//vv

f ( s , v ) = f ( s , v ) = f ( v , p ) = f ( v , p ) = ddii ii iiii iivv vv

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

30 mars 2007 Cours de graphes 9 - Intranet 114

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Complexité du Multi-commodity Flow Complexité du Multi-commodity Flow Problem :Problem :

– Si les flots sont des entiers, le problème de Si les flots sont des entiers, le problème de décision sous-jacent est NP–complet déjà décision sous-jacent est NP–complet déjà pour deux sources et puits.pour deux sources et puits.

– Le problème est par contre polynômial si les Le problème est par contre polynômial si les flots sont des réels ! ! !flots sont des réels ! ! !

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

30 mars 2007 Cours de graphes 9 - Intranet 115

Variantes de problèmes de flotVariantes 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 Si les flots sont des entiers, le problème de décision sous-jacent est NP–complet déjà pour décision sous-jacent est NP–complet déjà pour deux sources et puits.deux sources et puits.

– Le problème est par contre polynômial si les flots Le problème est par contre polynômial si les flots sont des réels ! ! !sont des réels ! ! !

• Analogie :Analogie :

– La programmation linéaire en nombres entiers est La programmation linéaire en nombres entiers est NP–complète !NP–complète !

– La programmation linéaire dans un univers continu La programmation linéaire dans un univers continu est polynômiale !est polynômiale !

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

30 mars 2007 Cours de graphes 9 - Intranet 116

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Minimum Cost Flow Problem !Minimum Cost Flow Problem !

– C’est un problème de flot mono-source et C’est un problème de flot mono-source et puits.puits.

– A chaque arc ( u , v ) nous associons un A chaque arc ( u , v ) nous associons un coût a ( u , v ) !coût a ( u , v ) !

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

30 mars 2007 Cours de graphes 9 - Intranet 117

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Minimum Cost Flow Problem !Minimum Cost Flow Problem !

– C’est un problème de flot mono-source et C’est un problème de flot mono-source et puits.puits.

– A chaque arc ( u , v ) nous associons un A chaque arc ( u , v ) nous associons un coût a ( u , v ) !coût a ( u , v ) !

• L’objectif est de minimiser le coût total d’un L’objectif est de minimiser le coût total d’un flot de valeur d donné :flot de valeur d donné :

f ( s , v ) =f ( s , v ) = ddvv

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

30 mars 2007 Cours de graphes 9 - Intranet 118

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Minimum Cost Flow Problem !Minimum Cost Flow Problem !

– C’est un problème de flot mono-source et C’est un problème de flot mono-source et puits.puits.

– A chaque arc ( u , v ) nous associons un A chaque arc ( u , v ) nous associons un coût a ( u , v ) !coût a ( u , v ) !

• L’objectif est de minimiser le coût total d’un L’objectif est de minimiser le coût total d’un flot de valeur d donné :flot de valeur d donné :

f ( s , v ) =f ( s , v ) = ddvv

Minimiser : Minimiser : a ( u , v ) * f ( u , v ) a ( u , v ) * f ( u , v )

u , vu , v

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

30 mars 2007 Cours de graphes 9 - Intranet 119

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Minimum Cost Minimum Cost MaxMax Flow Problem ! Flow Problem !

– C’est un problème de flot mono-source et C’est un problème de flot mono-source et puits.puits.

– A chaque arc ( u , v ) nous associons un A chaque arc ( u , v ) nous associons un coût a ( u , v ) !coût a ( u , v ) !

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

30 mars 2007 Cours de graphes 9 - Intranet 120

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Minimum Cost Minimum Cost MaxMax Flow Problem ! Flow Problem !

– C’est un problème de flot mono-source et C’est un problème de flot mono-source et puits.puits.

– A chaque arc ( u , v ) nous associons un A chaque arc ( u , v ) nous associons un coût a ( u , v ) !coût a ( u , v ) !

• L’objectif est de minimiser le coût total du L’objectif est de minimiser le coût total du meilleurmeilleur flot qui peut être atteint : flot qui peut être atteint :

Maximiser : Maximiser : f ( s , v ) f ( s , v )vv

tout en minimisant : tout en minimisant : a ( u , v ) * f ( u , v ) a ( u , v ) * f ( u , v )

u , vu , v

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

30 mars 2007 Cours de graphes 9 - Intranet 121

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Résolution du Minimum Cost Max Flow Résolution du Minimum Cost Max Flow Problem :Problem :

• Le problème est simple, car il suffit d’adapter Le problème est simple, car il suffit d’adapter le principe de Ford & Fulkerson.le principe de Ford & Fulkerson.

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

30 mars 2007 Cours de graphes 9 - Intranet 122

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Résolution du Minimum Cost Max Flow Résolution du Minimum Cost Max Flow Problem :Problem :

• Le problème est simple, car il suffit d’adapter Le problème est simple, car il suffit d’adapter le principe de Ford & Fulkerson.le principe de Ford & Fulkerson.

• Nous allons chercher le chemin augmentant Nous allons chercher le chemin augmentant dont le coût total est le plus faible. Le poids de dont le coût total est le plus faible. Le poids de ce chemin correspond au coût unitaire du flot !ce chemin correspond au coût unitaire du flot !

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

30 mars 2007 Cours de graphes 9 - Intranet 123

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Résolution du Minimum Cost Max Flow Résolution du Minimum Cost Max Flow Problem :Problem :

• Le problème est simple, car il suffit d’adapter Le problème est simple, car il suffit d’adapter le principe de Ford & Fulkerson.le principe de Ford & Fulkerson.

• Nous allons chercher le chemin augmentant Nous allons chercher le chemin augmentant dont le coût total est le plus faible. Le poids de dont le coût total est le plus faible. Le poids de ce chemin correspond au coût unitaire du flot !ce chemin correspond au coût unitaire du flot !

• C’est l’algorithme de Dijkstra !C’est l’algorithme de Dijkstra !

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

30 mars 2007 Cours de graphes 9 - Intranet 124

Variantes de problèmes de flotVariantes 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 d’adapter le Le problème est simple, car il suffit d’adapter le principe de Ford & Fulkerson.principe de Ford & Fulkerson.

• Nous allons chercher le chemin augmentant dont le Nous allons chercher le chemin augmentant dont le coût total est le plus faible. Le poids de ce chemin coût total est le plus faible. Le poids de ce chemin correspond au coût unitaire du flot !correspond au coût unitaire du flot !

• C’est l’algorithme de Dijkstra !C’est l’algorithme de Dijkstra !

• La complexité est la même que pour la version sans La complexité est la même que pour la version sans les coûts, car nous avons la même complexité pour les coûts, car nous avons la même complexité pour la vague et Dijkstra ! ! !la vague et Dijkstra ! ! !

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

30 mars 2007 Cours de graphes 9 - Intranet 125

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Circulation Problem, le problème le plus Circulation Problem, le problème le plus général ! ! !général ! ! !

• Le puits est relié à la source et ils doivent Le puits est relié à la source et ils doivent aussi conserver le flot, d’où le nom de aussi conserver le flot, d’où le nom de circulation !circulation !

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

30 mars 2007 Cours de graphes 9 - Intranet 126

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Circulation Problem, le problème le plus Circulation Problem, le problème le plus général ! ! !général ! ! !

• Le puits est relié à la source et ils doivent Le puits est relié à la source et ils doivent aussi conserver le flot, d’où le nom de aussi conserver le flot, d’où le nom de circulation !circulation !

• En plus de la capacité maximale c ( u , v ) , En plus de la capacité maximale c ( u , v ) , nous associons à l’arc ( u , v ) une capacité nous associons à l’arc ( u , v ) une capacité minimale notée l ( u , v ) !minimale notée l ( u , v ) !

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

30 mars 2007 Cours de graphes 9 - Intranet 127

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Circulation Problem, le problème le plus Circulation Problem, le problème le plus général ! ! !général ! ! !

• Le puits est relié à la source et ils doivent Le puits est relié à la source et ils doivent aussi conserver le flot, d’où le nom de aussi conserver le flot, d’où le nom de circulation !circulation !

• En plus de la capacité maximale c ( u , v ) , En plus de la capacité maximale c ( u , v ) , nous associons à l’arc ( u , v ) une capacité nous associons à l’arc ( u , v ) une capacité minimale notée l ( u , v ) !minimale notée l ( u , v ) !

• Pour un flot d donné, il s’agit de trouver une Pour un flot d donné, il s’agit de trouver une circulation :circulation :

f ( p , s ) = df ( p , s ) = d

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

30 mars 2007 Cours de graphes 9 - Intranet 128

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Circulation Problem, le problème le plus Circulation Problem, le problème le plus général ! ! !général ! ! !

• Le puits est relié à la source et ils doivent Le puits est relié à la source et ils doivent aussi conserver le flot, d’où le nom de aussi conserver le flot, d’où le nom de circulation !circulation !

• En plus de la capacité maximale c ( u , v ) , En plus de la capacité maximale c ( u , v ) , nous associons à l’arc ( u , v ) une capacité nous associons à l’arc ( u , v ) une capacité minimale notée l ( u , v ) !minimale notée l ( u , v ) !

• Pour un flot d donné, il s’agit de trouver une Pour un flot d donné, il s’agit de trouver une circulation :circulation :

l ( u , v ) <=l ( u , v ) <=f ( u , v ) <= c ( u , v )f ( u , v ) <= c ( u , v )

f ( p , s ) = df ( p , s ) = d

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

30 mars 2007 Cours de graphes 9 - Intranet 129

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Circulation Problem, le problème le plus Circulation Problem, le problème le plus général ! ! !général ! ! !

• Le puits est relié à la source et ils doivent Le puits est relié à la source et ils doivent aussi conserver le flot, d’où le nom de aussi conserver le flot, d’où le nom de circulation !circulation !

• En plus de la capacité maximale c ( u , v ) , En plus de la capacité maximale c ( u , v ) , nous associons à l’arc ( u , v ) une capacité nous associons à l’arc ( u , v ) une capacité minimale notée l ( u , v ) !minimale notée l ( u , v ) !

• Pour un flot d donné, il s’agit de trouver une Pour un flot d donné, il s’agit de trouver une circulation :circulation :

l ( u , v ) <=l ( u , v ) <=f ( u , v ) <= c ( u , v )f ( u , v ) <= c ( u , v )

f ( u , v ) = 0f ( u , v ) = 0vv

f ( p , s ) = df ( p , s ) = d

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

30 mars 2007 Cours de graphes 9 - Intranet 130

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Circulation Problem, le problème le plus Circulation Problem, le problème le plus général ! ! !général ! ! !

• Le puits est relié à la source et ils doivent Le puits est relié à la source et ils doivent aussi conserver le flot, d’où le nom de aussi conserver le flot, d’où le nom de circulation !circulation !

• En plus de la capacité maximale c ( u , v ) , En plus de la capacité maximale c ( u , v ) , nous associons à l’arc ( u , v ) une capacité nous associons à l’arc ( u , v ) une capacité minimale notée l ( u , v ) !minimale notée l ( u , v ) !

• Pour un flot d donné, il s’agit de trouver une Pour un flot d donné, il s’agit de trouver une circulation :circulation :

l ( u , v ) <=l ( u , v ) <=f ( u , v ) <= c ( u , v )f ( u , v ) <= c ( u , v )

f ( u , v ) = 0f ( u , v ) = 0vv

f ( p , s ) = df ( p , s ) = d

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

30 mars 2007 Cours de graphes 9 - Intranet 131

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Tout est polynômial sauf le multi-commodity Tout est polynômial sauf le multi-commodity en nombres entiers !en nombres entiers !

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

30 mars 2007 Cours de graphes 9 - Intranet 132

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Tout est polynômial sauf le multi-commodity Tout est polynômial sauf le multi-commodity en nombres entiers !en nombres entiers !

• Nous pouvons limiter le nombre de sources à Nous pouvons limiter le nombre de sources à unité.unité.

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

30 mars 2007 Cours de graphes 9 - Intranet 133

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Tout est polynômial sauf le multi-commodity Tout est polynômial sauf le multi-commodity en nombres entiers !en nombres entiers !

• Nous pouvons limiter le nombre de sources à Nous pouvons limiter le nombre de sources à unité.unité.

• En supprimant les bornes inférieures l ( u , En supprimant les bornes inférieures l ( u , v ) , nous revenons à un classique problème de v ) , nous revenons à un classique problème de flot !flot !

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

30 mars 2007 Cours de graphes 9 - Intranet 134

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Tout est polynômial sauf le multi-commodity Tout est polynômial sauf le multi-commodity en nombres entiers !en nombres entiers !

• Nous pouvons limiter le nombre de sources à Nous pouvons limiter le nombre de sources à unité.unité.

• En supprimant les bornes inférieures l ( u , En supprimant les bornes inférieures l ( u , v ) , nous revenons à un classique problème de v ) , nous revenons à un classique problème de flot !flot !

• En annulant les coûts, nous obtenons un En annulant les coûts, nous obtenons un simple problème de flot sans coûts !simple problème de flot sans coûts !

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

30 mars 2007 Cours de graphes 9 - Intranet 135

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Tout est polynômial sauf le multi-commodity en Tout est polynômial sauf le multi-commodity en nombres entiers !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 ) , En supprimant les bornes inférieures l ( u , v ) , nous revenons à un classique problème de flot !nous revenons à un classique problème de flot !

• En annulant les coûts, nous obtenons un simple En annulant les coûts, nous obtenons un simple problème de flot sans coûts !problème de flot sans coûts !

• En portant la capacité de l’arc ( p , s ) à infini, En portant la capacité de l’arc ( p , s ) à infini, nous obtenons un problème de maximisation !nous obtenons un problème de maximisation !

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

30 mars 2007 Cours de graphes 9 - Intranet 136

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Le problème d’affectation !Le problème d’affectation !

• Il s’agit de trouver un couplage maximal, de Il s’agit de trouver un couplage maximal, de poids minimal dans un graphe bi-parti valué !poids minimal dans un graphe bi-parti valué !

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

30 mars 2007 Cours de graphes 9 - Intranet 137

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Le problème d’affectation !Le problème d’affectation !

• Il s’agit de trouver un couplage maximal, de Il s’agit de trouver un couplage maximal, de poids minimal dans un graphe bi-parti valué !poids minimal dans un graphe bi-parti valué !

• Nous avons, par exemple, des personnes et des Nous avons, par exemple, des personnes et des tâches, ainsi que des coûts de personne–tâches, ainsi que des coûts de personne–tâche !tâche !

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

30 mars 2007 Cours de graphes 9 - Intranet 138

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Le problème d’affectation !Le problème d’affectation !

• Il s’agit de trouver un couplage maximal, de Il s’agit de trouver un couplage maximal, de poids minimal dans un graphe bi-parti valué !poids minimal dans un graphe bi-parti valué !

• Nous avons, par exemple, des personnes et des Nous avons, par exemple, des personnes et des tâches, ainsi que des coûts de personne–tâches, ainsi que des coûts de personne–tâche !tâche !

• Il s’agit de trouver une bijection entre les Il s’agit de trouver une bijection entre les personnes et les tâches qui minimise la somme personnes et les tâches qui minimise la somme des coûts !des coûts !

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

30 mars 2007 Cours de graphes 9 - Intranet 139

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Le problème d’affectation !Le problème d’affectation !

• Il s’agit de trouver un couplage maximal, de poids Il s’agit de trouver un couplage maximal, de poids minimal dans un graphe bi-parti valué !minimal dans un graphe bi-parti valué !

• Nous avons, par exemple, des personnes et des Nous avons, par exemple, des personnes et des tâches, ainsi que des coûts de personne–tâche !tâches, ainsi que des coûts de personne–tâche !

• Il s’agit de trouver une bijection entre les personnes Il s’agit de trouver une bijection entre les personnes et les tâches qui minimise la somme des coûts !et les tâches qui minimise la somme des coûts !

• Si le couplage maximal et de poids minimal est NP–Si le couplage maximal et de poids minimal est NP–complet sur un graphe pondéré quelconque, il est complet sur un graphe pondéré quelconque, il est cependant polynômial sur un graphe bi-parti !cependant polynômial sur un graphe bi-parti !

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

30 mars 2007 Cours de graphes 9 - Intranet 140

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Le problème d’affectation est un cas particulier Le problème d’affectation est un cas particulier du « problème de transport » !du « problème de transport » !

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

30 mars 2007 Cours de graphes 9 - Intranet 141

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Le problème d’affectation est un cas particulier Le problème d’affectation est un cas particulier du « problème de transport » !du « problème de transport » !

• Dans le problème de transport, nous avons un Dans le problème de transport, nous avons un nombre m de mines et un nombre u d’usines, nombre m de mines et un nombre u d’usines, ainsi que des coûts de transport connus d’une ainsi que des coûts de transport connus d’une mine vers une usine ! mine vers une usine !

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

30 mars 2007 Cours de graphes 9 - Intranet 142

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Le problème d’affectation est un cas particulier Le problème d’affectation est un cas particulier du « problème de transport » !du « problème de transport » !

• Dans le problème de transport, nous avons un Dans le problème de transport, nous avons un nombre m de mines et un nombre u d’usines, nombre m de mines et un nombre u d’usines, ainsi que des coûts de transport connus d’une ainsi que des coûts de transport connus d’une mine vers une usine ! mine vers une usine !

• Chaque mine ne livre qu’une seule usine et Chaque mine ne livre qu’une seule usine et chaque usine ne se fournit qu’auprès d’une chaque usine ne se fournit qu’auprès d’une mine.mine.

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

30 mars 2007 Cours de graphes 9 - Intranet 143

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Le problème d’affectation est un cas particulier Le problème d’affectation est un cas particulier du « problème de transport » !du « problème de transport » !

• Dans le problème de transport, nous avons un Dans le problème de transport, nous avons un nombre m de mines et un nombre u d’usines, nombre m de mines et un nombre u d’usines, ainsi que des coûts de transport connus d’une ainsi que des coûts de transport connus d’une mine vers une usine !mine vers une usine !

• Chaque mine ne livre qu’une seule usine et Chaque mine ne livre qu’une seule usine et chaque usine ne se fournit qu’auprès d’une mine.chaque usine ne se fournit qu’auprès d’une mine.

• Il s’agit de trouver la correspondance qui Il s’agit de trouver la correspondance qui minimise la somme des coûts !minimise la somme des coûts !

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

30 mars 2007 Cours de graphes 9 - Intranet 144

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Le « problème de transport » est un cas Le « problème de transport » est un cas particulier du « problème de flot avec coûts » !particulier du « problème de flot avec coûts » !

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

30 mars 2007 Cours de graphes 9 - Intranet 145

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Le « problème de transport » est un cas Le « problème de transport » est un cas particulier du « problème de flot avec coûts » !particulier du « problème de flot avec coûts » !

• En effet, il suffit de rajouter une « super-mine » En effet, il suffit de rajouter une « super-mine » en amont des mines et une « super-usine » en en amont des mines et une « super-usine » en aval des usines et de bien choisir les capacités aval des usines et de bien choisir les capacités et coûts !et coûts !

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

30 mars 2007 Cours de graphes 9 - Intranet 146

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Le « problème de transport » est un cas Le « problème de transport » est un cas particulier du « problème de flot avec coûts » !particulier du « problème de flot avec coûts » !

• En effet, il suffit de rajouter une « super-mine » En effet, il suffit de rajouter une « super-mine » en amont des mines et une « super-usine » en en amont des mines et une « super-usine » en aval des usines et de bien choisir les capacités aval des usines et de bien choisir les capacités et coûts !et coûts !

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

30 mars 2007 Cours de graphes 9 - Intranet 147

Variantes de problèmes de flotVariantes de problèmes de flot----------------------------------------------------------------------------------------------------------------------------------

• Le « problème de transport » est un cas particulier du Le « problème de transport » est un cas particulier du « problème de flot avec coûts » !« problème de flot avec coûts » !

• En effet, il suffit de rajouter une « super-mine » en En effet, il suffit de rajouter une « super-mine » en amont des mines et une « super-usine » en aval des amont des mines et une « super-usine » en aval des usines et de bien choisir les capacités et coûts !usines et de bien choisir les capacités et coûts !

• Nous pouvons en fait trouver un petit nombre de Nous pouvons en fait trouver un petit nombre de problèmes qui englobe une bonne partie des problèmes qui englobe une bonne partie des problèmes que l’on peut rencontrer usuellement !problèmes que l’on peut rencontrer usuellement !

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

30 mars 2007 Cours de graphes 9 - Intranet 148

ApplicationsApplications----------------------------------------------------------------------------------------------------------------------------------

C H E M I N SC H E M I N S

D ‘ E U L E R E TD ‘ E U L E R E T

D E H A M I L T O ND E H A M I L T O N

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

30 mars 2007 Cours de graphes 9 - Intranet 149

Chemins d’Euler et de HamiltonChemins d’Euler et de Hamilton----------------------------------------------------------------------------------------------------------------------------------

• Il peut y avoir des applications surprenantes Il peut y avoir des applications surprenantes pour les chemins d’Euler !pour les chemins d’Euler !

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

30 mars 2007 Cours de graphes 9 - Intranet 150

• Il peut y avoir des applications surprenantes Il peut y avoir des applications surprenantes pour les chemins d’Euler !pour les chemins d’Euler !

• Ainsi, des problèmes d’alignements locaux de Ainsi, des problèmes d’alignements locaux de séquences de DNA ont pu être ramenées à des séquences de DNA ont pu être ramenées à des problèmes de chemins d’Euler, en utilisant des problèmes de chemins d’Euler, en utilisant des graphes de De Bruijn !graphes de De Bruijn !

Chemins d’Euler et de HamiltonChemins d’Euler et de Hamilton----------------------------------------------------------------------------------------------------------------------------------

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

30 mars 2007 Cours de graphes 9 - Intranet 151

• Il peut y avoir des applications surprenantes Il peut y avoir des applications surprenantes pour les chemins d’Euler !pour les chemins d’Euler !

• Ainsi, des problèmes d’alignements locaux de Ainsi, des problèmes d’alignements locaux de séquences de DNA ont pu être ramenées à des séquences de DNA ont pu être ramenées à des problèmes de chemins d’Euler, en utilisant des problèmes de chemins d’Euler, en utilisant des graphes de De Bruijn !graphes de De Bruijn !

• Le fait de savoir si un anneau peut être plongé Le fait de savoir si un anneau peut être plongé dans un graphe est un problème de cycle de dans un graphe est un problème de cycle de Hamilton !Hamilton !

Chemins d’Euler et de HamiltonChemins d’Euler et de Hamilton----------------------------------------------------------------------------------------------------------------------------------

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

30 mars 2007 Cours de graphes 9 - Intranet 152

• Il peut y avoir des applications surprenantes pour Il peut y avoir des applications surprenantes pour les chemins d’Euler !les chemins d’Euler !

• Ainsi, des problèmes d’alignements locaux de Ainsi, des problèmes d’alignements locaux de séquences de DNA ont pu être ramenées à des séquences de DNA ont pu être ramenées à des problèmes de chemins d’Euler, en utilisant des problèmes de chemins d’Euler, en utilisant des graphes de De Bruijn !graphes de De Bruijn !

• Le fait de savoir si un anneau peut être plongé dans Le fait de savoir si un anneau peut être plongé dans un graphe est un problème de cycle de Hamilton !un graphe est un problème de cycle de Hamilton !

• Tous problèmes de circuits de type « Voyageur de Tous problèmes de circuits de type « Voyageur de Commerce » sont des questions de cycles de Commerce » sont des questions de cycles de Hamilton !Hamilton !

Chemins d’Euler et de HamiltonChemins d’Euler et de Hamilton----------------------------------------------------------------------------------------------------------------------------------

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

30 mars 2007 Cours de graphes 9 - Intranet 153

• Pour un graphe G donné, nous définissons le Pour un graphe G donné, nous définissons le graphe de représentation R ( G ) suivant :graphe de représentation R ( G ) suivant :

– Chaque arête de G devient un sommet de R Chaque arête de G devient un sommet de R ( G ).( G ).

– Deux sommets de R ( G ) sont reliés s’ils Deux sommets de R ( G ) sont reliés s’ils correspondent à des arêtes adjacentes dans correspondent à des arêtes adjacentes dans G .G .

Chemins d’Euler et de HamiltonChemins d’Euler et de Hamilton----------------------------------------------------------------------------------------------------------------------------------

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

30 mars 2007 Cours de graphes 9 - Intranet 154

• Pour un graphe G donné, nous définissons le Pour un graphe G donné, nous définissons le graphe de représentation R ( G ) suivant :graphe de représentation R ( G ) suivant :

– Chaque arête de G devient un sommet de R Chaque arête de G devient un sommet de R ( G ).( G ).

– Deux sommets de R ( G ) sont reliés s’ils Deux sommets de R ( G ) sont reliés s’ils correspondent à des arêtes adjacentes dans correspondent à des arêtes adjacentes dans G .G .

Chemins d’Euler et de HamiltonChemins d’Euler et de Hamilton----------------------------------------------------------------------------------------------------------------------------------

GG

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

30 mars 2007 Cours de graphes 9 - Intranet 155

• Pour un graphe G donné, nous définissons le Pour un graphe G donné, nous définissons le graphe de représentation R ( G ) suivant :graphe de représentation R ( G ) suivant :

– Chaque arête de G devient un sommet de R Chaque arête de G devient un sommet de R ( G ).( G ).

– Deux sommets de R ( G ) sont reliés s’ils Deux sommets de R ( G ) sont reliés s’ils correspondent à des arêtes adjacentes dans correspondent à des arêtes adjacentes dans G .G .

Chemins d’Euler et de HamiltonChemins d’Euler et de Hamilton----------------------------------------------------------------------------------------------------------------------------------

GG Les sommetsLes sommetsde R ( G ) ! ! !de R ( G ) ! ! !

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

30 mars 2007 Cours de graphes 9 - Intranet 156

• Pour un graphe G donné, nous définissons le Pour un graphe G donné, nous définissons le graphe de représentation R ( G ) suivant :graphe de représentation R ( G ) suivant :

– Chaque arête de G devient un sommet de R Chaque arête de G devient un sommet de R ( G ).( G ).

– Deux sommets de R ( G ) sont reliés s’ils Deux sommets de R ( G ) sont reliés s’ils correspondent à des arêtes adjacentes dans correspondent à des arêtes adjacentes dans G .G .

Chemins d’Euler et de HamiltonChemins d’Euler et de Hamilton----------------------------------------------------------------------------------------------------------------------------------

GG Les sommetsLes sommetsde R ( G ) ! ! !de R ( G ) ! ! !

Les arrêtesLes arrêtesde R ( G ) ! ! !de R ( G ) ! ! !

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

30 mars 2007 Cours de graphes 9 - Intranet 157

• Si le graphe G admet un chemin d’Euler, alors Si le graphe G admet un chemin d’Euler, alors le graphe R ( G ) aussi !le graphe R ( G ) aussi !

Chemins d’Euler et de HamiltonChemins d’Euler et de Hamilton----------------------------------------------------------------------------------------------------------------------------------

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

30 mars 2007 Cours de graphes 9 - Intranet 158

• Si le graphe G admet un chemin d’Euler, alors Si le graphe G admet un chemin d’Euler, alors le graphe R ( G ) aussi !le graphe R ( G ) aussi !

• Si le graphe G admet un chemin d’Euler, alors Si le graphe G admet un chemin d’Euler, alors le graphe R ( G ) admet un chemin de le graphe R ( G ) admet un chemin de Hamilton !Hamilton !

Chemins d’Euler et de HamiltonChemins d’Euler et de Hamilton----------------------------------------------------------------------------------------------------------------------------------

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

30 mars 2007 Cours de graphes 9 - Intranet 159

• Si le graphe G admet un chemin d’Euler, alors Si le graphe G admet un chemin d’Euler, alors le graphe R ( G ) aussi !le graphe R ( G ) aussi !

• Si le graphe G admet un chemin d’Euler, alors Si le graphe G admet un chemin d’Euler, alors le graphe R ( G ) admet un chemin de le graphe R ( G ) admet un chemin de Hamilton !Hamilton !

• Si le graphe G admet un chemin de Hamilton, Si le graphe G admet un chemin de Hamilton, alors le graphe R ( G ) aussi !alors le graphe R ( G ) aussi !

Chemins d’Euler et de HamiltonChemins d’Euler et de Hamilton----------------------------------------------------------------------------------------------------------------------------------

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

30 mars 2007 Cours de graphes 9 - Intranet 160

• Si le graphe G admet un chemin d’Euler, alors Si le graphe G admet un chemin d’Euler, alors le graphe R ( G ) aussi !le graphe R ( G ) aussi !

• Si le graphe G admet un chemin d’Euler, alors Si le graphe G admet un chemin d’Euler, alors le graphe R ( G ) admet un chemin de le graphe R ( G ) admet un chemin de Hamilton !Hamilton !

• Si le graphe G admet un chemin de Hamilton, Si le graphe G admet un chemin de Hamilton, alors le graphe R ( G ) aussi !alors le graphe R ( G ) aussi !

• Les réciproques ne sont pas vraies !Les réciproques ne sont pas vraies !

Chemins d’Euler et de HamiltonChemins d’Euler et de Hamilton----------------------------------------------------------------------------------------------------------------------------------

GG

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

30 mars 2007 Cours de graphes 9 - Intranet 161

• Les cycles de Hamilton servent souvent à Les cycles de Hamilton servent souvent à démontrer que d’autres problèmes sont NP–démontrer que d’autres problèmes sont NP–complets !complets !

Chemins d’Euler et de HamiltonChemins d’Euler et de Hamilton----------------------------------------------------------------------------------------------------------------------------------

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

30 mars 2007 Cours de graphes 9 - Intranet 162

• Les cycles de Hamilton servent souvent à Les cycles de Hamilton servent souvent à démontrer que d’autres problèmes sont NP–démontrer que d’autres problèmes sont NP–complets !complets !

• Savoir si un graphe possède un arbre de Savoir si un graphe possède un arbre de recouvrement de degré 2 au plus est NP–recouvrement de degré 2 au plus est NP–complet ! En effet, cet arbre est égal au chemin complet ! En effet, cet arbre est égal au chemin de Hamilton !de Hamilton !

Chemins d’Euler et de HamiltonChemins d’Euler et de Hamilton----------------------------------------------------------------------------------------------------------------------------------

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

30 mars 2007 Cours de graphes 9 - Intranet 163

• Les cycles de Hamilton servent souvent à Les cycles de Hamilton servent souvent à démontrer que d’autres problèmes sont NP–démontrer que d’autres problèmes sont NP–complets !complets !

• Savoir si un graphe possède un arbre de Savoir si un graphe possède un arbre de recouvrement de degré 2 au plus est NP–recouvrement de degré 2 au plus est NP–complet ! En effet, cet arbre est égal au chemin complet ! En effet, cet arbre est égal au chemin de Hamilton !de Hamilton !

• Savoir si un graphe possède un arbre de Savoir si un graphe possède un arbre de recouvrement de degré 3 au plus est NP–recouvrement de degré 3 au plus est NP–complet ! En effet, un graphe G admet un complet ! En effet, un graphe G admet un chemin de Hamilton si et seulement si le graphe chemin de Hamilton si et seulement si le graphe G’ suivant admet un arbre de recouvrement de G’ suivant admet un arbre de recouvrement de degré 3 au plus.degré 3 au plus.

Chemins d’Euler et de HamiltonChemins d’Euler et de Hamilton----------------------------------------------------------------------------------------------------------------------------------

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

30 mars 2007 Cours de graphes 9 - Intranet 164

• Les cycles de Hamilton servent souvent à Les cycles de Hamilton servent souvent à démontrer que d’autres problèmes sont NP–démontrer que d’autres problèmes sont NP–complets !complets !

• Savoir si un graphe possède un arbre de Savoir si un graphe possède un arbre de recouvrement de degré 2 au plus est NP–recouvrement de degré 2 au plus est NP–complet ! En effet, cet arbre est égal au chemin complet ! En effet, cet arbre est égal au chemin de Hamilton !de Hamilton !

• Savoir si un graphe possède un arbre de Savoir si un graphe possède un arbre de recouvrement de degré 3 au plus est NP–recouvrement de degré 3 au plus est NP–complet ! En effet, un graphe G admet un complet ! En effet, un graphe G admet un chemin de Hamilton si et seulement si le graphe chemin de Hamilton si et seulement si le graphe G’ suivant admet un arbre de recouvrement de G’ suivant admet un arbre de recouvrement de degré 3 au plus.degré 3 au plus.Nous gardons lesNous gardons les

arêtes et dupliquonsarêtes et dupliquonsles sommets !les sommets !

uu

vv

G :G : uu

vv

G’ :G’ : u’u’

v’v’

Chemins d’Euler et de HamiltonChemins d’Euler et de Hamilton----------------------------------------------------------------------------------------------------------------------------------

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

30 mars 2007 Cours de graphes 9 - Intranet 165

• Les cycles de Hamilton servent souvent à Les cycles de Hamilton servent souvent à démontrer que d’autres problèmes sont NP–démontrer que d’autres problèmes sont NP–complets !complets !

• Savoir si un graphe possède un arbre de Savoir si un graphe possède un arbre de recouvrement de degré 2 au plus est NP–recouvrement de degré 2 au plus est NP–complet ! En effet, cet arbre est égal au chemin complet ! En effet, cet arbre est égal au chemin de Hamilton !de Hamilton !

• Savoir si un graphe possède un arbre de Savoir si un graphe possède un arbre de recouvrement de degré 3 au plus est NP–recouvrement de degré 3 au plus est NP–complet ! En effet, un graphe G admet un complet ! En effet, un graphe G admet un chemin de Hamilton si et seulement si le graphe chemin de Hamilton si et seulement si le graphe G’ suivant admet un arbre de recouvrement de G’ suivant admet un arbre de recouvrement de degré 3 au plus.degré 3 au plus.Nous gardons lesNous gardons les

arêtes et dupliquonsarêtes et dupliquonsles sommets !les sommets !

uu

vv

G :G : uu

vv

G’ :G’ : u’u’

v’v’

Ensuite,Ensuite,nousnous

rajoutons lesrajoutons lesarêtes ( u , u’ )arêtes ( u , u’ ). . .. . .

Chemins d’Euler et de HamiltonChemins d’Euler et de Hamilton----------------------------------------------------------------------------------------------------------------------------------

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

30 mars 2007 Cours de graphes 9 - Intranet 166

Chemins d’Euler et de HamiltonChemins d’Euler et de Hamilton----------------------------------------------------------------------------------------------------------------------------------

• Les cycles de Hamilton servent souvent à Les cycles de Hamilton servent souvent à démontrer que d’autres problèmes sont NP–démontrer que d’autres problèmes sont NP–complets !complets !

• Savoir si un graphe possède un arbre de Savoir si un graphe possède un arbre de recouvrement de degré 2 au plus est NP–recouvrement de degré 2 au plus est NP–complet ! En effet, cet arbre est égal au chemin complet ! En effet, cet arbre est égal au chemin de Hamilton !de Hamilton !

• Savoir si un graphe possède un arbre de Savoir si un graphe possède un arbre de recouvrement de degré 3 au plus est NP–recouvrement de degré 3 au plus est NP–complet ! En effet, un graphe G admet un complet ! En effet, un graphe G admet un chemin de Hamilton si et seulement si le graphe chemin de Hamilton si et seulement si le graphe G’ suivant admet un arbre de recouvrement de G’ suivant admet un arbre de recouvrement de degré 3 au plus.degré 3 au plus.Nous gardons lesNous gardons les

arêtes et dupliquonsarêtes et dupliquonsles sommets !les sommets !

uu

vv

G :G : uu

vv

G’ :G’ : u’u’

v’v’

Ensuite,Ensuite,nousnous

rajoutons lesrajoutons lesarêtes ( u , u’ )arêtes ( u , u’ ). . .. . .

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

30 mars 2007 Cours de graphes 9 - Intranet 167

ApplicationsApplications----------------------------------------------------------------------------------------------------------------------------------

A R B R E SA R B R E S

D E R E C O U V R E M E D E R E C O U V R E M E N TN T

( M I N I M A U X )( M I N I M A U X )

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

30 mars 2007 Cours de graphes 9 - Intranet 168

Arbres de recouvrements (minimaux)Arbres de recouvrements (minimaux)----------------------------------------------------------------------------------------------------------------------------------

• L’arbre de recouvrement est important parce L’arbre de recouvrement est important parce queque

– il fournit la plus petite solution connexe en il fournit la plus petite solution connexe en termes d’arêtes,termes d’arêtes,

– il fournit la plus grande solution sans cycles il fournit la plus grande solution sans cycles en termes d’arêtes,en termes d’arêtes,

– il évite les choix arbitraires entre plusieurs il évite les choix arbitraires entre plusieurs chemins !chemins !

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

30 mars 2007 Cours de graphes 9 - Intranet 169

Arbres de recouvrements (minimaux)Arbres de recouvrements (minimaux)----------------------------------------------------------------------------------------------------------------------------------

• L’arbre de recouvrement est important parce queL’arbre de recouvrement est important parce que

– il fournit la plus petite solution connexe en il fournit la plus petite solution connexe en termes d’arêtes,termes d’arêtes,

– il fournit la plus grande solution sans cycles en il fournit la plus grande solution sans cycles en termes d’arêtes,termes d’arêtes,

– il évite les choix arbitraires entre plusieurs il évite les choix arbitraires entre plusieurs chemins !chemins !

• Il est compatible avec la minimisation sous la Il est compatible avec la minimisation sous la forme du calcul de l’arbre de recouvrement forme du calcul de l’arbre de recouvrement minimal !minimal !

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

30 mars 2007 Cours de graphes 9 - Intranet 170

Arbres de recouvrements (minimaux)Arbres de recouvrements (minimaux)----------------------------------------------------------------------------------------------------------------------------------

• Le problème devient difficile dès que nous Le problème devient difficile dès que nous imposons des contraintes sur la forme de imposons des contraintes sur la forme de l’arbre, comme une arité bornée, . . .l’arbre, comme une arité bornée, . . .

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

30 mars 2007 Cours de graphes 9 - Intranet 171

Arbres de recouvrements (minimaux)Arbres de recouvrements (minimaux)----------------------------------------------------------------------------------------------------------------------------------

• Le problème devient difficile dès que nous Le problème devient difficile dès que nous imposons des contraintes sur la forme de imposons des contraintes sur la forme de l’arbre, comme une arité bornée, . . .l’arbre, comme une arité bornée, . . .

• De même, il est difficile de trouver, parmi les De même, il est difficile de trouver, parmi les n sommets d’un graphe pondéré, le sous-n sommets d’un graphe pondéré, le sous-ensemble de k sommets qui admet l’arbre de ensemble de k sommets qui admet l’arbre de recouvrement le plus léger.recouvrement le plus léger.

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

30 mars 2007 Cours de graphes 9 - Intranet 172

Arbres de recouvrements (minimaux)Arbres de recouvrements (minimaux)----------------------------------------------------------------------------------------------------------------------------------

• Le problème devient difficile dès que nous imposons Le problème devient difficile dès que nous imposons des contraintes sur la forme de l’arbre, comme une des contraintes sur la forme de l’arbre, comme une arité bornée, . . .arité bornée, . . .

• De même, il est difficile de trouver, parmi les n De même, il est difficile de trouver, parmi les n sommets d’un graphe pondéré, le sous-ensemble de sommets d’un graphe pondéré, le sous-ensemble de k sommets qui admet l’arbre de recouvrement le k sommets qui admet l’arbre de recouvrement le plus léger.plus léger.

• Le calcul de l’arbre de recouvrement minimal a de Le calcul de l’arbre de recouvrement minimal a de nombreuses applicationsnombreuses applications

– soit en tant que solution directe d’un problème,soit en tant que solution directe d’un problème,

– soit comme étape essentielle d’un calcul plus soit comme étape essentielle d’un calcul plus complexe comme l’approximation du TSP.complexe comme l’approximation du TSP.

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

30 mars 2007 Cours de graphes 9 - Intranet 173

Arbres de recouvrements (minimaux)Arbres de recouvrements (minimaux)----------------------------------------------------------------------------------------------------------------------------------

• Le problème de « l’arbre de recouvrement Le problème de « l’arbre de recouvrement euclidien » est une variante intéressante !euclidien » est une variante intéressante !

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

30 mars 2007 Cours de graphes 9 - Intranet 174

Arbres de recouvrements (minimaux)Arbres de recouvrements (minimaux)----------------------------------------------------------------------------------------------------------------------------------

• Le problème de « l’arbre de recouvrement Le problème de « l’arbre de recouvrement euclidien » est une variante intéressante !euclidien » est une variante intéressante !

• Nous considérons des points dans le plan ( ou Nous considérons des points dans le plan ( ou un espace de dimension plus grande ) et un espace de dimension plus grande ) et cherchons l’arbre de recouvrement minimal en cherchons l’arbre de recouvrement minimal en termes de distances euclidiennes.termes de distances euclidiennes.

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

30 mars 2007 Cours de graphes 9 - Intranet 175

Arbres de recouvrements (minimaux)Arbres de recouvrements (minimaux)----------------------------------------------------------------------------------------------------------------------------------

• Le problème de « l’arbre de recouvrement Le problème de « l’arbre de recouvrement euclidien » est une variante intéressante !euclidien » est une variante intéressante !

• Nous considérons des points dans le plan ( ou Nous considérons des points dans le plan ( ou un espace de dimension plus grande ) et un espace de dimension plus grande ) et cherchons l’arbre de recouvrement minimal en cherchons l’arbre de recouvrement minimal en termes de distances euclidiennes.termes de distances euclidiennes.

• Un exemple :Un exemple :

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

30 mars 2007 Cours de graphes 9 - Intranet 176

Arbres de recouvrements (minimaux)Arbres de recouvrements (minimaux)----------------------------------------------------------------------------------------------------------------------------------

• Le problème de « l’arbre de recouvrement Le problème de « l’arbre de recouvrement euclidien » est une variante intéressante !euclidien » est une variante intéressante !

• Nous considérons des points dans le plan ( ou un Nous considérons des points dans le plan ( ou un espace de dimension plus grande ) et cherchons espace de dimension plus grande ) et cherchons l’arbre de recouvrement minimal en termes de l’arbre de recouvrement minimal en termes de distances euclidiennes.distances euclidiennes.

• Un exemple :Un exemple :

• La solution la plus simple consiste à calculer les La solution la plus simple consiste à calculer les distances entre toutes les paires de points et de distances entre toutes les paires de points et de dérouler ensuite un calcul d’ARM !dérouler ensuite un calcul d’ARM !

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

30 mars 2007 Cours de graphes 9 - Intranet 177

ApplicationsApplications----------------------------------------------------------------------------------------------------------------------------------

P L U SP L U S

C O U R T SC O U R T S

C H E M I N SC H E M I N S

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

30 mars 2007 Cours de graphes 9 - Intranet 178

Plus courts cheminsPlus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• Le calcul des composantes connexes, des Le calcul des composantes connexes, des chemins les plus courts et des chemins les chemins les plus courts et des chemins les plus légers est à la base de beaucoup de plus légers est à la base de beaucoup de traitements !traitements !

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

30 mars 2007 Cours de graphes 9 - Intranet 179

Plus courts cheminsPlus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• Le calcul des composantes connexes, des Le calcul des composantes connexes, des chemins les plus courts et des chemins les chemins les plus courts et des chemins les plus légers est à la base de beaucoup de plus légers est à la base de beaucoup de traitements !traitements !

• Une première difficulté peut provenir du fait Une première difficulté peut provenir du fait que l’inégalité triangulaire ne soit pas que l’inégalité triangulaire ne soit pas respectée !respectée !

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

30 mars 2007 Cours de graphes 9 - Intranet 180

Plus courts cheminsPlus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• Le calcul des composantes connexes, des Le calcul des composantes connexes, des chemins les plus courts et des chemins les chemins les plus courts et des chemins les plus légers est à la base de beaucoup de plus légers est à la base de beaucoup de traitements !traitements !

• Une première difficulté peut provenir du fait Une première difficulté peut provenir du fait que l’inégalité triangulaire ne soit pas que l’inégalité triangulaire ne soit pas respectée !respectée !

• Une seconde difficulté peut provenir du fait Une seconde difficulté peut provenir du fait que, en présence d’arêtes de poids négatives, que, en présence d’arêtes de poids négatives, nous puissions tomber sur des cycles de poids nous puissions tomber sur des cycles de poids négatifs !négatifs !

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

30 mars 2007 Cours de graphes 9 - Intranet 181

Plus courts cheminsPlus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• Le calcul des composantes connexes, des chemins Le calcul des composantes connexes, des chemins les plus courts et des chemins les plus légers est à les plus courts et des chemins les plus légers est à la base de beaucoup de traitements !la base de beaucoup de traitements !

• Une première difficulté peut provenir du fait que Une première difficulté peut provenir du fait que l’inégalité triangulaire ne soit pas respectée !l’inégalité triangulaire ne soit pas respectée !

• Une seconde difficulté peut provenir du fait que, Une seconde difficulté peut provenir du fait que, en présence d’arêtes de poids négatives, nous en présence d’arêtes de poids négatives, nous puissions tomber sur des cycles de poids négatifs !puissions tomber sur des cycles de poids négatifs !

• Nous avons en général plusieurs algorithmes à Nous avons en général plusieurs algorithmes à notre disposition, de complexités variables, mais notre disposition, de complexités variables, mais toujours polynômiales !toujours polynômiales !

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

30 mars 2007 Cours de graphes 9 - Intranet 182

Plus courts cheminsPlus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• Il est équivalent deIl est équivalent de

– minimiser une somme de poids,minimiser une somme de poids,

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

30 mars 2007 Cours de graphes 9 - Intranet 183

Plus courts cheminsPlus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• Il est équivalent deIl est équivalent de

– minimiser une somme de poids,minimiser une somme de poids,

– minimiser le poids de l’arête la plus lourde, minimiser le poids de l’arête la plus lourde, c’est-à-dire minimiser un maximum,c’est-à-dire minimiser un maximum,

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

30 mars 2007 Cours de graphes 9 - Intranet 184

Plus courts cheminsPlus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• Il est équivalent deIl est équivalent de

– minimiser une somme de poids,minimiser une somme de poids,

– minimiser le poids de l’arête la plus lourde, minimiser le poids de l’arête la plus lourde, c’est-à-dire minimiser un maximum,c’est-à-dire minimiser un maximum,

– maximiser une somme de poids,maximiser une somme de poids,

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

30 mars 2007 Cours de graphes 9 - Intranet 185

Plus courts cheminsPlus courts chemins----------------------------------------------------------------------------------------------------------------------------------

• Il est équivalent deIl est équivalent de

– minimiser une somme de poids,minimiser une somme de poids,

– minimiser le poids de l’arête la plus lourde, minimiser le poids de l’arête la plus lourde, c’est-à-dire minimiser un maximum,c’est-à-dire minimiser un maximum,

– maximiser une somme de poids,maximiser une somme de poids,

– maximiser le poids de l’arête la plus légère, maximiser le poids de l’arête la plus légère, c’est-à-dire maximiser un minimum !c’est-à-dire maximiser un minimum !

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

30 mars 2007 Cours de graphes 9 - Intranet 186

SynthèseSynthèse----------------------------------------------------------------------------------------------------------------------------------

• Quelques applications.Quelques applications.

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

30 mars 2007 Cours de graphes 9 - Intranet 187

Synthèse du coursSynthèse du cours----------------------------------------------------------------------------------------------------------------------------------

•ConnexitéConnexité

•Les plus « courts » chemins :Les plus « courts » chemins :

•La vagueLa vague

•La multiplication de matricesLa multiplication de matrices

•Floyd-WarshallFloyd-Warshall

•DijkstraDijkstra

•Bellmann-FordBellmann-Ford

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

30 mars 2007 Cours de graphes 9 - Intranet 188

Synthèse du coursSynthèse du cours----------------------------------------------------------------------------------------------------------------------------------

•Arbres :Arbres :

•Définitions équivalentesDéfinitions équivalentes

•Arbres de recouvrementArbres de recouvrement

•Arbres de recouvrement Arbres de recouvrement minimauxminimaux

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

30 mars 2007 Cours de graphes 9 - Intranet 189

Synthèse du coursSynthèse du cours----------------------------------------------------------------------------------------------------------------------------------

•Problèmes de flots :Problèmes de flots :

•Théorème du MIN–MAXThéorème du MIN–MAX

•Algorithme de Ford et Algorithme de Ford et FulkersonFulkerson

•Algorithme de Edmonds et Algorithme de Edmonds et KarpKarp

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

30 mars 2007 Cours de graphes 9 - Intranet 190

Synthèse du coursSynthèse du cours----------------------------------------------------------------------------------------------------------------------------------

•Coloriage de graphes :Coloriage de graphes :

•Coloriage des sommetsColoriage des sommets

•Coloriage des arêtesColoriage des arêtes

•L’algorithme de VizingL’algorithme de Vizing

•Graphes planairesGraphes planaires

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

30 mars 2007 Cours de graphes 9 - Intranet 191

Synthèse du coursSynthèse du cours----------------------------------------------------------------------------------------------------------------------------------

•CouplagesCouplages

•Chemins d’EulerChemins d’Euler

•Chemins de HamiltonChemins de Hamilton

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

30 mars 2007 Cours de graphes 9 - Intranet 192

Synthèse du coursSynthèse du cours----------------------------------------------------------------------------------------------------------------------------------

•Problèmes NP-complets :Problèmes NP-complets :

•La théorie ( rappels )La théorie ( rappels )

•Les réductions polynômialesLes réductions polynômiales

•Des exemples de réductionsDes exemples de réductions

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

30 mars 2007 Cours de graphes 9 - Intranet 193

Synthèse du coursSynthèse du cours----------------------------------------------------------------------------------------------------------------------------------

•Quelques graphes particuliers :Quelques graphes particuliers :

•Le graphe en ligne, la grille, . . Le graphe en ligne, la grille, . . ..

•L’anneau, le tore, . . .L’anneau, le tore, . . .

•L’hypercubeL’hypercube

•Des graphes plus Des graphes plus exotiques . . .exotiques . . .

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

30 mars 2007 Cours de graphes 9 - Intranet 194

Synthèse du coursSynthèse du cours----------------------------------------------------------------------------------------------------------------------------------

•Quelques applications :Quelques applications :

•Illustrations directes du coursIllustrations directes du cours

•Quelques extensions de Quelques extensions de résultatsrésultats

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

30 mars 2007 Cours de graphes 9 - Intranet 195

L E S P R O B L E M E SL E S P R O B L E M E SD E G R A P H E SD E G R A P H E S

D O I V E N T E T R ED O I V E N T E T R EA P P R I S C A RA P P R I S C A R

L E S S O L U T I O N SL E S S O L U T I O N SS O N T S O U V E N TS O N T S O U V E N T

D I F F I C I L E SD I F F I C I L E SA T R O U V E R ! ! !A T R O U V E R ! ! !

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

30 mars 2007 Cours de graphes 9 - Intranet 196

L ‘ I N T U I T I O NL ‘ I N T U I T I O NE S TE S T

S O U V E N TS O U V E N TU NU N

T R E ST R E SM A U V A I SM A U V A I S

G U I D E ! ! !G U I D E ! ! !

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

30 mars 2007 Cours de graphes 9 - Intranet 197

C’ e S t L a F i NC’ e S t L a F i Nd U c O u R s ! ! !d U c O u R s ! ! !

m E r C i e Tm E r C i e Tb O n N e J o U r N é b O n N e J o U r N é

E ! ! !E ! ! !

N ‘ o U b L i E z P a S N ‘ o U b L i E z P a S d Ed E

p R é P a R e R v O t R p R é P a R e R v O t R ee

E x A m E n ! ! !E x A m E n ! ! !

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

30 mars 2007 Cours de graphes 9 - Intranet 198

L’examen sera de 2 L’examen sera de 2 heuresheures

sans documentssans documents

et pourra porter sur et pourra porter sur touttout

le cours et les TD ! ! !le cours et les TD ! ! !