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

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

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

Présentations similaires


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

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

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

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

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

5 30 mars 2007Cours de graphes 9 - Intranet5 Le coloriage des arêtes Dans les problèmes de coloriage des arêtes :Dans les problèmes de coloriage des arêtes : –les sommets sont typiquement des ressources, –les arêtes des contraintes de disponibilité ! Le coloriage ordonnance les contraintes pour quelles soient compatibles au niveau des ressources !Le coloriage ordonnance les contraintes pour quelles soient compatibles au niveau des ressources ! Ce sont souvent des problèmes demploi du temps :Ce sont souvent des problèmes demploi du temps : –Horaires doraux entre profs et élèves. –Horaires daffectation dune salle de TP à des cours.

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

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

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

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

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

11 30 mars 2007Cours de graphes 9 - Intranet11 Le coloriage des sommets Emploi du temps :Emploi du temps : –les cours sont les sommets, –les arêtes représentent lincompatibilité entre cours du fait quil sont par exemple donnés par le même enseignant, se font dans la même salle... Le coloriage des sommets minimise le nombre de créneaux horaires nécessaires pour donner les cours !Le coloriage des sommets minimise le nombre de créneaux horaires nécessaires pour donner les cours ! Les questions demplois du temps peuvent être traduits en différents problèmes de coloriage !Les questions demplois du temps peuvent être traduits en différents problèmes de coloriage ! Nous pouvons dailleurs envisager de colorier aussi bien les sommets que les arêtes !Nous pouvons dailleurs envisager de colorier aussi bien les sommets que les arêtes !

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

13 30 mars 2007Cours de graphes 9 - Intranet13 Le coloriage des sommets Allocation de registres :Allocation de registres : –les variables dun programme sont les sommets, –les arêtes représentent lincompatibilité entre variables au sens où elles ne peuvent pas utiliser un même registre. Le coloriage des sommets minimise le nombre de registres nécessaires pour gérer toutes les variables !Le coloriage des sommets minimise le nombre de registres nécessaires pour gérer toutes les variables ! La gestion dune valeur dans un registre est beaucoup plus rapide que la gestion en mémoire centrale !La gestion dune valeur dans un registre est beaucoup plus rapide que la gestion en mémoire centrale ! Si nous navons pas assez de registres il faut faire un choix entre les variables ! Cest un autre problème...Si nous navons pas assez de registres il faut faire un choix entre les variables ! Cest un autre problème...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

57 30 mars 2007Cours de graphes 9 - Intranet57 Synthèse Quelques applications.Quelques applications.

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

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

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

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

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

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

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

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

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

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


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

Présentations similaires


Annonces Google