Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parMorgause Metayer Modifié depuis plus de 10 années
1
Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut.
Algos de Ford-Fulkerson et Edmonds-Karp. Applications. 14 mars 2006 Cours de graphes 4 - Intranet
2
Les grandes lignes du cours
Définitions de base Connexité Les plus courts chemins Dijkstra et Bellmann-Ford Arbres Arbres de recouvrement minimaux Problèmes de flots Coloriage de graphes Couplage Chemins d’Euler et de Hamilton Problèmes NP-complets 14 mars 2006 Cours de graphes 4 - Intranet
3
Cours de graphes 4 - Intranet
Les graphes de flots Un graphe de flot est : un graphe orienté; les arcs portent des capacités (poids), qui possède deux sommets particuliers qui sont la « source s » et le « puits p ». 14 mars 2006 Cours de graphes 4 - Intranet
4
Poids strictement positifs !
Les graphes de flots Un graphe de flot est : un graphe orienté; les arcs portent des capacités (poids), qui possède deux sommets particuliers qui sont la « source s » et le « puits p ». Poids strictement positifs ! 14 mars 2006 Cours de graphes 4 - Intranet
5
Poids strictement positifs !
Les graphes de flots Un graphe de flot est : un graphe orienté; les arcs portent des capacités (poids), qui possède deux sommets particuliers qui sont la « source s » et le « puits p ». On a en plus : Le graphe est quasi-fortement connexe avec « s » comme unique racine ! Poids strictement positifs ! 14 mars 2006 Cours de graphes 4 - Intranet
6
Poids strictement positifs !
Les graphes de flots Un graphe de flot est : un graphe orienté; les arcs portent des capacités (poids), qui possède deux sommets particuliers qui sont 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 ! Poids strictement positifs ! 14 mars 2006 Cours de graphes 4 - Intranet
7
Poids strictement positifs !
Les graphes de flots Un graphe de flot est : un graphe orienté; les arcs portent des capacités (poids), qui possède deux sommets particuliers qui sont 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 » , ( s ; u ; p ) ! Poids strictement positifs ! 14 mars 2006 Cours de graphes 4 - Intranet
8
Cours de graphes 4 - Intranet
Les graphes de flots Exemple : 14 mars 2006 Cours de graphes 4 - Intranet
9
Cours de graphes 4 - Intranet
Les graphes de flots Les capacités ! Exemple : 10 20 20 15 10 10 8 17 5 10 15 14 mars 2006 Cours de graphes 4 - Intranet
10
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 14 mars 2006 Cours de graphes 4 - Intranet
11
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 14 mars 2006 Cours de graphes 4 - Intranet
12
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 14 mars 2006 Cours de graphes 4 - Intranet
13
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 14 mars 2006 Cours de graphes 4 - Intranet
14
Cours de graphes 4 - Intranet
Les graphes de flots Les capacités ! Exemple : 10 20 20 15 Source « s » Puits « p » 10 10 8 17 5 10 15 14 mars 2006 Cours de graphes 4 - Intranet
15
Cours de graphes 4 - Intranet
Les graphes de flots Les capacités ! Exemple : 10 20 20 15 Source « s » Puits « p » 10 10 8 17 5 10 15 14 mars 2006 Cours de graphes 4 - Intranet
16
Cours de graphes 4 - Intranet
Les graphes de flots Les capacités ! Exemple : 10 20 20 15 Source « s » Puits « p » 10 10 8 17 5 10 Uniquement des arcs entrants ! 15 14 mars 2006 Cours de graphes 4 - Intranet
17
Cours de graphes 4 - Intranet
Les graphes de flots Les capacités ! Exemple : 10 20 20 15 Source « s » Puits « p » 10 10 8 17 5 10 15 Tout sommet « u » appartient à un chemin simple de « s » vers « p » ! 14 mars 2006 Cours de graphes 4 - Intranet
18
Cours de graphes 4 - Intranet
Les graphes de flots Les capacités ! Exemple : 10 20 20 15 Source « s » Puits « p » 10 10 u 8 17 5 10 15 Tout sommet « u » appartient à un chemin simple de « s » vers « p » ! 14 mars 2006 Cours de graphes 4 - Intranet
19
Cours de graphes 4 - Intranet
Les graphes de flots La dynamique : La source produit ( des m^3 d’eau, des kWh ), elle est la seule à produire ! 14 mars 2006 Cours de graphes 4 - Intranet
20
Cours de graphes 4 - Intranet
Les graphes de flots La dynamique : La source produit ( des m^3 d’eau, des kWh ), elle est la seule à produire ! Le puits consomme, il est le seul à le faire ! 14 mars 2006 Cours de graphes 4 - Intranet
21
Cours de graphes 4 - Intranet
Les graphes de flots La dynamique : La source produit ( des m^3 d’eau, des kWh ), elle est la seule à produire ! Le puits consomme, il est le seul à le faire ! Les autres sommets transmettent, sans produire, ni consommer ! 14 mars 2006 Cours de graphes 4 - Intranet
22
Cours de graphes 4 - Intranet
Les graphes de flots La dynamique : La source produit ( des m^3 d’eau, des kWh ), elle est la seule à produire ! Le puits consomme, il est le seul à le faire ! Les autres sommets transmettent, sans produire, ni consommer ! Nous appelons ceci un flot ! ( flow en anglais ) 14 mars 2006 Cours de graphes 4 - Intranet
23
Cours de graphes 4 - Intranet
Les graphes de flots La dynamique : La source produit ( des m^3 d’eau, des kWh ), elle est la seule à produire ! Le puits consomme, il est le seul à le faire ! Les autres sommets transmettent, sans produire, ni consommer ! Un peu de discipline : Sur chaque arc le flot est compris entre zéro et la capacité de l’arc ! Nous appelons ceci un flot ! ( flow en anglais ) 14 mars 2006 Cours de graphes 4 - Intranet
24
Cours de graphes 4 - Intranet
Les graphes de flots La dynamique : La source produit ( des m^3 d’eau, des kWh ), elle est la seule à produire ! Le puits consomme, il est le seul à le faire ! Les autres sommets transmettent, sans produire, ni consommer ! Un peu de discipline : Sur chaque arc le flot est compris entre zéro et la capacité de l’arc ! Représentation : Nous appelons ceci un flot ! ( flow en anglais ) flot / capacité 14 mars 2006 Cours de graphes 4 - Intranet
25
Cours de graphes 4 - Intranet
Les graphes de flots La dynamique : La source produit ( des m^3 d’eau, des kWh ), elle est la seule à produire ! Le puits consomme, il est le seul à le faire ! Les autres sommets transmettent, sans produire, ni consommer ! Un peu de discipline : Sur chaque arc le flot est compris entre zéro et la capacité de l’arc ! Représentation : Nous appelons ceci un flot ! ( flow en anglais ) Capacité = flot maximal ! flot / capacité 14 mars 2006 Cours de graphes 4 - Intranet
26
Cours de graphes 4 - Intranet
Les graphes de flots Exemple : 10 20 20 15 Source « s » Puits « p » 10 10 8 17 5 10 15 14 mars 2006 Cours de graphes 4 - Intranet
27
Cours de graphes 4 - Intranet
Les graphes de flots flot / capacité Exemple : 5 / 10 10 / 20 13 / 20 0 / 15 Source « s » Puits « p » 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 14 mars 2006 Cours de graphes 4 - Intranet
28
Cours de graphes 4 - Intranet
Les graphes de flots flot / capacité Exemple : 5 / 10 10 / 20 13 / 20 0 / 15 Source « s » Puits « p » 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 Toutes contraintes sur les capacités sont respectées ! ! ! 14 mars 2006 Cours de graphes 4 - Intranet
29
Cours de graphes 4 - Intranet
Les graphes de flots flot / capacité Exemple : 5 / 10 10 / 20 13 / 20 0 / 15 Source « s » Puits « p » 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 Les intermédiaires redistribuent exactement ce qu’ils reçoivent ! 14 mars 2006 Cours de graphes 4 - Intranet
30
Cours de graphes 4 - Intranet
Les graphes de flots flot / capacité Exemple : 5 / 10 10 / 20 13 / 20 0 / 15 Source « s » Puits « p » 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 Les intermédiaires redistribuent exactement ce qu’ils reçoivent ! 14 mars 2006 Cours de graphes 4 - Intranet
31
Cours de graphes 4 - Intranet
Les graphes de flots flot / capacité Exemple : 5 / 10 10 / 20 13 / 20 0 / 15 Source « s » Puits « p » 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 Les intermédiaires redistribuent exactement ce qu’ils reçoivent ! 14 mars 2006 Cours de graphes 4 - Intranet
32
Les graphes de flots -----------------------------------------------------------------
flot / capacité Exemple : 5 / 10 10 / 20 13 / 20 0 / 15 Source « s » Puits « p » 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 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 ! 14 mars 2006 Cours de graphes 4 - Intranet
33
Pouvons-nous augmenter le flot ?
Les graphes de flots flot / capacité Exemple : 5 / 10 10 / 20 13 / 20 0 / 15 Source « s » Puits « p » 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 Pouvons-nous augmenter le flot ? 14 mars 2006 Cours de graphes 4 - Intranet
34
Pouvons-nous augmenter le flot ?
Les graphes de flots flot / capacité OUI : + 5 Exemple : 5 / 10 10 / 20 13 / 20 0 / 15 Source « s » Puits « p » 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 Pouvons-nous augmenter le flot ? 14 mars 2006 Cours de graphes 4 - Intranet
35
Cours de graphes 4 - Intranet
Les graphes de flots flot / capacité Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Source « s » Puits « p » 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 Le flot est de 22 unités ! 14 mars 2006 Cours de graphes 4 - Intranet
36
Cours de graphes 4 - Intranet
Les graphes de flots flot / capacité Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Source « s » Puits « p » 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 Pouvons-nous encore augmenter le flot ? 14 mars 2006 Cours de graphes 4 - Intranet
37
Cours de graphes 4 - Intranet
Les graphes de flots flot / capacité OUI : + 1 Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Source « s » Puits « p » 5 / 10 0 / 10 8 / 8 5 / 17 4 / 5 7 / 10 7 / 15 Pouvons-nous encore augmenter le flot ? 14 mars 2006 Cours de graphes 4 - Intranet
38
Cours de graphes 4 - Intranet
Les graphes de flots flot / capacité Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Source « s » Puits « p » 5 / 10 1 / 10 8 / 8 6 / 17 5 / 5 7 / 10 7 / 15 Le flot est de 23 unités ! 14 mars 2006 Cours de graphes 4 - Intranet
39
Cours de graphes 4 - Intranet
Les graphes de flots flot / capacité Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Source « s » Puits « p » 5 / 10 1 / 10 8 / 8 6 / 17 5 / 5 7 / 10 7 / 15 Encore ? ? ? Le flot est de 23 unités ! 14 mars 2006 Cours de graphes 4 - Intranet
40
Cours de graphes 4 - Intranet
Les graphes de flots Non, le réseau est saturé ! ! ! flot / capacité Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Source « s » Puits « p » 5 / 10 1 / 10 8 / 8 6 / 17 5 / 5 7 / 10 7 / 15 Encore ? ? ? Le flot est de 23 unités ! 14 mars 2006 Cours de graphes 4 - Intranet
41
Cours de graphes 4 - Intranet
Les graphes de flots Non, le réseau est saturé ! ! ! flot / capacité Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Source « s » Puits « p » 5 / 10 1 / 10 8 / 8 6 / 17 5 / 5 7 / 10 7 / 15 Encore ? ? ? Le flot est de 23 unités ! 14 mars 2006 Cours de graphes 4 - Intranet
42
Cours de graphes 4 - Intranet
Les graphes de flots Non, le réseau est saturé ! ! ! flot / capacité Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Source « s » Puits « p » 5 / 10 1 / 10 8 / 8 6 / 17 5 / 5 7 / 10 7 / 15 Encore ? ? ? Le flot est de 23 unités ! 14 mars 2006 Cours de graphes 4 - Intranet
43
Cours de graphes 4 - Intranet
Les graphes de flots Non, le réseau est saturé ! ! ! flot / capacité Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Source « s » Puits « p » 5 / 10 1 / 10 8 / 8 6 / 17 5 / 5 7 / 10 7 / 15 Encore ? ? ? Cette coupe est saturée ! Le flot est de 23 unités ! 14 mars 2006 Cours de graphes 4 - Intranet
44
Cours de graphes 4 - Intranet
Les graphes de flots Non, le réseau est saturé ! ! ! flot / capacité Exemple : 10 / 10 15 / 20 18 / 20 0 / 15 Source « s » Puits « p » 5 / 10 1 / 10 8 / 8 6 / 17 5 / 5 7 / 10 7 / 15 Encore ? ? ? Cette coupe est saturée ! Le flot est de 23 unités ! C'est la coupe minimale ! 14 mars 2006 Cours de graphes 4 - Intranet
45
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 ! 14 mars 2006 Cours de graphes 4 - Intranet
46
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 ! 14 mars 2006 Cours de graphes 4 - Intranet
47
Cours de graphes 4 - Intranet
Application La SNCF étudie son réseau ferré de la région parisienne : Nous connaissons les capacités des gares de Paris ! Nous connaissons le réseau et ses capacités ! Nous connaissons les capacités des gares de banlieue ! 14 mars 2006 Cours de graphes 4 - Intranet
48
Cours de graphes 4 - Intranet
Application Lyon Versailles Austerlitz Evry Lazare Marne la Vallée Est Saint-Denis Nord 14 mars 2006 Cours de graphes 4 - Intranet
49
Cours de graphes 4 - Intranet
Application Lyon Versailles 50 Austerlitz Evry Lazare S Marne la Vallée Est Saint-Denis 40 Nord Les capacités d’accueil des différentes gares ! 14 mars 2006 Cours de graphes 4 - Intranet
50
Cours de graphes 4 - Intranet
Application Lyon Versailles 50 20 Austerlitz Evry Lazare S Marne la Vallée P Est 25 Saint-Denis 40 Nord Les capacités d’accueil des différentes gares ! Les capacités d’accueil des différentes gares ! 14 mars 2006 Cours de graphes 4 - Intranet
51
Cours de graphes 4 - Intranet
Application 17 Lyon Versailles 50 20 Austerlitz Evry Lazare S Marne la Vallée P Est 25 Saint-Denis 40 Nord 23 Les capacités d’accueil des différentes gares ! Les capacités d’accueil des différentes gares ! Les lignes et leurs capacités ! 14 mars 2006 Cours de graphes 4 - Intranet
52
Cours de graphes 4 - Intranet
Application La SNCF étudie son réseau ferré de la région parisienne : Nous connaissons les capacités des gares de Paris ! Nous connaissons le réseau et ses capacités ! Nous connaissons les capacités des gares de banlieue ! Nous limitons les capacités des trains dans les gares ! 14 mars 2006 Cours de graphes 4 - Intranet
53
Cours de graphes 4 - Intranet
Application 17 Lyon Versailles 50 20 Austerlitz Evry Lazare S Marne la Vallée P Est 25 Saint-Denis 40 Nord 23 Les capacités d’accueil des différentes gares ! Les capacités d’accueil des différentes gares ! Les lignes et leurs capacités ! 14 mars 2006 Cours de graphes 4 - Intranet
54
Cours de graphes 4 - Intranet
Application Capacités de trains en gares ! 23 17 Lyon Versailles 50 20 Austerlitz Evry Lazare S Marne la Vallée P Est 25 Saint-Denis 40 Nord 23 25 Les capacités d’accueil des différentes gares ! Les capacités d’accueil des différentes gares ! Les lignes et leurs capacités ! 14 mars 2006 Cours de graphes 4 - Intranet
55
Cours de graphes 4 - Intranet
Application La SNCF étudie son réseau ferré de la région parisienne : Nous connaissons les capacités des gares de Paris ! Nous connaissons le réseau et ses capacités ! Nous connaissons les capacités des gares de banlieue ! Nous limitons les capacités des trains dans les gares ! Nous levons cette limitation pour certaines gares ! Nous limitons la capacité globale de tous les trains ! 14 mars 2006 Cours de graphes 4 - Intranet
56
Cours de graphes 4 - Intranet
Application Capacités de trains en gares ! 23 17 Lyon Versailles 50 20 Austerlitz Evry Lazare S Marne la Vallée P Est 25 Saint-Denis 40 Nord 23 25 Les capacités d’accueil des différentes gares ! Les capacités d’accueil des différentes gares ! Les lignes et leurs capacités ! 14 mars 2006 Cours de graphes 4 - Intranet
57
Cours de graphes 4 - Intranet
Application Capacités de trains en gares ! Limitation globale en trains ! + µ 17 Lyon Versailles 50 20 Austerlitz Evry 250 Lazare S Marne la Vallée P Est 25 Saint-Denis 40 Nord 23 25 Les capacités d’accueil des différentes gares ! Les capacités d’accueil des différentes gares ! Les lignes et leurs capacités ! 14 mars 2006 Cours de graphes 4 - Intranet
58
Cours de graphes 4 - Intranet
Application Capacités de trains en gares ! Limitation globale en trains ! + µ 17 Lyon Versailles 50 20 Austerlitz Evry 250 Lazare S Marne la Vallée P Est 25 Saint-Denis 40 Nord 23 25 Les capacités d’accueil des différentes gares ! Les capacités d’accueil des différentes gares ! Les lignes et leurs capacités ! Coupe minimale ! 14 mars 2006 Cours de graphes 4 - Intranet
59
Cours de graphes 4 - Intranet
Pas assez de clients ! ! ! Application Capacités de trains en gares ! Limitation globale en trains ! + µ 17 Lyon Versailles 50 20 Austerlitz Evry 250 Lazare S Marne la Vallée P Est 25 Saint-Denis 40 Nord 23 25 Les capacités d’accueil des différentes gares ! Les capacités d’accueil des différentes gares ! Les lignes et leurs capacités ! Coupe minimale ! 14 mars 2006 Cours de graphes 4 - Intranet
60
Investir dans le réseau ! ! !
Application Capacités de trains en gares ! Limitation globale en trains ! + µ 17 Lyon Versailles 50 20 Austerlitz Evry 250 Lazare S Marne la Vallée P Est 25 Saint-Denis 40 Nord 23 25 Les capacités d’accueil des différentes gares ! Les capacités d’accueil des différentes gares ! Les lignes et leurs capacités ! Coupe minimale ! 14 mars 2006 Cours de graphes 4 - Intranet
61
Investir dans le réseau et certaines gares ! ! !
Application Capacités de trains en gares ! Limitation globale en trains ! + µ 17 Lyon Versailles 50 20 Austerlitz Evry 250 Lazare S Marne la Vallée P Est 25 Saint-Denis 40 Nord 23 25 Les capacités d’accueil des différentes gares ! Les capacités d’accueil des différentes gares ! Les lignes et leurs capacités ! Coupe minimale ! 14 mars 2006 Cours de graphes 4 - Intranet
62
Cours de graphes 4 - Intranet
Acheter des trains ! ! ! Application Capacités de trains en gares ! Limitation globale en trains ! + µ 17 Lyon Versailles 50 20 Austerlitz Evry 250 Lazare S Marne la Vallée P Est 25 Saint-Denis 40 Nord 23 25 Les capacités d’accueil des différentes gares ! Les capacités d’accueil des différentes gares ! Les lignes et leurs capacités ! Coupe minimale ! 14 mars 2006 Cours de graphes 4 - Intranet
63
Cours de graphes 4 - Intranet
Application La représentation : Les capacités : c : V x V -> R+ I 14 mars 2006 Cours de graphes 4 - Intranet
64
Cours de graphes 4 - Intranet
Application La représentation : Les capacités : c : V x V -> R+ Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 ! I 14 mars 2006 Cours de graphes 4 - Intranet
65
Cours de graphes 4 - Intranet
Application La représentation : Les capacités : c : V x V -> R+ Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 ! Les flots : f : V x V -> R I I 14 mars 2006 Cours de graphes 4 - Intranet
66
Cours de graphes 4 - Intranet
Application La représentation : Les capacités : c : V x V -> R+ Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 ! Les flots : f : V x V -> R f ( u , v ) >= 0 , si le flot va de « u » vers « v » , f ( u , v ) <= 0 , si le flot va de « v » vers « u » ! I I 14 mars 2006 Cours de graphes 4 - Intranet
67
Cours de graphes 4 - Intranet
Application La représentation : Les capacités : c : V x V -> R+ Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 ! Les flots : f : V x V -> R f ( u , v ) >= 0 , si le flot va de « u » vers « v » , f ( u , v ) <= 0 , si le flot va de « v » vers « u » ! Les contraintes : f ( u , v ) <= c ( u , v ) I I 14 mars 2006 Cours de graphes 4 - Intranet
68
Cours de graphes 4 - Intranet
Application La représentation : Les capacités : c : V x V -> R+ Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 ! Les flots : f : V x V -> R f ( u , v ) >= 0 , si le flot va de « u » vers « v » , f ( u , v ) <= 0 , si le flot va de « v » vers « u » ! Les contraintes : f ( u , v ) <= c ( u , v ) f ( u , v ) = - f ( v , u ) I I 14 mars 2006 Cours de graphes 4 - Intranet
69
Cours de graphes 4 - Intranet
Application La représentation : Les capacités : c : V x V -> R+ Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 ! Les flots : f : V x V -> R f ( u , v ) >= 0 , si le flot va de « u » vers « v » , f ( u , v ) <= 0 , si le flot va de « v » vers « u » ! Les contraintes : f ( u , v ) <= c ( u , v ) f ( u , v ) = - f ( v , u ) S f ( u , v ) = 0 , si u est différent de s et de p . I I v e V 14 mars 2006 Cours de graphes 4 - Intranet
70
Cours de graphes 4 - Intranet
Application La représentation : Les capacités : c : V x V -> R+ Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 ! Les flots : f : V x V -> R f ( u , v ) >= 0 , si le flot va de « u » vers « v » , f ( u , v ) <= 0 , si le flot va de « v » vers « u » ! Les contraintes : f ( u , v ) <= c ( u , v ) f ( u , v ) = - f ( v , u ) S f ( u , v ) = 0 , si u est différent de s et de p . I I S Maximiser f ( s , u ) u V e v e V 14 mars 2006 Cours de graphes 4 - Intranet
71
Cours de graphes 4 - Intranet
Ford et Fulkerson Initialiser le flot à 0 Tantqu’il existe un chemin augmentant Augmenter le flot le long du chemin en question ! 14 mars 2006 Cours de graphes 4 - Intranet
72
Cours de graphes 4 - Intranet
Ford et Fulkerson Comment changer le flot ? f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) 14 mars 2006 Cours de graphes 4 - Intranet
73
Cours de graphes 4 - Intranet
Ford et Fulkerson Comment changer le flot ? D’abord : f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) f ( u , v ) <= c ( u , v ) - f ( u , v ) = f ( v , u ) <= c ( v , u ) - c ( v , u ) <= f ( u , v ) <= c ( u , v ) 14 mars 2006 Cours de graphes 4 - Intranet
74
Cours de graphes 4 - Intranet
Ford et Fulkerson Comment changer le flot ? Ensuite : Le flot « f ( u , v ) » est le flot dans l’arc ( u , v ) diminué du flot dans l’arc ( v , u ) ! f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) 14 mars 2006 Cours de graphes 4 - Intranet
75
Cours de graphes 4 - Intranet
Ford et Fulkerson Comment changer le flot ? Ensuite : Le flot « f ( u , v ) » est le flot dans l’arc ( u , v ) diminué du flot dans l’arc ( v , u ) ! f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) 3 / 5 2 / 5 + 2 - 1 u v u v 1 / 4 3 / 4 14 mars 2006 Cours de graphes 4 - Intranet
76
Pour maximiser le flot de u vers v ! ! !
Ford et Fulkerson Comment changer le flot ? f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) Pour maximiser le flot de u vers v ! ! ! 14 mars 2006 Cours de graphes 4 - Intranet
77
Pour maximiser le flot de u vers v ! ! !
Ford et Fulkerson Comment changer le flot ? Le flot dans l’arc ( u , v ) est porté au maximum ! Le flot dans l’arc ( v , u ) est ramené à zéro ! f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) Pour maximiser le flot de u vers v ! ! ! 14 mars 2006 Cours de graphes 4 - Intranet
78
Pour maximiser le flot de u vers v ! ! !
Ford et Fulkerson Comment changer le flot ? Le flot dans l’arc ( u , v ) est porté au maximum ! Le flot dans l’arc ( v , u ) est ramené à zéro ! f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) Pour maximiser le flot de u vers v ! ! ! 5 / 5 + 5 u v 0 / 4 14 mars 2006 Cours de graphes 4 - Intranet
79
Pour maximiser le flot de v vers u ! ! !
Ford et Fulkerson Comment changer le flot ? f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) Pour maximiser le flot de v vers u ! ! ! 14 mars 2006 Cours de graphes 4 - Intranet
80
Pour maximiser le flot de v vers u ! ! !
Ford et Fulkerson Comment changer le flot ? f ( u , v ) = - f ( v , u ) c ( u , v ) Donc, minimiser le flot de u vers v ! ! ! f ( u , v ) u v c ( v , u ) Pour maximiser le flot de v vers u ! ! ! 14 mars 2006 Cours de graphes 4 - Intranet
81
Pour maximiser le flot de v vers u ! ! !
Ford et Fulkerson Comment changer le flot ? Le flot dans l’arc ( v , u ) est porté au maximum ! Le flot dans l’arc ( u , v ) est ramené à zéro ! f ( u , v ) = - f ( v , u ) c ( u , v ) Donc, minimiser le flot de u vers v ! ! ! f ( u , v ) u v c ( v , u ) Pour maximiser le flot de v vers u ! ! ! 14 mars 2006 Cours de graphes 4 - Intranet
82
Pour maximiser le flot de v vers u ! ! !
Ford et Fulkerson Comment changer le flot ? Le flot dans l’arc ( v , u ) est porté au maximum ! Le flot dans l’arc ( u , v ) est ramené à zéro ! f ( u , v ) = - f ( v , u ) c ( u , v ) Donc, minimiser le flot de u vers v ! ! ! f ( u , v ) u v c ( v , u ) Pour maximiser le flot de v vers u ! ! ! 0 / 5 - 4 u v 4 / 4 14 mars 2006 Cours de graphes 4 - Intranet
83
Pour maximiser le flot de v vers u ! ! !
Ford et Fulkerson Comment changer le flot ? Le flot dans l’arc ( v , u ) est porté au maximum ! Le flot dans l’arc ( u , v ) est ramené à zéro ! f ( u , v ) = - f ( v , u ) c ( u , v ) Donc, minimiser le flot de u vers v ! ! ! f ( u , v ) u v c ( v , u ) Pour maximiser le flot de v vers u ! ! ! 0 / 5 0 / 5 - 4 + 4 u v v u 4 / 4 4 / 4 14 mars 2006 Cours de graphes 4 - Intranet
84
La capacité résiduelle r ( u , v ) :
Ford et Fulkerson Comment changer le flot ? f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) La capacité résiduelle r ( u , v ) : 14 mars 2006 Cours de graphes 4 - Intranet
85
La capacité résiduelle r ( u , v ) :
Ford et Fulkerson Comment changer le flot ? r ( u , v ) = c ( u , v ) - f ( u , v ) f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) La capacité résiduelle r ( u , v ) : 14 mars 2006 Cours de graphes 4 - Intranet
86
La capacité résiduelle r ( u , v ) :
Ford et Fulkerson Comment changer le flot ? r ( u , v ) = c ( u , v ) - f ( u , v ) le flot maximal le flot déjà acquis f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) La capacité résiduelle r ( u , v ) : 14 mars 2006 Cours de graphes 4 - Intranet
87
La capacité résiduelle r ( u , v ) :
Ford et Fulkerson Comment changer le flot ? r ( u , v ) = c ( u , v ) - f ( u , v ) f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) La capacité résiduelle r ( u , v ) : 3 / 5 + 2 u v 1 / 4 14 mars 2006 Cours de graphes 4 - Intranet
88
La capacité résiduelle r ( u , v ) :
Ford et Fulkerson Comment changer le flot ? r ( u , v ) = c ( u , v ) - f ( u , v ) f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) La capacité résiduelle r ( u , v ) : 3 / 5 r ( u , v ) = 5 – 2 = 3 + 2 u v 1 / 4 14 mars 2006 Cours de graphes 4 - Intranet
89
La capacité résiduelle r ( u , v ) :
Ford et Fulkerson Comment changer le flot ? r ( u , v ) = c ( u , v ) - f ( u , v ) f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) La capacité résiduelle r ( u , v ) : 5 X 3 / 5 r ( u , v ) = 5 – 2 = 3 + 2 + 3 u v 0 X 1 / 4 14 mars 2006 Cours de graphes 4 - Intranet
90
La capacité résiduelle r ( u , v ) :
Ford et Fulkerson Comment changer le flot ? r ( u , v ) = c ( u , v ) - f ( u , v ) f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) La capacité résiduelle r ( u , v ) : 3 / 5 r ( u , v ) = 5 – 2 = 3 + 2 u v r ( v , u ) = 4 – (– 2) = 6 1 / 4 14 mars 2006 Cours de graphes 4 - Intranet
91
La capacité résiduelle r ( u , v ) :
Ford et Fulkerson Comment changer le flot ? r ( u , v ) = c ( u , v ) - f ( u , v ) f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) La capacité résiduelle r ( u , v ) : 3 / 5 r ( u , v ) = 5 – 2 = 3 - 2 u v r ( v , u ) = 4 – (– 2) = 6 1 / 4 14 mars 2006 Cours de graphes 4 - Intranet
92
La capacité résiduelle r ( u , v ) :
Ford et Fulkerson Comment changer le flot ? r ( u , v ) = c ( u , v ) - f ( u , v ) f ( u , v ) = - f ( v , u ) c ( u , v ) f ( u , v ) u v c ( v , u ) La capacité résiduelle r ( u , v ) : 0 X 3 / 5 r ( u , v ) = 5 – 2 = 3 - 2 + 6 u v r ( v , u ) = 4 – (– 2) = 6 4 X 1 / 4 14 mars 2006 Cours de graphes 4 - Intranet
93
Cours de graphes 4 - Intranet
Ford et Fulkerson Le graphe résiduel R : Il a les mêmes sommets que le graphe de flot G ! Il possède un arc ( u , v ) si la capacité résiduelle r ( u , v ) dans le graphe G est strictement positive ! L’arc en question est pondéré par la capacité résiduelle ! 14 mars 2006 Cours de graphes 4 - Intranet
94
Cours de graphes 4 - Intranet
Ford et Fulkerson Le graphe résiduel R : Il a les mêmes sommets que le graphe de flot G ! Il possède un arc ( u , v ) si la capacité résiduelle r ( u , v ) dans le graphe G est strictement positive ! L’arc en question est pondéré par la capacité résiduelle ! Un chemin augmentant est un chemin de « s » vers « p » dans le graphe résiduel R ! 14 mars 2006 Cours de graphes 4 - Intranet
95
Cours de graphes 4 - Intranet
Ford et Fulkerson Le graphe résiduel R : Il a les mêmes sommets que le graphe de flot G ! Il possède un arc ( u , v ) si la capacité résiduelle r ( u , v ) dans le graphe G est strictement positive ! L’arc en question est pondéré par la capacité résiduelle ! Un chemin augmentant est un chemin de « s » vers « p » dans le graphe résiduel R ! Le poids du chemin augmentant est le poids de l’arc le plus léger du chemin ! 14 mars 2006 Cours de graphes 4 - Intranet
96
Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 0/3 Un exemple : s p Le graphe G ! 1/2 0/2 2/6 3/3 v 14 mars 2006 Cours de graphes 4 - Intranet
97
Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 0/3 Un exemple : s p Le graphe G ! 1/2 0/2 2/6 3/3 v u s p Construction du graphe R ! v 14 mars 2006 Cours de graphes 4 - Intranet
98
Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 0/3 Un exemple : s p Le graphe G ! 1/2 0/2 2/6 3/3 v u 3 1 s p Construction du graphe R ! v 14 mars 2006 Cours de graphes 4 - Intranet
99
Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 0/3 Un exemple : s p Le graphe G ! 1/2 0/2 r ( s , u ) = c ( s , u ) - f ( s , u ) = 4 – 1 = 3 2/6 3/3 v r ( u , s ) = c ( u , s ) - f ( u , s ) = c ( u , s ) + f ( s , u ) = = 1 u 3 1 s p Construction du graphe R ! v 14 mars 2006 Cours de graphes 4 - Intranet
100
Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 0/3 Un exemple : s p Le graphe G ! 1/2 0/2 2/6 3/3 v u 3 1 s p Construction du graphe R ! 2 4 v 14 mars 2006 Cours de graphes 4 - Intranet
101
Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 0/3 Un exemple : s p Le graphe G ! 1/2 0/2 2/6 3/3 v u 3 3 1 s p Construction du graphe R ! 2 4 v 14 mars 2006 Cours de graphes 4 - Intranet
102
Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 0/3 Un exemple : s p Le graphe G ! 1/2 0/2 2/6 3/3 v u 3 3 1 s p Construction du graphe R ! 2 3 4 v 14 mars 2006 Cours de graphes 4 - Intranet
103
Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 0/3 Un exemple : s p Le graphe G ! 1/2 0/2 2/6 3/3 v u 3 3 1 s 1 3 p Le graphe R ! 2 3 4 v 14 mars 2006 Cours de graphes 4 - Intranet
104
Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 0/3 Un exemple : s p Le graphe G ! 1/2 0/2 2/6 3/3 v u 3 3 Un chemin augmentant de poids 3 ! 1 s 1 3 p Le graphe R ! 2 3 4 v 14 mars 2006 Cours de graphes 4 - Intranet
105
Cours de graphes 4 - Intranet
Ford et Fulkerson u +3 1/4 0/3 Un exemple : -1 +2 s p Le nouveau graphe G ! 1/2 0/2 2/6 3/3 +3 v u 3 3 Un chemin augmentant de poids 3 ! 1 s 1 3 p Le graphe R ! 2 3 4 v 14 mars 2006 Cours de graphes 4 - Intranet
106
Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 3/3 Un exemple : s p Le nouveau graphe G ! 0/2 2/2 5/6 3/3 v u 3 3 Un chemin augmentant de poids 3 ! 1 s 1 3 p Le graphe R ! 2 3 4 v 14 mars 2006 Cours de graphes 4 - Intranet
107
Cours de graphes 4 - Intranet
Ford et Fulkerson Pour changer le flot : 4 / 7 6 / 7 devient +2 14 mars 2006 Cours de graphes 4 - Intranet
108
Cours de graphes 4 - Intranet
Ford et Fulkerson Pour changer le flot : 4 / 7 6 / 7 devient +2 4 / 7 2 / 7 devient +2 14 mars 2006 Cours de graphes 4 - Intranet
109
Cours de graphes 4 - Intranet
Ford et Fulkerson Pour changer le flot : 4 / 7 6 / 7 devient +2 4 / 7 2 / 7 devient +2 4 / 7 5 / 7 4 / 7 devient ou 2 / 5 1 / 5 0 / 5 +2 ou . . . 14 mars 2006 Cours de graphes 4 - Intranet
110
Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 3/3 Un exemple : s p Le nouveau graphe G ! 0/2 2/2 5/6 3/3 v 14 mars 2006 Cours de graphes 4 - Intranet
111
Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 3/3 Un exemple : s p Le nouveau graphe G ! 0/2 2/2 5/6 3/3 v u 3 Ceci est conservé ! 1 s p Construction du graphe R ! 3 v 14 mars 2006 Cours de graphes 4 - Intranet
112
Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 3/3 Un exemple : s p Le nouveau graphe G ! 0/2 2/2 5/6 3/3 v u 3 1 s p Construction du graphe R ! 5 3 1 v 14 mars 2006 Cours de graphes 4 - Intranet
113
Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 3/3 Un exemple : s p Le nouveau graphe G ! 0/2 2/2 5/6 3/3 v u 3 1 s 4 p Construction du graphe R ! 5 3 1 v 14 mars 2006 Cours de graphes 4 - Intranet
114
Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 3/3 Un exemple : s p Le nouveau graphe G ! 0/2 2/2 5/6 3/3 v u 3 3 1 s 4 p Le graphe R ! 5 3 1 v 14 mars 2006 Cours de graphes 4 - Intranet
115
Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 3/3 Un exemple : s p Le nouveau graphe G ! 0/2 2/2 5/6 3/3 v u 3 3 Plus de chemin augmentant ! ! ! 1 s 4 p Le graphe R ! 5 3 1 v 14 mars 2006 Cours de graphes 4 - Intranet
116
Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 3/3 Un exemple : s p Le nouveau graphe G ! 0/2 2/2 5/6 3/3 v u 3 3 Plus de chemin augmentant ! ! ! 1 s 4 p Le graphe R ! 5 3 1 Pas de passage ! ! ! v 14 mars 2006 Cours de graphes 4 - Intranet
117
Cours de graphes 4 - Intranet
Ford et Fulkerson u 1/4 3/3 Un exemple : s p Le nouveau graphe G ! 0/2 2/2 5/6 3/3 La coupe minimale ! v u 3 3 Plus de chemin augmentant ! ! ! 1 s 4 p Le graphe R ! 5 3 1 Pas de passage ! ! ! v 14 mars 2006 Cours de graphes 4 - Intranet
118
Cours de graphes 4 - Intranet
Ford et Fulkerson Elle est saturée ! u 1/4 3/3 Un exemple : s p Le nouveau graphe G ! 0/2 2/2 5/6 3/3 La coupe minimale ! v u 3 3 Plus de chemin augmentant ! ! ! 1 s 4 p Le graphe R ! 5 3 1 Pas de passage ! ! ! v 14 mars 2006 Cours de graphes 4 - Intranet
119
Cours de graphes 4 - Intranet
Ford et Fulkerson Elle est saturée ! u 1/4 3/3 Un exemple : Le flot maximal vaut 6 ! ! ! s p Le nouveau graphe G ! 0/2 2/2 5/6 3/3 La coupe minimale ! v u 3 3 Plus de chemin augmentant ! ! ! 1 s 4 p Le graphe R ! 5 3 1 Pas de passage ! ! ! v 14 mars 2006 Cours de graphes 4 - Intranet
120
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut 14 mars 2006 Cours de graphes 4 - Intranet
121
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Une coupe ( S , P ) ( cut en anglais ) : . . . . . . s p S P 14 mars 2006 Cours de graphes 4 - Intranet
122
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Une coupe ( S , P ) ( cut en anglais ) : Nous partitionnons les sommets du graphe pour obtenir une partie S quasi-fortement connexe de racine s , et une partie P quasi-fortement connexe de racine p , si nous inversons les arcs. . . . . . . s p S P 14 mars 2006 Cours de graphes 4 - Intranet
123
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Le flot à travers une coupe ( S , P ) : f ( S , P ) f ( S , P ) = S f ( u , v ) u e S v e P 14 mars 2006 Cours de graphes 4 - Intranet
124
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Le flot à travers une coupe ( S , P ) : f ( S , P ) f ( S , P ) = S f ( u , v ) u e S v e P 4 / … . . . . . . s p 3 / … 2 / … S P 14 mars 2006 Cours de graphes 4 - Intranet
125
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Le flot à travers une coupe ( S , P ) : f ( S , P ) f ( S , P ) = S f ( u , v ) Dans le sens S vers P , nous comptons en positif ! Dans le sens P vers S , nous comptons en négatif ! u e S v e P 4 / … . . . . . . s p 3 / … 2 / … S P 14 mars 2006 Cours de graphes 4 - Intranet
126
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Le flot à travers une coupe ( S , P ) : f ( S , P ) f ( S , P ) = S f ( u , v ) Dans le sens S vers P , nous comptons en positif ! Dans le sens P vers S , nous comptons en négatif ! u e S v e P 4 / … . . . . . . s p - 3 / … 2 / … S P 14 mars 2006 Cours de graphes 4 - Intranet
127
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Le flot à travers une coupe ( S , P ) : f ( S , P ) f ( S , P ) = S f ( u , v ) = Dans le sens S vers P , nous comptons en positif ! Dans le sens P vers S , nous comptons en négatif ! u e S v e P 4 / … . . . . . . s p - 3 / … 2 / … S P 14 mars 2006 Cours de graphes 4 - Intranet
128
Les flots à travers toutes les coupes sont identiques !
Théorème du Max-flow – Min-Cut Le flot à travers une coupe ( S , P ) : f ( S , P ) f ( S , P ) = S f ( u , v ) = Dans le sens S vers P , nous comptons en positif ! Dans le sens P vers S , nous comptons en négatif ! u e S v e P 4 / … . . . . . . s p - 3 / … 2 / … S’ P’ S P S’’ P’’ Les flots à travers toutes les coupes sont identiques ! 14 mars 2006 Cours de graphes 4 - Intranet
129
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut La capacité d’une coupe ( S , P ) : c ( S , P ) c ( S , P ) = S c ( u , v ) u e S v e P 14 mars 2006 Cours de graphes 4 - Intranet
130
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut La capacité d’une coupe ( S , P ) : c ( S , P ) c ( S , P ) = S c ( u , v ) u e S v e P … / 4 . . . . . . s p … / 3 … / 2 S P 14 mars 2006 Cours de graphes 4 - Intranet
131
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut La capacité d’une coupe ( S , P ) : c ( S , P ) c ( S , P ) = S c ( u , v ) Dans le sens S vers P , nous considérons l’arc ! Dans le sens P vers S , nous ignorons l’arc ! u e S v e P … / 4 . . . . . . s p … / 3 … / 2 S P 14 mars 2006 Cours de graphes 4 - Intranet
132
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut La capacité d’une coupe ( S , P ) : c ( S , P ) c ( S , P ) = S c ( u , v ) = Dans le sens S vers P , nous considérons l’arc ! Dans le sens P vers S , nous ignorons l’arc ! u e S v e P … / 4 . . . . . . s p … / 3 … / 2 S P 14 mars 2006 Cours de graphes 4 - Intranet
133
Il n'y a aucun flot retour ! ! !
Théorème du Max-flow – Min-Cut La capacité d’une coupe ( S , P ) : c ( S , P ) c ( S , P ) = S c ( u , v ) = Dans le sens S vers P , nous considérons l’arc ! Dans le sens P vers S , nous ignorons l’arc ! u e S v e P … / 4 . . . . . . s p … / 3 … / 2 S P Il n'y a aucun flot retour ! ! ! 14 mars 2006 Cours de graphes 4 - Intranet
134
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Pour toute coupe ( S , P ) , nous avons : f ( S , P ) <= c ( S , P ) 14 mars 2006 Cours de graphes 4 - Intranet
135
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Pour toute coupe ( S , P ) , nous avons : f ( S , P ) <= c ( S , P ) 4 / 7 . . . . . . s p 3 / 4 2 / 5 S P 14 mars 2006 Cours de graphes 4 - Intranet
136
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Pour toute coupe ( S , P ) , nous avons : f ( S , P ) <= c ( S , P ) f ( S , P ) = – 3 <= <= = c ( S , P ) 4 / 7 . . . . . . s p 3 / 4 2 / 5 S P 14 mars 2006 Cours de graphes 4 - Intranet
137
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Pour toute coupe ( S , P ) , nous avons : f ( S , P ) <= c ( S , P ) f ( S , P ) = – 3 <= <= = c ( S , P ) f ( S , P ) = S f ( u , v ) <= S f ( u , v ) <= S c ( u , v ) = c ( S , P ) u e S , v e P u e S , v e P u e S , v e P f ( u , v ) >= 0 4 / 7 . . . . . . s p 3 / 4 2 / 5 S P 14 mars 2006 Cours de graphes 4 - Intranet
138
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Pour le flot f à travers un graphe G, nous avons : f = f ( S , P ) , quelque soit la coupe ( S , P ) ! 14 mars 2006 Cours de graphes 4 - Intranet
139
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Pour le flot f à travers un graphe G, nous avons : f = f ( S , P ) , quelque soit la coupe ( S , P ) ! Or, pour toute coupe ( S , P ) , nous avons f ( S , P ) <= c ( S , P ) ! 14 mars 2006 Cours de graphes 4 - Intranet
140
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Pour le flot f à travers un graphe G, nous avons : f = f ( S , P ) , quelque soit la coupe ( S , P ) ! Or, pour toute coupe ( S , P ) , nous avons f ( S , P ) <= c ( S , P ) ! Donc, 0 <= f <= min c ( S , P ) coupes ( S , P ) 14 mars 2006 Cours de graphes 4 - Intranet
141
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Pour le flot f à travers un graphe G, nous avons : f = f ( S , P ) , quelque soit la coupe ( S , P ) ! Or, pour toute coupe ( S , P ) , nous avons f ( S , P ) <= c ( S , P ) ! Donc, 0 <= f <= min c ( S , P ) coupes ( S , P ) …/5 …/7 …/8 s p …/3 …/1 …/7 14 mars 2006 Cours de graphes 4 - Intranet
142
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Pour le flot f à travers un graphe G, nous avons : f = f ( S , P ) , quelque soit la coupe ( S , P ) ! Or, pour toute coupe ( S , P ) , nous avons f ( S , P ) <= c ( S , P ) ! Donc, 0 <= f <= min c ( S , P ) coupes ( S , P ) …/5 …/7 …/8 s p …/3 …/1 f <= 10 …/7 14 mars 2006 Cours de graphes 4 - Intranet
143
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Pour le flot f à travers un graphe G, nous avons : f = f ( S , P ) , quelque soit la coupe ( S , P ) ! Or, pour toute coupe ( S , P ) , nous avons f ( S , P ) <= c ( S , P ) ! Donc, 0 <= f <= min c ( S , P ) coupes ( S , P ) …/5 …/7 …/8 f <= 6 s p …/3 …/1 f <= 10 …/7 14 mars 2006 Cours de graphes 4 - Intranet
144
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Pour le flot f à travers un graphe G, nous avons : f = f ( S , P ) , quelque soit la coupe ( S , P ) ! Or, pour toute coupe ( S , P ) , nous avons f ( S , P ) <= c ( S , P ) ! Donc, 0 <= f <= min c ( S , P ) coupes ( S , P ) Est-ce l'égalité ? …/5 …/7 …/8 f <= 6 s p …/3 …/1 f <= 10 …/7 14 mars 2006 Cours de graphes 4 - Intranet
145
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Les trois conditions suivantes sont équivalentes : ( 1 ) Le flot f est maximal ! ( 2 ) Le graphe résiduel ne contient pas de chemin augmentant ! ( 3 ) Il existe une coupe ( S , P ) telle que f = c ( S , P ) ! Cette coupe est minimale et saturée ! 14 mars 2006 Cours de graphes 4 - Intranet
146
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Les trois conditions suivantes sont équivalentes : ( 1 ) Le flot f est maximal ! ( 2 ) Le graphe résiduel ne contient pas de chemin augmentant ! ( 3 ) Il existe une coupe ( S , P ) telle que f = c ( S , P ) ! Cette coupe est minimale et saturée ! OUI ! ! ! 14 mars 2006 Cours de graphes 4 - Intranet
147
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Les trois conditions suivantes sont équivalentes : ( 1 ) Le flot f est maximal ! ( 2 ) Le graphe résiduel ne contient pas de chemin augmentant ! ( 3 ) Il existe une coupe ( S , P ) telle que f = c ( S , P ) ! Cette coupe est minimale et saturée ! ( 1 ) => ( 2 ) Par absurde ! S’il y avait un chemin augmentant, le flot ne serait pas maximal. OUI ! ! ! 14 mars 2006 Cours de graphes 4 - Intranet
148
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Les trois conditions suivantes sont équivalentes : ( 1 ) Le flot f est maximal ! ( 2 ) Le graphe résiduel ne contient pas de chemin augmentant ! ( 3 ) Il existe une coupe ( S , P ) telle que f = c ( S , P ) ! Cette coupe est minimale et saturée ! ( 1 ) => ( 2 ) Par absurde ! S’il y avait un chemin augmentant, le flot ne serait pas maximal. ( 3 ) => ( 1 ) Comme il existe ( S , P ) telle que f = c ( S , P ) , nous avons c ( S , P ) = f <= min c ( S , P ) ! f est donc maximal et égal une coupe coupes ( S , P ) OUI ! ! ! 14 mars 2006 Cours de graphes 4 - Intranet
149
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut ( 2 ) => ( 3 ) Il existe une coupe ( S , P ) avec des arcs retour seulement ! 14 mars 2006 Cours de graphes 4 - Intranet
150
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut ( 2 ) => ( 3 ) Il existe une coupe ( S , P ) avec des arcs retour seulement ! . . . . . . s p S P 14 mars 2006 Cours de graphes 4 - Intranet
151
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut ( 2 ) => ( 3 ) Il existe une coupe ( S , P ) avec des arcs retour seulement ! Dans le graphe G, il y a trois cas : . . . . . . s p S P 14 mars 2006 Cours de graphes 4 - Intranet
152
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut ( 2 ) => ( 3 ) Il existe une coupe ( S , P ) avec des arcs retour seulement ! Dans le graphe G, il y a trois cas : u v . . . . . . r ( u , v ) = 0 et donc f ( u , v ) = c ( u , v ) s p S P u v . . . . . . s p S P 14 mars 2006 Cours de graphes 4 - Intranet
153
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut ( 2 ) => ( 3 ) Il existe une coupe ( S , P ) avec des arcs retour seulement ! Dans le graphe G, il y a trois cas : u v . . . . . . r ( u , v ) = 0 et donc f ( u , v ) = c ( u , v ) s x y p S P r ( x , y ) = 0 et donc f ( y , x ) = 0 u v . . . . . . s x y p S P 14 mars 2006 Cours de graphes 4 - Intranet
154
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut ( 2 ) => ( 3 ) Il existe une coupe ( S , P ) avec des arcs retour seulement ! Dans le graphe G, il y a trois cas : u v . . . . . . r ( u , v ) = 0 et donc f ( u , v ) = c ( u , v ) s x y p a b S P r ( x , y ) = 0 et donc f ( y , x ) = 0 u v . . . . . . s x y p r ( a , b ) = 0 et donc f ( a , b ) = c ( a , b ) a b S P 14 mars 2006 Cours de graphes 4 - Intranet
155
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Forcément, f = c ( S , P ) ! ! ! ( 2 ) => ( 3 ) Il existe une coupe ( S , P ) avec des arcs retour seulement ! Dans le graphe G, il y a trois cas : u v . . . . . . x r ( u , v ) = 0 et donc f ( u , v ) = c ( u , v ) s y p a b S P r ( x , y ) = 0 et donc f ( y , x ) = 0 u v . . . . . . s x y p r ( a , b ) = 0 et donc f ( a , b ) = c ( a , b ) a b S P 14 mars 2006 Cours de graphes 4 - Intranet
156
Cours de graphes 4 - Intranet
Théorème du Max-flow – Min-Cut Les trois conditions suivantes sont équivalentes : ( 1 ) Le flot f est maximal ! ( 2 ) Le graphe résiduel ne contient pas de chemin augmentant ! ( 3 ) Il existe une coupe ( S , P ) telle que f = c ( S , P ) ! Cette coupe est minimale et saturée ! 14 mars 2006 Cours de graphes 4 - Intranet
157
Cours de graphes 4 - Intranet
Complexité Le calcul du graphe résiduel R et du chemin augmentant est en Q ( | E | ) ! Le nombre d’itérations peut être aussi élevé que la valeur du flot optimal f* ! 14 mars 2006 Cours de graphes 4 - Intranet
158
Cours de graphes 4 - Intranet
Complexité Le calcul du graphe résiduel R et du chemin augmentant est en Q ( | E | ) ! Le nombre d’itérations peut être aussi élevé que la valeur du flot optimal f* ! 0/1000 0/1000 0/1 0/1000 0/1000 Graphe ! 14 mars 2006 Cours de graphes 4 - Intranet
159
Cours de graphes 4 - Intranet
Complexité Le calcul du graphe résiduel R et du chemin augmentant est en Q ( | E | ) ! Le nombre d’itérations peut être aussi élevé que la valeur du flot optimal f* ! 0/1000 0/1000 1000 1000 0/1 1 0/1000 0/1000 1000 1000 Graphe ! Graphe résiduel ! 14 mars 2006 Cours de graphes 4 - Intranet
160
Cours de graphes 4 - Intranet
Complexité Le calcul du graphe résiduel R et du chemin augmentant est en Q ( | E | ) ! Le nombre d’itérations peut être aussi élevé que la valeur du flot optimal f* ! 1/1000 0/1000 1/1 0/1000 1/1000 Nouveau graphe ! 14 mars 2006 Cours de graphes 4 - Intranet
161
Nouveau graphe résiduel !
Complexité Le calcul du graphe résiduel R et du chemin augmentant est en Q ( | E | ) ! Le nombre d’itérations peut être aussi élevé que la valeur du flot optimal f* ! 1/1000 0/1000 999 1000 1 1/1 1 1 0/1000 1/1000 1000 999 Nouveau graphe ! Nouveau graphe résiduel ! 14 mars 2006 Cours de graphes 4 - Intranet
162
Cours de graphes 4 - Intranet
Complexité Le calcul du graphe résiduel R et du chemin augmentant est en Q ( | E | ) ! Le nombre d’itérations peut être aussi élevé que la valeur du flot optimal f* ! 1/1000 1/1000 0/1 1/1000 1/1000 Re-nouveau graphe ! 14 mars 2006 Cours de graphes 4 - Intranet
163
Cours de graphes 4 - Intranet
Complexité Le calcul du graphe résiduel R et du chemin augmentant est en Q ( | E | ) ! Le nombre d’itérations peut être aussi élevé que la valeur du flot optimal f* ! 1/1000 1/1000 Etc , fois ! ! ! 0/1 1/1000 1/1000 Re-nouveau graphe ! 14 mars 2006 Cours de graphes 4 - Intranet
164
Cours de graphes 4 - Intranet
Complexité Nous améliorons l’algorithme en choisissant le chemin augmentant le plus lourd à chaque fois ! 14 mars 2006 Cours de graphes 4 - Intranet
165
Cours de graphes 4 - Intranet
Complexité Nous améliorons l’algorithme en choisissant le chemin augmentant le plus lourd à chaque fois ! C’est celui dont l’arc le plus léger est le plus lourd possible ! 14 mars 2006 Cours de graphes 4 - Intranet
166
Cours de graphes 4 - Intranet
Complexité Nous améliorons l’algorithme en choisissant le chemin augmentant le plus lourd à chaque fois ! C’est celui dont l’arc le plus léger est le plus lourd possible ! Il est difficile d’établir une borne sur le nombre d’itérations ! 14 mars 2006 Cours de graphes 4 - Intranet
167
Cours de graphes 4 - Intranet
Complexité Nous améliorons l’algorithme en choisissant le chemin augmentant le plus lourd à chaque fois ! C’est celui dont l’arc le plus léger est le plus lourd possible ! Il est difficile d’établir une borne sur le nombre d’itérations ! L’algorithme d’Edmonds et Karp : choisit le chemin augmentant le plus court (nombre d’arcs), 14 mars 2006 Cours de graphes 4 - Intranet
168
Cours de graphes 4 - Intranet
Complexité Nous améliorons l’algorithme en choisissant le chemin augmentant le plus lourd à chaque fois ! C’est celui dont l’arc le plus léger est le plus lourd possible ! Il est difficile d’établir une borne sur le nombre d’itérations ! L’algorithme d’Edmonds et Karp : choisit le chemin augmentant le plus court (nombre d’arcs), il utilise l’algorithme de la vague pour le trouver, 14 mars 2006 Cours de graphes 4 - Intranet
169
Cours de graphes 4 - Intranet
Complexité Nous améliorons l’algorithme en choisissant le chemin augmentant le plus lourd à chaque fois ! C’est celui dont l’arc le plus léger est le plus lourd possible ! Il est difficile d’établir une borne sur le nombre d’itérations ! L’algorithme d’Edmonds et Karp : choisit le chemin augmentant le plus court (nombre d’arcs), il utilise l’algorithme de la vague pour le trouver, et nécessite au plus O ( | V | * | E | ) itérations, 14 mars 2006 Cours de graphes 4 - Intranet
170
Cours de graphes 4 - Intranet
Complexité Nous améliorons l’algorithme en choisissant le chemin augmentant le plus lourd à chaque fois ! C’est celui dont l’arc le plus léger est le plus lourd possible ! Il est difficile d’établir une borne sur le nombre d’itérations ! L’algorithme d’Edmonds et Karp : choisit le chemin augmentant le plus court (nombre d’arcs), il utilise l’algorithme de la vague pour le trouver, et nécessite au plus O ( | V | * | E | ) itérations, d’où une complexité globale de O ( | V | * | E |^2 ) = O ( | V |^5 ) . 14 mars 2006 Cours de graphes 4 - Intranet
171
Cours de graphes 4 - Intranet
Complexité L’idée derrière Edmonds-Karp : Graphe résiduel : s p . . . . . . 14 mars 2006 Cours de graphes 4 - Intranet
172
Cours de graphes 4 - Intranet
Complexité L’idée derrière Edmonds-Karp : Le chemin augmentant ! Graphe résiduel : s p . . . 14 mars 2006 Cours de graphes 4 - Intranet
173
Cours de graphes 4 - Intranet
Complexité L’idée derrière Edmonds-Karp : Le chemin augmentant ! Graphe résiduel : s p . . . Certains arcs de retour ! 14 mars 2006 Cours de graphes 4 - Intranet
174
Cours de graphes 4 - Intranet
Complexité L’idée derrière Edmonds-Karp : Le chemin augmentant ! Graphe résiduel : s p . . . Certains arcs de retour ! Certains arcs aller ! Nouveau graphe résiduel : s p . . . Tous les arcs de retour ! 14 mars 2006 Cours de graphes 4 - Intranet
175
Cours de graphes 4 - Intranet
Complexité L’idée derrière Edmonds-Karp : Il y a de plus en plus de chemins de retour de « p » vers « s » ! Le chemin augmentant ! Graphe résiduel : s p . . . Certains arcs de retour ! Certains arcs aller ! Nouveau graphe résiduel : s p . . . Tous les arcs de retour ! 14 mars 2006 Cours de graphes 4 - Intranet
176
Cours de graphes 4 - Intranet
Complexité L’idée derrière Edmonds-Karp : Il y a de plus en plus de chemins de retour de « p » vers « s » ! Il y a de moins en moins de chemins de « s » vers « p » ! Le chemin augmentant ! Graphe résiduel : s p . . . Certains arcs de retour ! Certains arcs aller ! Nouveau graphe résiduel : s p . . . Tous les arcs de retour ! 14 mars 2006 Cours de graphes 4 - Intranet
177
Cours de graphes 4 - Intranet
Complexité L’idée derrière Edmonds-Karp : Il y a de plus en plus de chemins de retour de « p » vers « s » ! Il y a de moins en moins de chemins de « s » vers « p » ! Les chemins augmentants deviennent de plus en plus long ! Commençons donc par nous intéresser à ceux qui sont courts ! Le chemin augmentant ! Graphe résiduel : s p . . . Certains arcs de retour ! Certains arcs aller ! Nouveau graphe résiduel : s p . . . Tous les arcs de retour ! 14 mars 2006 Cours de graphes 4 - Intranet
178
Cours de graphes 4 - Intranet
Variantes Réseau de flot multi-sources, multi-puits : s p 1 1 s p n m 14 mars 2006 Cours de graphes 4 - Intranet
179
Cours de graphes 4 - Intranet
Variantes C'est le même problème ! Réseau de flot multi-sources, multi-puits : s p 1 1 S P Avec des capacités assez grandes pour les arcs rouges ! s p n m 14 mars 2006 Cours de graphes 4 - Intranet
180
Cours de graphes 4 - Intranet
Variantes C'est le même problème ! Réseau de flot multi-sources, multi-puits : Ce n’est plus le même problème, si s doit envoyer à p ! s p 1 1 S P Avec des capacités assez grandes pour les arcs rouges ! s p n m i i 14 mars 2006 Cours de graphes 4 - Intranet
181
Cours de graphes 4 - Intranet
Variantes C'est le même problème ! Réseau de flot multi-sources, multi-puits : Ce n’est plus le même problème, si s doit envoyer à p ! s p 1 1 S P Avec des capacités assez grandes pour les arcs rouges ! s p n m i i s p 1 1 s p n n 14 mars 2006 Cours de graphes 4 - Intranet
182
Synthèse -----------------------------------------------------------------
Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp. Applications. 14 mars 2006 Cours de graphes 4 - Intranet
183
Cours de graphes 4 - Intranet
m E r C i e T O n N e J o U r N é E ! ! ! ‘ o U b L i E z P a S d E p R é P a R e R v O s T D ! ! ! 14 mars 2006 Cours de graphes 4 - Intranet
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.