2.31k likes | 2.51k Vues
Cours de Graphes. Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp. Applications. Les grandes lignes du cours. Définitions de base Connexité Les plus courts chemins Floyd-Warshall, Dijkstra et Bellmann-Ford Arbres
E N D
Cours de Graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp. Applications. Cours de graphes 4 - Intranet
Les grandes lignes du cours • Définitions de base • Connexité • Les plus courts chemins • Floyd-Warshall, Dijkstra et Bellmann-Ford • Arbres • Arbres de recouvrement minimaux • Problèmes de flots, Ford & Fulkerson • Coloriage de graphes • Couplage • Chemins d’Euler et de Hamilton • Problèmes NP-complets Cours de graphes 4 - Intranet
I N T R O D U C T I O N Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- • Un graphe de flot est : • un graphe orienté, • les arcs portent des capacités (poids positifs), Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- • Un graphe de flot est : • un graphe orienté, • les arcs portent des capacités (poids positifs), • qui possède deux sommets particuliers : • la source s et le puits p . Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- • Un graphe de flot est : • un graphe orienté, • les arcs portent des capacités (poids positifs), • qui possède deux sommets particuliers : • la source s et le puits p . • On a en plus : • Le graphe est quasi-fortement connexe avec s comme unique racine ! Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- • Un graphe de flot est : • un graphe orienté, • les arcs portent des capacités (poids positifs), • qui possède deux sommets particuliers : • la source s et le puits p . • On a en plus : • Le graphe est quasi-fortement connexe avec s comme unique racine ! • Si nous inversons tous les arcs, le graphe est quasi-fortement connexe avec p comme unique racine ! Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- • Un graphe de flot est : • un graphe orienté, • les arcs portent des capacités (poids positifs), • qui possède deux sommets particuliers : • la source s et le puits p . • On a en plus : • Le graphe est quasi-fortement connexe avec s comme unique racine ! • Si nous inversons tous les arcs, le graphe est quasi-fortement connexe avec p comme unique racine ! • Donc, tout sommet u appartient à un chemin simple orienté qui relie s à p en passant par u ! Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- Exemple : Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- Les capacités ! Exemple : 10 20 20 15 10 10 8 17 5 10 15 Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- Les capacités ! Exemple : 10 20 20 15 Source s 10 10 8 17 5 10 15 Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- Les capacités ! Exemple : 10 20 20 15 Source s 10 10 8 17 5 10 15 Tous les autres sommets peuvent être atteints ! Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- Les capacités ! Exemple : 10 20 20 15 Source s 10 10 8 17 5 10 Uniquement des arcs sortants ! 15 Tous les autres sommets peuvent être atteints ! Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- Les capacités ! Exemple : 10 20 20 15 Puits p Source s 10 10 8 17 5 10 15 Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- Les capacités ! Exemple : 10 20 20 15 Puits p Source s 10 10 8 17 5 10 15 Depuis tout autre sommet nous pouvons atteindre p ! Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- Les capacités ! Exemple : 10 20 20 15 Puits p Source s 10 10 8 17 5 10 Uniquement des arcs entrants ! 15 Depuis tout autre sommet nous pouvons atteindre p ! Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- Les capacités ! Exemple : 10 20 20 15 Puits p Source s 10 10 u 8 17 5 10 15 Tout sommet u appartient à un chemin simple de s vers p ! Cours de graphes 4 - Intranet
L A D Y N A M I Q U E Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- • La dynamique : • La source produit, elle est la seule à produire ! Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- • La dynamique : • La source produit, elle est la seule à produire ! • Le puits consomme, il est le seul à le faire ! Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- • La dynamique : • La source produit, elle est la seule à produire ! • Le puits consomme, il est le seul à le faire ! • Les autres sommets transmettent, sans produire, ni consommer, ni stocker ! Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- C'est un flot ! ( flow en anglais ) • La dynamique : • La source produit, elle est la seule à produire ! • Le puits consomme, il est le seul à le faire ! • Les autres sommets transmettent, sans produire, ni consommer, ni stocker ! Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- C'est un flot ! ( flow en anglais ) • La dynamique : • La source produit, elle est la seule à produire ! • Le puits consomme, il est le seul à le faire ! • Les autres sommets transmettent, sans produire, ni consommer, ni stocker ! • Un peu de discipline : • Sur chaque arc le flot est compris entre zéro et la capacité de l’arc ! Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- C'est un flot ! ( flow en anglais ) • La dynamique : • La source produit, elle est la seule à produire ! • Le puits consomme, il est le seul à le faire ! • Les autres sommets transmettent, sans produire, ni consommer, ni stocker ! • Un peu de discipline : • Sur chaque arc le flot est compris entre zéro et la capacité de l’arc ! • Représentation : flot / capacité Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- C'est un flot ! ( flow en anglais ) • La dynamique : • La source produit, elle est la seule à produire ! • Le puits consomme, il est le seul à le faire ! • Les autres sommets transmettent, sans produire, ni consommer, ni stocker ! • Un peu de discipline : • Sur chaque arc le flot est compris entre zéro et la capacité de l’arc ! • Représentation : Capacité = flot maximal ! flot / capacité Cours de graphes 4 - Intranet
I L L U S T R A T I O N Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- Les capacités ! Exemple : 10 20 20 15 Puits p Source s 10 10 8 17 5 10 15 Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- flot / capacité Exemple : 5 / 10 10 / 20 13 / 20 0 / 15 Puits p Source s 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- flot / capacité Exemple : 5 / 10 10 / 20 13 / 20 0 / 15 Puits p Source s 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 Toutes contraintes sur les capacités sont respectées ! ! ! Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- flot / capacité Exemple : 5 / 10 10 / 20 13 / 20 0 / 15 Puits p Source s 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 10 en entrée ! Les intermédiaires redistribuent exactement ce qu’ils reçoivent ! Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- flot / capacité Exemple : 5 / 10 10 / 20 13 / 20 0 / 15 Puits p Source s 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 10 en entrée ! Les intermédiaires redistribuent exactement ce qu’ils reçoivent ! 10 en sortie ! Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- flot / capacité Exemple : 5 / 10 10 / 20 13 / 20 0 / 15 Puits p Source s 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 Le flot : 17 Il sort 17 unités de la source s , il entre 17 unités dans le puits p , c’est ce que nous appellerons le flot ! Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- flot / capacité Exemple : 5 / 10 10 / 20 13 / 20 0 / 15 Puits p Source s 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 Le flot : 17 Pouvons-nous augmenter le flot ? Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- flot / capacité OUI : + 5 Exemple : 5 / 10 10 / 20 13 / 20 0 / 15 Puits p Source s 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 Le flot : 17 Pouvons-nous augmenter le flot ? Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- flot / capacité OUI : + 5 Exemple : 5 / 10 10 / 20 13 / 20 0 / 15 Puits p Source s 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 Le flot : 17 Pouvons-nous augmenter le flot ? Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- flot / capacité OUI : + 5 + 5 Exemple : + 10 5 / 10 + 7 10 / 20 13 / 20 0 / 15 Puits p Source s 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 La marge ! 7 / 15 Le flot : 17 Pouvons-nous augmenter le flot ? Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- flot / capacité Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Puits p Source s 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 Le flot : 22 Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- flot / capacité Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Puits p Source s 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 Le flot : 22 Encore ? Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- flot / capacité OUI : + 1 Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Puits p Source s 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 Le flot : 22 Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- flot / capacité Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Puits p Source s 5 / 10 1 / 10 8 / 8 6 / 17 5 / 5 7 / 10 7 / 15 Le flot : 23 Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- flot / capacité Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Puits p Source s 5 / 10 1 / 10 8 / 8 6 / 17 5 / 5 7 / 10 7 / 15 Le flot : 23 Encore ? Cours de graphes 4 - Intranet
Non, le réseau est saturé ! ! ! Les graphes de flots----------------------------------------------------------------- flot / capacité Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Puits p Source s 5 / 10 1 / 10 8 / 8 6 / 17 5 / 5 7 / 10 7 / 15 Le flot : 23 Cours de graphes 4 - Intranet
Non, le réseau est saturé ! ! ! Les graphes de flots----------------------------------------------------------------- flot / capacité Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Puits p Source s 5 / 10 1 / 10 8 / 8 6 / 17 5 / 5 7 / 10 7 / 15 Le flot : 23 En rouge les arcs qui gardent de la marge ! Cours de graphes 4 - Intranet
Non, le réseau est saturé ! ! ! Les graphes de flots----------------------------------------------------------------- flot / capacité Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Puits p Source s 5 / 10 1 / 10 8 / 8 6 / 17 5 / 5 7 / 10 7 / 15 Le flot : 23 En rouge les arcs qui gardent de la marge ! Ce sommet est saturé en entrée mais pas en sortie ! Cours de graphes 4 - Intranet
Non, le réseau est saturé ! ! ! Les graphes de flots----------------------------------------------------------------- flot / capacité Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Puits p Source s 5 / 10 1 / 10 8 / 8 6 / 17 5 / 5 7 / 10 7 / 15 Le flot : 23 En rouge les arcs qui gardent de la marge ! Ce sommet est saturé en sortie mais pas en entrée ! Cours de graphes 4 - Intranet
Non, le réseau est saturé ! ! ! Les graphes de flots----------------------------------------------------------------- flot / capacité Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Puits p Source s 5 / 10 1 / 10 8 / 8 6 / 17 5 / 5 7 / 10 Voici une coupe qui est saturée ! 7 / 15 Le flot : 23 En rouge les arcs qui gardent de la marge ! Cours de graphes 4 - Intranet
Non, le réseau est saturé ! ! ! Les graphes de flots----------------------------------------------------------------- flot / capacité Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Puits p Source s 5 / 10 1 / 10 8 / 8 6 / 17 5 / 5 7 / 10 Voici une coupe qui est saturée ! 7 / 15 Le flot : 23 En rouge les arcs qui gardent de la marge ! Nous ne pouvons pas augmenter le flot à travers cette coupe ! ! ! Cours de graphes 4 - Intranet
Non, le réseau est saturé ! ! ! Les graphes de flots----------------------------------------------------------------- flot / capacité Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Puits p Source s 5 / 10 1 / 10 8 / 8 6 / 17 5 / 5 7 / 10 Voici une coupe qui est saturée ! 7 / 15 Le flot : 23 C'est la coupe minimale ! ! ! En rouge les arcs qui gardent de la marge ! Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- • Pour un graphe de flot, nous voulons connaître : • Le flot maximal : • pour prévoir les investissements, • pour connaître la marge de sécurité, c’est-à-dire la différence entre le flot normal et le flot maximal ! Cours de graphes 4 - Intranet
Les graphes de flots----------------------------------------------------------------- • Pour un graphe de flot, nous voulons connaître : • Le flot maximal : • pour prévoir les investissements, • pour connaître la marge de sécurité, c’est-à-dire la différence entre le flot normal et le flot maximal ! • La coupe minimale : • pour localiser le goulot d’étranglement, • pour orienter les investissements ! Cours de graphes 4 - Intranet