14 mars 2006cours de graphes 4 - intranet1 cours de graphes problèmes de flots. théorème du...
Post on 03-Apr-2015
115 Views
Preview:
TRANSCRIPT
14 mars 2006 Cours de graphes 4 - Intranet 1
Cours de graphesCours de graphes
Problèmes de flots.Problèmes de flots.
Théorème du Max-flow – Min-cut.Théorème du Max-flow – Min-cut.
Algos de Ford-Fulkerson et Edmonds-Algos de Ford-Fulkerson et Edmonds-Karp.Karp.
Applications.Applications.
14 mars 2006 Cours de graphes 4 - Intranet 2
Les grandes lignes du coursLes grandes lignes du cours
•Définitions de baseDéfinitions de base•ConnexitéConnexité•Les plus courts cheminsLes plus courts chemins•Dijkstra et Bellmann-FordDijkstra et Bellmann-Ford•ArbresArbres•Arbres de recouvrement minimaux Arbres de recouvrement minimaux •Problèmes de flotsProblèmes de flots•Coloriage de graphesColoriage de graphes•CouplageCouplage•Chemins d’Euler et de HamiltonChemins d’Euler et de Hamilton•Problèmes NP-completsProblèmes NP-complets
14 mars 2006 Cours de graphes 4 - Intranet 3
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
• Un graphe de flot est :Un graphe de flot est :
– un graphe orienté; les arcs portent des capacités un graphe orienté; les arcs portent des capacités (poids),(poids),
– qui possède deux sommets particuliers qui sont la qui possède deux sommets particuliers qui sont la « source s » et le « puits p ».« source s » et le « puits p ».
14 mars 2006 Cours de graphes 4 - Intranet 4
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
• Un graphe de flot est :Un graphe de flot est :
– un graphe orienté; les arcs portent des capacités un graphe orienté; les arcs portent des capacités (poids),(poids),
– qui possède deux sommets particuliers qui sont la qui possède deux sommets particuliers qui sont la « source s » et le « puits p ».« source s » et le « puits p ».
14 mars 2006 Cours de graphes 4 - Intranet 5
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
• Un graphe de flot est :Un graphe de flot est :
– un graphe orienté; les arcs portent des capacités un graphe orienté; les arcs portent des capacités (poids),(poids),
– qui possède deux sommets particuliers qui sont la qui possède deux sommets particuliers qui sont la « source s » et le « puits p ».« source s » et le « puits p ».
• On a en plus :On a en plus :
– Le graphe est quasi-fortement connexe avec « s » Le graphe est quasi-fortement connexe avec « s » comme unique racine !comme unique racine !
14 mars 2006 Cours de graphes 4 - Intranet 6
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
• Un graphe de flot est :Un graphe de flot est :
– un graphe orienté; les arcs portent des capacités un graphe orienté; les arcs portent des capacités (poids),(poids),
– qui possède deux sommets particuliers qui sont la qui possède deux sommets particuliers qui sont la « source s » et le « puits p ».« source s » et le « puits p ».
• On a en plus :On a en plus :
– Le graphe est quasi-fortement connexe avec « s » comme Le graphe est quasi-fortement connexe avec « s » comme unique racine !unique racine !
– Si nous inversons tous les arcs, le graphe est quasi-Si nous inversons tous les arcs, le graphe est quasi-fortement connexe avec « p » comme unique racine !fortement connexe avec « p » comme unique racine !
14 mars 2006 Cours de graphes 4 - Intranet 7
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
• Un graphe de flot est :Un graphe de flot est :
– un graphe orienté; les arcs portent des capacités (poids),un graphe orienté; les arcs portent des capacités (poids),
– qui possède deux sommets particuliers qui sont la « source qui possède deux sommets particuliers qui sont la « source s » et le « puits p ».s » et le « puits p ».
• On a en plus :On a en plus :
– Le graphe est quasi-fortement connexe avec « s » comme unique Le graphe est quasi-fortement connexe avec « s » comme unique racine !racine !
– Si nous inversons tous les arcs, le graphe est quasi-fortement Si nous inversons tous les arcs, le graphe est quasi-fortement connexe avec « p » comme unique racine !connexe avec « p » comme unique racine !
– Donc, tout sommet « u » appartient à un chemin simple orienté qui Donc, tout sommet « u » appartient à un chemin simple orienté qui relie « s » à « p » en passant par « u » , ( s ; u ; p ) !relie « s » à « p » en passant par « u » , ( s ; u ; p ) !
14 mars 2006 Cours de graphes 4 - Intranet 8
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
14 mars 2006 Cours de graphes 4 - Intranet 9
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
2020
10101010
1010
1515
1717
55
1515
1010
88
2020
Les capacités !Les capacités !
14 mars 2006 Cours de graphes 4 - Intranet 10
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
2020
10101010
1010
1515
1717
55
1515
1010
88
2020Source « s »Source « s »
Les capacités !Les capacités !
14 mars 2006 Cours de graphes 4 - Intranet 11
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
2020
10101010
1010
1515
1717
55
1515
1010
88
2020Source « s »Source « s »
Les capacités !Les capacités !
14 mars 2006 Cours de graphes 4 - Intranet 12
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
2020
10101010
1010
1515
1717
55
1515
1010
88
2020Source « s »Source « s »
UniquementUniquementdes arcsdes arcssortants !sortants !
Les capacités !Les capacités !
14 mars 2006 Cours de graphes 4 - Intranet 13
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
2020
10101010
1010
1515
1717
55
1515
1010
88
2020Source « s »Source « s »
Les capacités !Les capacités !
14 mars 2006 Cours de graphes 4 - Intranet 14
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
2020
10101010
1010
1515
1717
55
1515
1010
88
2020Source « s »Source « s » Puits « p »Puits « p »
Les capacités !Les capacités !
14 mars 2006 Cours de graphes 4 - Intranet 15
1010
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
2020
1010
1010
1515
1717
55
1515
1010
88
2020Source « s »Source « s » Puits « p »Puits « p »
Les capacités !Les capacités !
14 mars 2006 Cours de graphes 4 - Intranet 16
1010
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
2020
1010
1010
1515
1717
55
1515
1010
88
2020Source « s »Source « s » Puits « p »Puits « p »
UniquementUniquementdes arcsdes arcs
entrants !entrants !
Les capacités !Les capacités !
14 mars 2006 Cours de graphes 4 - Intranet 17
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
2020
10101010
1010
1515
1717
55
1515
1010
88
2020Source « s »Source « s » Puits « p »Puits « p »
Tout sommet « u » appartient à unTout sommet « u » appartient à unchemin simple de « s » vers « p » !chemin simple de « s » vers « p » !
Les capacités !Les capacités !
14 mars 2006 Cours de graphes 4 - Intranet 18
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
2020
10101010
1010
1515
1717
55
1515
1010
88
2020Source « s »Source « s » Puits « p »Puits « p »
Tout sommet « u » appartient à unTout sommet « u » appartient à unchemin simple de « s » vers « p » !chemin simple de « s » vers « p » !
uu
Les capacités !Les capacités !
14 mars 2006 Cours de graphes 4 - Intranet 19
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
• La dynamique :La dynamique :
– La source produit ( des m^3 d’eau, des La source produit ( des m^3 d’eau, des kWh ), elle est la seule à produire !kWh ), elle est la seule à produire !
14 mars 2006 Cours de graphes 4 - Intranet 20
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
• La dynamique :La dynamique :
– La source produit ( des m^3 d’eau, des La source produit ( des m^3 d’eau, des kWh ), elle est la seule à produire !kWh ), elle est la seule à produire !
– Le puits consomme, il est le seul à le faire !Le puits consomme, il est le seul à le faire !
14 mars 2006 Cours de graphes 4 - Intranet 21
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
• La dynamique :La dynamique :
– La source produit ( des m^3 d’eau, des La source produit ( des m^3 d’eau, des kWh ), elle est la seule à produire !kWh ), elle est la seule à produire !
– Le puits consomme, il est le seul à le faire !Le puits consomme, il est le seul à le faire !
– Les autres sommets transmettent, sans Les autres sommets transmettent, sans produire, ni consommer !produire, ni consommer !
14 mars 2006 Cours de graphes 4 - Intranet 22
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
• La dynamique :La dynamique :
– La source produit ( des m^3 d’eau, des La source produit ( des m^3 d’eau, des kWh ), elle est la seule à produire !kWh ), elle est la seule à produire !
– Le puits consomme, il est le seul à le faire !Le puits consomme, il est le seul à le faire !
– Les autres sommets transmettent, sans Les autres sommets transmettent, sans produire, ni consommer !produire, ni consommer !
14 mars 2006 Cours de graphes 4 - Intranet 23
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
• La dynamique :La dynamique :
– La source produit ( des m^3 d’eau, des La source produit ( des m^3 d’eau, des kWh ), elle est la seule à produire !kWh ), elle est la seule à produire !
– Le puits consomme, il est le seul à le faire !Le puits consomme, il est le seul à le faire !
– Les autres sommets transmettent, sans Les autres sommets transmettent, sans produire, ni consommer !produire, ni consommer !
• Un peu de discipline :Un peu de discipline :
– Sur chaque arc le flot est compris entre zéro et la Sur chaque arc le flot est compris entre zéro et la capacité de l’arc !capacité de l’arc !
14 mars 2006 Cours de graphes 4 - Intranet 24
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
• La dynamique :La dynamique :
– La source produit ( des m^3 d’eau, des kWh ), elle La source produit ( des m^3 d’eau, des kWh ), elle est la seule à produire !est la seule à produire !
– Le puits consomme, il est le seul à le faire !Le puits consomme, il est le seul à le faire !
– Les autres sommets transmettent, sans produire, ni Les autres sommets transmettent, sans produire, ni consommer !consommer !
• Un peu de discipline :Un peu de discipline :
– Sur chaque arc le flot est compris entre zéro et la capacité Sur chaque arc le flot est compris entre zéro et la capacité de l’arc !de l’arc !
– Représentation :Représentation :
flot / capacitéflot / capacité
14 mars 2006 Cours de graphes 4 - Intranet 25
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
• La dynamique :La dynamique :
– La source produit ( des m^3 d’eau, des kWh ), elle La source produit ( des m^3 d’eau, des kWh ), elle est la seule à produire !est la seule à produire !
– Le puits consomme, il est le seul à le faire !Le puits consomme, il est le seul à le faire !
– Les autres sommets transmettent, sans produire, ni Les autres sommets transmettent, sans produire, ni consommer !consommer !
• Un peu de discipline :Un peu de discipline :
– Sur chaque arc le flot est compris entre zéro et la capacité Sur chaque arc le flot est compris entre zéro et la capacité de l’arc !de l’arc !
– Représentation :Représentation :
flot / capacitéflot / capacité
14 mars 2006 Cours de graphes 4 - Intranet 26
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
2020
10101010
1010
1515
1717
55
1515
1010
88
2020Source « s »Source « s » Puits « p »Puits « p »
14 mars 2006 Cours de graphes 4 - Intranet 27
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
1010 / 20 / 20
00 / 10 / 1055 / 10 / 10
77 / 10 / 10
77 / 15 / 15
55 / 17 / 17
44 / 5 / 5
00 / 15 / 15
55 / 10 / 10
88 / 8 / 8
1313 / 20 / 20Source « s »Source « s » Puits « p »Puits « p »
flot flot / capacité/ capacité
14 mars 2006 Cours de graphes 4 - Intranet 28
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
1010 / 20 / 20
00 / 10 / 1055 / 10 / 10
77 / 10 / 10
77 / 15 / 15
55 / 17 / 17
44 / 5 / 5
00 / 15 / 15
55 / 10 / 10
88 / 8 / 8
1313 / 20 / 20Source « s »Source « s » Puits « p »Puits « p »
flot flot / capacité/ capacité
Toutes contraintes sur lesToutes contraintes sur lescapacités sont respectées ! ! !capacités sont respectées ! ! !
14 mars 2006 Cours de graphes 4 - Intranet 29
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
1010 / 20 / 20
00 / 10 / 1055 / 10 / 10
77 / 10 / 10
77 / 15 / 15
55 / 17 / 17
44 / 5 / 5
00 / 15 / 15
55 / 10 / 10
88 / 8 / 8
1313 / 20 / 20Source « s »Source « s » Puits « p »Puits « p »
flot flot / capacité/ capacité
Les intermédiaires redistribuentLes intermédiaires redistribuentexactement ce qu’ils reçoivent !exactement ce qu’ils reçoivent !
14 mars 2006 Cours de graphes 4 - Intranet 30
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
1010 / 20 / 20
00 / 10 / 1055 / 10 / 10
77 / 10 / 10
77 / 15 / 15
55 / 17 / 17
44 / 5 / 5
00 / 15 / 15
55 / 10 / 10
88 / 8 / 8
1313 / 20 / 20Source « s »Source « s » Puits « p »Puits « p »
flot flot / capacité/ capacité
Les intermédiaires redistribuentLes intermédiaires redistribuentexactement ce qu’ils reçoivent !exactement ce qu’ils reçoivent !
14 mars 2006 Cours de graphes 4 - Intranet 31
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
1010 / 20 / 20
00 / 10 / 10
77 / 10 / 10
77 / 15 / 15
55 / 17 / 17
44 / 5 / 5
00 / 15 / 15
55 / 10 / 10
88 / 8 / 8
1313 / 20 / 20Source « s »Source « s » Puits « p »Puits « p »
flot flot / capacité/ capacité
Les intermédiaires redistribuentLes intermédiaires redistribuentexactement ce qu’ils reçoivent !exactement ce qu’ils reçoivent !
55 / 10 / 10
14 mars 2006 Cours de graphes 4 - Intranet 32
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
1010 / 20 / 20
00 / 10 / 1055 / 10 / 10
77 / 10 / 10
77 / 15 / 15
55 / 17 / 17
44 / 5 / 5
00 / 15 / 15
55 / 10 / 10
88 / 8 / 8
1313 / 20 / 20Source « s »Source « s » Puits « p »Puits « p »
flot flot / capacité/ capacité
Il sort 17 unités de la source « s », il entre 17 unitésIl sort 17 unités de la source « s », il entre 17 unitésdans le puits « p », c’est ce que nous appellerons le flot !dans le puits « p », c’est ce que nous appellerons le flot !
14 mars 2006 Cours de graphes 4 - Intranet 33
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
1010 / 20 / 20
00 / 10 / 1055 / 10 / 10
77 / 10 / 10
77 / 15 / 15
55 / 17 / 17
44 / 5 / 5
00 / 15 / 15
55 / 10 / 10
88 / 8 / 8
1313 / 20 / 20Source « s »Source « s » Puits « p »Puits « p »
flot flot / capacité/ capacité
14 mars 2006 Cours de graphes 4 - Intranet 34
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
1010 / 20 / 20
00 / 10 / 1055 / 10 / 10
77 / 10 / 10
77 / 15 / 15
55 / 17 / 17
44 / 5 / 5
00 / 15 / 15
55 / 10 / 10
88 / 8 / 8
1313 / 20 / 20Source « s »Source « s » Puits « p »Puits « p »
flot flot / capacité/ capacité OUI : + 5OUI : + 5
14 mars 2006 Cours de graphes 4 - Intranet 35
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
1515 / 20 / 20
00 / 10 / 1055 / 10 / 10
77 / 10 / 10
77 / 15 / 15
55 / 17 / 17
44 / 5 / 5
00 / 15 / 15
1010 / 10 / 10
88 / 8 / 8
1818 / 20 / 20Source « s »Source « s » Puits « p »Puits « p »
flot flot / capacité/ capacité
Le flot est de 22 unités !Le flot est de 22 unités !
14 mars 2006 Cours de graphes 4 - Intranet 36
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
1515 / 20 / 20
00 / 10 / 1055 / 10 / 10
77 / 10 / 10
77 / 15 / 15
55 / 17 / 17
44 / 5 / 5
00 / 15 / 15
1010 / 10 / 10
88 / 8 / 8
1818 / 20 / 20Source « s »Source « s » Puits « p »Puits « p »
flot flot / capacité/ capacité
14 mars 2006 Cours de graphes 4 - Intranet 37
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
1515 / 20 / 20
00 / 10 / 1055 / 10 / 10
77 / 10 / 10
77 / 15 / 15
55 / 17 / 17
44 / 5 / 5
00 / 15 / 15
1010 / 10 / 10
88 / 8 / 8
1818 / 20 / 20Source « s »Source « s » Puits « p »Puits « p »
flot flot / capacité/ capacité OUI : + 1OUI : + 1
14 mars 2006 Cours de graphes 4 - Intranet 38
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
1515 / 20 / 20
11 / 10 / 1055 / 10 / 10
77 / 10 / 10
77 / 15 / 15
66 / 17 / 17
55 / 5 / 5
00 / 15 / 15
1010 / 10 / 10
88 / 8 / 8
1818 / 20 / 20Source « s »Source « s » Puits « p »Puits « p »
flot flot / capacité/ capacité
Le flot est de 23 unités !Le flot est de 23 unités !
14 mars 2006 Cours de graphes 4 - Intranet 39
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
1515 / 20 / 20
11 / 10 / 1055 / 10 / 10
77 / 10 / 10
77 / 15 / 15
66 / 17 / 17
55 / 5 / 5
00 / 15 / 15
1010 / 10 / 10
88 / 8 / 8
1818 / 20 / 20Source « s »Source « s » Puits « p »Puits « p »
flot flot / capacité/ capacité
Le flot est de 23 unités !Le flot est de 23 unités !
14 mars 2006 Cours de graphes 4 - Intranet 40
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
1515 / 20 / 20
11 / 10 / 1055 / 10 / 10
77 / 10 / 10
77 / 15 / 15
66 / 17 / 17
55 / 5 / 5
00 / 15 / 15
1010 / 10 / 10
88 / 8 / 8
1818 / 20 / 20Source « s »Source « s » Puits « p »Puits « p »
flot flot / capacité/ capacité
Le flot est de 23 unités !Le flot est de 23 unités !
14 mars 2006 Cours de graphes 4 - Intranet 41
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
1515 / 20 / 20
11 / 10 / 1055 / 10 / 10
77 / 10 / 10
77 / 15 / 15
66 / 17 / 17
55 / 5 / 5
00 / 15 / 15
1010 / 10 / 10
88 / 8 / 8
1818 / 20 / 20Source « s »Source « s » Puits « p »Puits « p »
flot flot / capacité/ capacité
Le flot est de 23 unités !Le flot est de 23 unités !
14 mars 2006 Cours de graphes 4 - Intranet 42
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
1515 / 20 / 20
11 / 10 / 1055 / 10 / 10
77 / 10 / 10
77 / 15 / 15
66 / 17 / 17
55 / 5 / 5
00 / 15 / 15
1010 / 10 / 10
88 / 8 / 8
1818 / 20 / 20Source « s »Source « s » Puits « p »Puits « p »
flot flot / capacité/ capacité
Le flot est de 23 unités !Le flot est de 23 unités !
14 mars 2006 Cours de graphes 4 - Intranet 43
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
1515 / 20 / 20
11 / 10 / 1055 / 10 / 10
77 / 10 / 10
77 / 15 / 15
66 / 17 / 17
55 / 5 / 5
00 / 15 / 15
1010 / 10 / 10
88 / 8 / 8
1818 / 20 / 20Source « s »Source « s » Puits « p »Puits « p »
flot flot / capacité/ capacité
Le flot est de 23 unités !Le flot est de 23 unités !
14 mars 2006 Cours de graphes 4 - Intranet 44
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
Exemple :Exemple :
1515 / 20 / 20
11 / 10 / 1055 / 10 / 10
77 / 10 / 10
77 / 15 / 15
66 / 17 / 17
55 / 5 / 5
00 / 15 / 15
1010 / 10 / 10
88 / 8 / 8
1818 / 20 / 20Source « s »Source « s » Puits « p »Puits « p »
flot flot / capacité/ capacité
Le flot est de 23 unités !Le flot est de 23 unités !
14 mars 2006 Cours de graphes 4 - Intranet 45
• Pour un graphe de flot, nous voulons connaître :Pour un graphe de flot, nous voulons connaître :
– Le flot maximal :Le flot maximal :
• pour prévoir les investissements,pour prévoir les investissements,
• pour connaître la marge de sécurité, c’est-à-dire la pour connaître la marge de sécurité, c’est-à-dire la différence entre le flot normal et le flot maximal !différence entre le flot normal et le flot maximal !
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
14 mars 2006 Cours de graphes 4 - Intranet 46
• Pour un graphe de flot, nous voulons connaître :Pour un graphe de flot, nous voulons connaître :
– Le flot maximal :Le flot maximal :
• pour prévoir les investissements,pour prévoir les investissements,
• pour connaître la marge de sécurité, c’est-à-dire la pour connaître la marge de sécurité, c’est-à-dire la différence entre le flot normal et le flot maximal !différence entre le flot normal et le flot maximal !
– La coupe minimale :La coupe minimale :
• pour localiser le goulot d’étranglement,pour localiser le goulot d’étranglement,
• pour orienter les investissements !pour orienter les investissements !
Les graphes de flotsLes graphes de flots----------------------------------------------------------------------------------------------------------------------------------
14 mars 2006 Cours de graphes 4 - Intranet 47
ApplicationApplication----------------------------------------------------------------------------------------------------------------------------------
• La SNCF étudie son réseau ferré de la région La SNCF étudie son réseau ferré de la région parisienne :parisienne :
– Nous connaissons les capacités des gares de Nous connaissons les capacités des gares de Paris !Paris !
– Nous connaissons le réseau et ses capacités !Nous connaissons le réseau et ses capacités !
– Nous connaissons les capacités des gares de Nous connaissons les capacités des gares de banlieue !banlieue !
14 mars 2006 Cours de graphes 4 - Intranet 48
ApplicationApplication----------------------------------------------------------------------------------------------------------------------------------
LyonLyon
AusterlitzAusterlitz
LazareLazare
EstEst
NordNord
VersaillesVersailles
EvryEvry
Marne la ValléeMarne la Vallée
Saint-DenisSaint-Denis
14 mars 2006 Cours de graphes 4 - Intranet 49
ApplicationApplication----------------------------------------------------------------------------------------------------------------------------------
LyonLyon
AusterlitzAusterlitz
LazareLazare
EstEst
NordNord
VersaillesVersailles
EvryEvry
Marne la ValléeMarne la Vallée
Saint-DenisSaint-Denis
SS
5050
4040
Les capacités d’accueilLes capacités d’accueildes différentes gares !des différentes gares !
14 mars 2006 Cours de graphes 4 - Intranet 50
ApplicationApplication----------------------------------------------------------------------------------------------------------------------------------
LyonLyon
AusterlitzAusterlitz
LazareLazare
EstEst
NordNord
VersaillesVersailles
EvryEvry
Marne la ValléeMarne la Vallée
Saint-DenisSaint-Denis
SS
5050
4040
Les capacités d’accueilLes capacités d’accueildes différentes gares !des différentes gares !
PP
2020
2525
Les capacités d’accueilLes capacités d’accueildes différentes gares !des différentes gares !
14 mars 2006 Cours de graphes 4 - Intranet 51
ApplicationApplication----------------------------------------------------------------------------------------------------------------------------------
LyonLyon
AusterlitzAusterlitz
LazareLazare
EstEst
NordNord
VersaillesVersailles
EvryEvry
Marne la ValléeMarne la Vallée
Saint-DenisSaint-Denis
SS
5050
4040
Les capacités d’accueilLes capacités d’accueildes différentes gares !des différentes gares !
PP
2020
2525
Les capacités d’accueilLes capacités d’accueildes différentes gares !des différentes gares !
1717
2323
Les lignesLes ligneset leurset leurs
capacités !capacités !
14 mars 2006 Cours de graphes 4 - Intranet 52
ApplicationApplication----------------------------------------------------------------------------------------------------------------------------------
• La SNCF étudie son réseau ferré de la région La SNCF étudie son réseau ferré de la région parisienne :parisienne :
– Nous connaissons les capacités des gares de Nous connaissons les capacités des gares de Paris !Paris !
– Nous connaissons le réseau et ses capacités !Nous connaissons le réseau et ses capacités !
– Nous connaissons les capacités des gares de Nous connaissons les capacités des gares de banlieue !banlieue !
– Nous limitons les capacités des trains dans les Nous limitons les capacités des trains dans les gares !gares !
14 mars 2006 Cours de graphes 4 - Intranet 53
ApplicationApplication----------------------------------------------------------------------------------------------------------------------------------
LyonLyon
AusterlitzAusterlitz
LazareLazare
EstEst
NordNord
VersaillesVersailles
EvryEvry
Marne la ValléeMarne la Vallée
Saint-DenisSaint-Denis
SS
5050
4040
Les capacités d’accueilLes capacités d’accueildes différentes gares !des différentes gares !
PP
2020
2525
Les capacités d’accueilLes capacités d’accueildes différentes gares !des différentes gares !
1717
2323
Les lignesLes ligneset leurset leurs
capacités !capacités !
14 mars 2006 Cours de graphes 4 - Intranet 54
ApplicationApplication----------------------------------------------------------------------------------------------------------------------------------
LyonLyon
AusterlitzAusterlitz
LazareLazare
EstEst
NordNord
VersaillesVersailles
EvryEvry
Marne la ValléeMarne la Vallée
Saint-DenisSaint-Denis
SS
5050
4040
Les capacités d’accueilLes capacités d’accueildes différentes gares !des différentes gares !
PP
2020
2525
Les capacités d’accueilLes capacités d’accueildes différentes gares !des différentes gares !
1717
2323
Les lignesLes ligneset leurset leurs
capacités !capacités !
2323
2525
Capacités de trains en gares !Capacités de trains en gares !
14 mars 2006 Cours de graphes 4 - Intranet 55
ApplicationApplication----------------------------------------------------------------------------------------------------------------------------------
• La SNCF étudie son réseau ferré de la région parisienne :La SNCF étudie son réseau ferré de la région parisienne :
– Nous connaissons les capacités des gares de Paris !Nous connaissons les capacités des gares de Paris !
– Nous connaissons le réseau et ses capacités !Nous connaissons le réseau et ses capacités !
– Nous connaissons les capacités des gares de banlieue !Nous connaissons les capacités des gares de banlieue !
– Nous limitons les capacités des trains dans les gares !Nous limitons les capacités des trains dans les gares !
– Nous levons cette limitation pour certaines gares !Nous levons cette limitation pour certaines gares !
– Nous limitons la capacité globale de tous les trains !Nous limitons la capacité globale de tous les trains !
14 mars 2006 Cours de graphes 4 - Intranet 56
ApplicationApplication----------------------------------------------------------------------------------------------------------------------------------
LyonLyon
AusterlitzAusterlitz
LazareLazare
EstEst
NordNord
VersaillesVersailles
EvryEvry
Marne la ValléeMarne la Vallée
Saint-DenisSaint-Denis
SS
5050
4040
Les capacités d’accueilLes capacités d’accueildes différentes gares !des différentes gares !
PP
2020
2525
Les capacités d’accueilLes capacités d’accueildes différentes gares !des différentes gares !
1717
2323
Les lignesLes ligneset leurset leurs
capacités !capacités !
2323
2525
Capacités de trains en gares !Capacités de trains en gares !
14 mars 2006 Cours de graphes 4 - Intranet 57
ApplicationApplication----------------------------------------------------------------------------------------------------------------------------------
LyonLyon
AusterlitzAusterlitz
LazareLazare
EstEst
NordNord
VersaillesVersailles
EvryEvry
Marne la ValléeMarne la Vallée
Saint-DenisSaint-Denis
SS
5050
4040
Les capacités d’accueilLes capacités d’accueildes différentes gares !des différentes gares !
PP
2020
2525
Les capacités d’accueilLes capacités d’accueildes différentes gares !des différentes gares !
1717
2323
Les lignesLes ligneset leurset leurs
capacités !capacités !
+ +
2525
Capacités de trains en gares !Capacités de trains en gares !
250250
LimitationLimitationglobaleglobaleen en trains !trains !
14 mars 2006 Cours de graphes 4 - Intranet 58
ApplicationApplication----------------------------------------------------------------------------------------------------------------------------------
LyonLyon
AusterlitzAusterlitz
LazareLazare
EstEst
NordNord
VersaillesVersailles
EvryEvry
Marne la ValléeMarne la Vallée
Saint-DenisSaint-Denis
SS
5050
4040
Les capacités d’accueilLes capacités d’accueildes différentes gares !des différentes gares !
PP
2020
2525
Les capacités d’accueilLes capacités d’accueildes différentes gares !des différentes gares !
1717
2323
Les lignesLes ligneset leurset leurs
capacités !capacités !
+ +
2525
Capacités de trains en gares !Capacités de trains en gares !
250250
LimitationLimitationglobaleglobaleen en trains !trains !
14 mars 2006 Cours de graphes 4 - Intranet 59
ApplicationApplication----------------------------------------------------------------------------------------------------------------------------------
LyonLyon
AusterlitzAusterlitz
LazareLazare
EstEst
NordNord
VersaillesVersailles
EvryEvry
Marne la ValléeMarne la Vallée
Saint-DenisSaint-Denis
SS
5050
4040
Les capacités d’accueilLes capacités d’accueildes différentes gares !des différentes gares !
PP
2020
2525
Les capacités d’accueilLes capacités d’accueildes différentes gares !des différentes gares !
1717
2323
Les lignesLes ligneset leurset leurs
capacités !capacités !
+ +
2525
Capacités de trains en gares !Capacités de trains en gares !
250250
LimitationLimitationglobaleglobaleen en trains !trains !
14 mars 2006 Cours de graphes 4 - Intranet 60
ApplicationApplication----------------------------------------------------------------------------------------------------------------------------------
LyonLyon
AusterlitzAusterlitz
LazareLazare
EstEst
NordNord
VersaillesVersailles
EvryEvry
Marne la ValléeMarne la Vallée
Saint-DenisSaint-Denis
SS
5050
4040
Les capacités d’accueilLes capacités d’accueildes différentes gares !des différentes gares !
PP
2020
2525
Les capacités d’accueilLes capacités d’accueildes différentes gares !des différentes gares !
1717
2323
Les lignesLes ligneset leurset leurs
capacités !capacités !
+ +
2525
Capacités de trains en gares !Capacités de trains en gares !
250250
LimitationLimitationglobaleglobaleen en trains !trains !
14 mars 2006 Cours de graphes 4 - Intranet 61
ApplicationApplication----------------------------------------------------------------------------------------------------------------------------------
LyonLyon
AusterlitzAusterlitz
LazareLazare
EstEst
NordNord
VersaillesVersailles
EvryEvry
Marne la ValléeMarne la Vallée
Saint-DenisSaint-Denis
SS
5050
4040
Les capacités d’accueilLes capacités d’accueildes différentes gares !des différentes gares !
PP
2020
2525
Les capacités d’accueilLes capacités d’accueildes différentes gares !des différentes gares !
1717
2323
Les lignesLes ligneset leurset leurs
capacités !capacités !
+ +
2525
Capacités de trains en gares !Capacités de trains en gares !
250250
LimitationLimitationglobaleglobaleen en trains !trains !
14 mars 2006 Cours de graphes 4 - Intranet 62
ApplicationApplication----------------------------------------------------------------------------------------------------------------------------------
LyonLyon
AusterlitzAusterlitz
LazareLazare
EstEst
NordNord
VersaillesVersailles
EvryEvry
Marne la ValléeMarne la Vallée
Saint-DenisSaint-Denis
SS
5050
4040
Les capacités d’accueilLes capacités d’accueildes différentes gares !des différentes gares !
PP
2020
2525
Les capacités d’accueilLes capacités d’accueildes différentes gares !des différentes gares !
1717
2323
Les lignesLes ligneset leurset leurs
capacités !capacités !
+ +
2525
Capacités de trains en gares !Capacités de trains en gares !
250250
LimitationLimitationglobaleglobaleen en trains !trains !
14 mars 2006 Cours de graphes 4 - Intranet 63
ApplicationApplication----------------------------------------------------------------------------------------------------------------------------------
• La représentation :La représentation :
– Les capacités : c : V x V Les capacités : c : V x V --> R+> R+II
14 mars 2006 Cours de graphes 4 - Intranet 64
ApplicationApplication----------------------------------------------------------------------------------------------------------------------------------
• La représentation :La représentation :
– Les capacités : c : V x V Les capacités : c : V x V --> R+> R+
– Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 !Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 !
II
14 mars 2006 Cours de graphes 4 - Intranet 65
ApplicationApplication----------------------------------------------------------------------------------------------------------------------------------
• La représentation :La représentation :
– Les capacités : c : V x V Les capacités : c : V x V --> R+> R+
– Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 !Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 !
– Les flots : Les flots : f : V x V f : V x V --> R> RII
II
14 mars 2006 Cours de graphes 4 - Intranet 66
ApplicationApplication----------------------------------------------------------------------------------------------------------------------------------
• La représentation :La représentation :
– Les capacités : c : V x V Les capacités : c : V x V --> R+> R+
– Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 !Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 !
– Les flots : Les flots : f : V x V f : V x V --> R> R
– f ( u , v ) >= 0 , si le flot va de « u » vers « v » ,f ( u , v ) >= 0 , si le flot va de « u » vers « v » ,– f ( u , v ) <= 0 , si le flot va de « v » vers « u » !f ( u , v ) <= 0 , si le flot va de « v » vers « u » !
II
II
14 mars 2006 Cours de graphes 4 - Intranet 67
ApplicationApplication----------------------------------------------------------------------------------------------------------------------------------
• La représentation :La représentation :
– Les capacités : c : V x V Les capacités : c : V x V --> R+> R+
– Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 !Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 !
– Les flots : Les flots : f : V x V f : V x V --> R> R
– f ( u , v ) >= 0 , si le flot va de « u » vers « v » ,f ( u , v ) >= 0 , si le flot va de « u » vers « v » ,– f ( u , v ) <= 0 , si le flot va de « v » vers « u » !f ( u , v ) <= 0 , si le flot va de « v » vers « u » !
• Les contraintes :Les contraintes :
– f ( u , v ) <= c ( u , v )f ( u , v ) <= c ( u , v )
II
II
14 mars 2006 Cours de graphes 4 - Intranet 68
ApplicationApplication----------------------------------------------------------------------------------------------------------------------------------
• La représentation :La représentation :
– Les capacités : c : V x V Les capacités : c : V x V --> R+> R+
– Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 !Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 !
– Les flots : Les flots : f : V x V f : V x V --> R> R
– f ( u , v ) >= 0 , si le flot va de « u » vers « v » ,f ( u , v ) >= 0 , si le flot va de « u » vers « v » ,– f ( u , v ) <= 0 , si le flot va de « v » vers « u » !f ( u , v ) <= 0 , si le flot va de « v » vers « u » !
• Les contraintes :Les contraintes :
– f ( u , v ) <= c ( u , v )f ( u , v ) <= c ( u , v )
– f ( u , v ) = f ( u , v ) = -- f ( v , u ) f ( v , u )
II
II
14 mars 2006 Cours de graphes 4 - Intranet 69
ApplicationApplication----------------------------------------------------------------------------------------------------------------------------------
• La représentation :La représentation :
– Les capacités : c : V x V Les capacités : c : V x V --> R+> R+
– Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 !Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 !
– Les flots : Les flots : f : V x V f : V x V --> R> R
– f ( u , v ) >= 0 , si le flot va de « u » vers « v » ,f ( u , v ) >= 0 , si le flot va de « u » vers « v » ,– f ( u , v ) <= 0 , si le flot va de « v » vers « u » !f ( u , v ) <= 0 , si le flot va de « v » vers « u » !
• Les contraintes :Les contraintes :
– f ( u , v ) <= c ( u , v )f ( u , v ) <= c ( u , v )
– f ( u , v ) = f ( u , v ) = -- f ( v , u ) f ( v , u )
– f ( u , v ) = 0 , si u est différent de s et de p .f ( u , v ) = 0 , si u est différent de s et de p .
II
v v V V
II
14 mars 2006 Cours de graphes 4 - Intranet 70
ApplicationApplication----------------------------------------------------------------------------------------------------------------------------------
• La représentation :La représentation :
– Les capacités : c : V x V Les capacités : c : V x V --> R+> R+
– Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 !Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 !
– Les flots : Les flots : f : V x V f : V x V --> R> R
– f ( u , v ) >= 0 , si le flot va de « u » vers « v » ,f ( u , v ) >= 0 , si le flot va de « u » vers « v » ,– f ( u , v ) <= 0 , si le flot va de « v » vers « u » !f ( u , v ) <= 0 , si le flot va de « v » vers « u » !
• Les contraintes :Les contraintes :
– f ( u , v ) <= c ( u , v )f ( u , v ) <= c ( u , v )
– f ( u , v ) = f ( u , v ) = -- f ( v , u ) f ( v , u )
– f ( u , v ) = 0 , si u est différent de s et de p .f ( u , v ) = 0 , si u est différent de s et de p .
II
v v V V
II
14 mars 2006 Cours de graphes 4 - Intranet 71
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
Initialiser le flot à 0Initialiser le flot à 0
Tantqu’il existe un chemin augmentantTantqu’il existe un chemin augmentant
Augmenter le flot le longAugmenter le flot le long du chemin en question !du chemin en question !
14 mars 2006 Cours de graphes 4 - Intranet 72
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Comment changer le flot ?Comment changer le flot ?
uu vvf ( u , v )f ( u , v )
c ( u , v )c ( u , v )
c ( v , u )c ( v , u )
f ( u , v ) = f ( u , v ) = -- f ( v , u ) f ( v , u )
14 mars 2006 Cours de graphes 4 - Intranet 73
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Comment changer le flot ?Comment changer le flot ?
• D’abord :D’abord :
uu vvf ( u , v )f ( u , v )
c ( u , v )c ( u , v )
c ( v , u )c ( v , u )
f ( u , v ) = f ( u , v ) = -- f ( v , u ) f ( v , u )
f ( u , v ) <= c ( u , v )f ( u , v ) <= c ( u , v )
-- f ( u , v ) = f ( v , u ) <= c ( v , u ) f ( u , v ) = f ( v , u ) <= c ( v , u )
-- c ( v , u ) <= f ( u , v ) <= c ( u , v ) c ( v , u ) <= f ( u , v ) <= c ( u , v )
14 mars 2006 Cours de graphes 4 - Intranet 74
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Comment changer le flot ?Comment changer le flot ?
• Ensuite :Ensuite :
– Le flot « f ( u , v ) » est le flot dans l’arc ( u , v ) Le flot « f ( u , v ) » est le flot dans l’arc ( u , v ) diminué du flot dans l’arc ( v , u ) !diminué du flot dans l’arc ( v , u ) !
uu vvf ( u , v )f ( u , v )
c ( u , v )c ( u , v )
c ( v , u )c ( v , u )
f ( u , v ) = f ( u , v ) = -- f ( v , u ) f ( v , u )
14 mars 2006 Cours de graphes 4 - Intranet 75
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Comment changer le flot ?Comment changer le flot ?
• Ensuite :Ensuite :
– Le flot « f ( u , v ) » est le flot dans l’arc ( u , v ) Le flot « f ( u , v ) » est le flot dans l’arc ( u , v ) diminué du flot dans l’arc ( v , u ) !diminué du flot dans l’arc ( v , u ) !
uu vvf ( u , v )f ( u , v )
c ( u , v )c ( u , v )
c ( v , u )c ( v , u )
f ( u , v ) = f ( u , v ) = -- f ( v , u ) f ( v , u )
uu vv+ 2+ 2
3 / 53 / 5
1 / 41 / 4uu vv-- 1 1
2 / 52 / 5
3 / 43 / 4
14 mars 2006 Cours de graphes 4 - Intranet 76
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Comment changer le flot ?Comment changer le flot ?
uu vvf ( u , v )f ( u , v )
c ( u , v )c ( u , v )
c ( v , u )c ( v , u )
f ( u , v ) = f ( u , v ) = -- f ( v , u ) f ( v , u )
14 mars 2006 Cours de graphes 4 - Intranet 77
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Comment changer le flot ?Comment changer le flot ?
– Le flot dans l’arc ( u , v ) est porté au maximum !Le flot dans l’arc ( u , v ) est porté au maximum !
– Le flot dans l’arc ( v , u ) est ramené à zéro !Le flot dans l’arc ( v , u ) est ramené à zéro !
uu vvf ( u , v )f ( u , v )
c ( u , v )c ( u , v )
c ( v , u )c ( v , u )
f ( u , v ) = f ( u , v ) = -- f ( v , u ) f ( v , u )
14 mars 2006 Cours de graphes 4 - Intranet 78
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Comment changer le flot ?Comment changer le flot ?
– Le flot dans l’arc ( u , v ) est porté au maximum !Le flot dans l’arc ( u , v ) est porté au maximum !
– Le flot dans l’arc ( v , u ) est ramené à zéro !Le flot dans l’arc ( v , u ) est ramené à zéro !
uu vvf ( u , v )f ( u , v )
c ( u , v )c ( u , v )
c ( v , u )c ( v , u )
f ( u , v ) = f ( u , v ) = -- f ( v , u ) f ( v , u )
uu vv+ 5+ 5
5 / 55 / 5
0 / 40 / 4
14 mars 2006 Cours de graphes 4 - Intranet 79
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Comment changer le flot ?Comment changer le flot ?
uu vvf ( u , v )f ( u , v )
c ( u , v )c ( u , v )
c ( v , u )c ( v , u )
f ( u , v ) = f ( u , v ) = -- f ( v , u ) f ( v , u )
14 mars 2006 Cours de graphes 4 - Intranet 80
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Comment changer le flot ?Comment changer le flot ?
uu vvf ( u , v )f ( u , v )
c ( u , v )c ( u , v )
c ( v , u )c ( v , u )
f ( u , v ) = f ( u , v ) = -- f ( v , u ) f ( v , u )
14 mars 2006 Cours de graphes 4 - Intranet 81
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Comment changer le flot ?Comment changer le flot ?
– Le flot dans l’arc ( v , u ) est porté au maximum !Le flot dans l’arc ( v , u ) est porté au maximum !
– Le flot dans l’arc ( u , v ) est ramené à zéro !Le flot dans l’arc ( u , v ) est ramené à zéro !
uu vvf ( u , v )f ( u , v )
c ( u , v )c ( u , v )
c ( v , u )c ( v , u )
f ( u , v ) = f ( u , v ) = -- f ( v , u ) f ( v , u )
14 mars 2006 Cours de graphes 4 - Intranet 82
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Comment changer le flot ?Comment changer le flot ?
– Le flot dans l’arc ( v , u ) est porté au maximum !Le flot dans l’arc ( v , u ) est porté au maximum !
– Le flot dans l’arc ( u , v ) est ramené à zéro !Le flot dans l’arc ( u , v ) est ramené à zéro !
uu vvf ( u , v )f ( u , v )
c ( u , v )c ( u , v )
c ( v , u )c ( v , u )
f ( u , v ) = f ( u , v ) = -- f ( v , u ) f ( v , u )
uu vv-- 4 4
0 / 50 / 5
4 / 44 / 4
14 mars 2006 Cours de graphes 4 - Intranet 83
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Comment changer le flot ?Comment changer le flot ?
– Le flot dans l’arc ( v , u ) est porté au maximum !Le flot dans l’arc ( v , u ) est porté au maximum !
– Le flot dans l’arc ( u , v ) est ramené à zéro !Le flot dans l’arc ( u , v ) est ramené à zéro !
uu vvf ( u , v )f ( u , v )
c ( u , v )c ( u , v )
c ( v , u )c ( v , u )
f ( u , v ) = f ( u , v ) = -- f ( v , u ) f ( v , u )
uu vv-- 4 4
0 / 50 / 5
4 / 44 / 4vv uu++ 4 4
0 / 50 / 5
4 / 44 / 4
14 mars 2006 Cours de graphes 4 - Intranet 84
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Comment changer le flot ?Comment changer le flot ?
uu vvf ( u , v )f ( u , v )
c ( u , v )c ( u , v )
c ( v , u )c ( v , u )
f ( u , v ) = f ( u , v ) = -- f ( v , u ) f ( v , u )
14 mars 2006 Cours de graphes 4 - Intranet 85
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Comment changer le flot ?Comment changer le flot ?
r ( u , v ) = c ( u , v ) r ( u , v ) = c ( u , v ) -- f ( u , v ) f ( u , v )
uu vvf ( u , v )f ( u , v )
c ( u , v )c ( u , v )
c ( v , u )c ( v , u )
f ( u , v ) = f ( u , v ) = -- f ( v , u ) f ( v , u )
14 mars 2006 Cours de graphes 4 - Intranet 86
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Comment changer le flot ?Comment changer le flot ?
r ( u , v ) = c ( u , v ) r ( u , v ) = c ( u , v ) -- f ( u , v ) f ( u , v )
le flot maximal le flot maximal le flot déjà le flot déjà acquisacquis
uu vvf ( u , v )f ( u , v )
c ( u , v )c ( u , v )
c ( v , u )c ( v , u )
f ( u , v ) = f ( u , v ) = -- f ( v , u ) f ( v , u )
14 mars 2006 Cours de graphes 4 - Intranet 87
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Comment changer le flot ?Comment changer le flot ?
r ( u , v ) = c ( u , v ) r ( u , v ) = c ( u , v ) -- f ( u , v ) f ( u , v )
uu vvf ( u , v )f ( u , v )
c ( u , v )c ( u , v )
c ( v , u )c ( v , u )
f ( u , v ) = f ( u , v ) = -- f ( v , u ) f ( v , u )
uu vv+ 2+ 2
3 / 53 / 5
1 / 41 / 4
14 mars 2006 Cours de graphes 4 - Intranet 88
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Comment changer le flot ?Comment changer le flot ?
r ( u , v ) = c ( u , v ) r ( u , v ) = c ( u , v ) -- f ( u , v ) f ( u , v )
uu vvf ( u , v )f ( u , v )
c ( u , v )c ( u , v )
c ( v , u )c ( v , u )
f ( u , v ) = f ( u , v ) = -- f ( v , u ) f ( v , u )
uu vv+ 2+ 2
3 / 53 / 5
1 / 41 / 4
r ( u , v ) = 5 – 2 = 3r ( u , v ) = 5 – 2 = 3
14 mars 2006 Cours de graphes 4 - Intranet 89
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Comment changer le flot ?Comment changer le flot ?
r ( u , v ) = c ( u , v ) r ( u , v ) = c ( u , v ) -- f ( u , v ) f ( u , v )
uu vvf ( u , v )f ( u , v )
c ( u , v )c ( u , v )
c ( v , u )c ( v , u )
f ( u , v ) = f ( u , v ) = -- f ( v , u ) f ( v , u )
uu vv+ 2+ 2
3 / 53 / 5
1 / 41 / 4
r ( u , v ) = 5 – 2 = 3r ( u , v ) = 5 – 2 = 35 X5 X
0 X0 X
+ 3+ 3
14 mars 2006 Cours de graphes 4 - Intranet 90
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Comment changer le flot ?Comment changer le flot ?
r ( u , v ) = c ( u , v ) r ( u , v ) = c ( u , v ) -- f ( u , v ) f ( u , v )
uu vvf ( u , v )f ( u , v )
c ( u , v )c ( u , v )
c ( v , u )c ( v , u )
f ( u , v ) = f ( u , v ) = -- f ( v , u ) f ( v , u )
uu vv+ 2+ 2
3 / 53 / 5
1 / 41 / 4
r ( u , v ) = 5 – 2 = 3r ( u , v ) = 5 – 2 = 3
r ( v , u ) = 4 – (– 2) = 6r ( v , u ) = 4 – (– 2) = 6
14 mars 2006 Cours de graphes 4 - Intranet 91
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Comment changer le flot ?Comment changer le flot ?
r ( u , v ) = c ( u , v ) r ( u , v ) = c ( u , v ) -- f ( u , v ) f ( u , v )
uu vvf ( u , v )f ( u , v )
c ( u , v )c ( u , v )
c ( v , u )c ( v , u )
f ( u , v ) = f ( u , v ) = -- f ( v , u ) f ( v , u )
uu vv-- 2 2
3 / 53 / 5
1 / 41 / 4
r ( u , v ) = 5 – 2 = 3r ( u , v ) = 5 – 2 = 3
r ( v , u ) = 4 – (– 2) = 6r ( v , u ) = 4 – (– 2) = 6
14 mars 2006 Cours de graphes 4 - Intranet 92
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Comment changer le flot ?Comment changer le flot ?
r ( u , v ) = c ( u , v ) r ( u , v ) = c ( u , v ) -- f ( u , v ) f ( u , v )
uu vvf ( u , v )f ( u , v )
c ( u , v )c ( u , v )
c ( v , u )c ( v , u )
f ( u , v ) = f ( u , v ) = -- f ( v , u ) f ( v , u )
uu vv-- 2 2
3 / 53 / 5
1 / 41 / 4
r ( u , v ) = 5 – 2 = 3r ( u , v ) = 5 – 2 = 3
r ( v , u ) = 4 – (– 2) = 6r ( v , u ) = 4 – (– 2) = 6
0 X0 X
4 X4 X
+ 6+ 6
14 mars 2006 Cours de graphes 4 - Intranet 93
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Le graphe résiduel R :Le graphe résiduel R :
– Il a les mêmes sommets que le graphe de flot G !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 Il possède un arc ( u , v ) si la capacité résiduelle r ( u , v ) dans le graphe G est strictement positive !, v ) dans le graphe G est strictement positive !
– L’arc en question est pondéré par la capacité résiduelle L’arc en question est pondéré par la capacité résiduelle !!
14 mars 2006 Cours de graphes 4 - Intranet 94
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Le graphe résiduel R :Le graphe résiduel R :
– Il a les mêmes sommets que le graphe de flot G !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 Il possède un arc ( u , v ) si la capacité résiduelle r ( u , v ) dans le graphe G est strictement positive !, v ) dans le graphe G est strictement positive !
– L’arc en question est pondéré par la capacité résiduelle L’arc en question est pondéré par la capacité résiduelle !!
• Un chemin augmentant est un chemin de « s » vers Un chemin augmentant est un chemin de « s » vers « p » dans le graphe résiduel R !« p » dans le graphe résiduel R !
14 mars 2006 Cours de graphes 4 - Intranet 95
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Le graphe résiduel R :Le graphe résiduel R :
– Il a les mêmes sommets que le graphe de flot G !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 , Il possède un arc ( u , v ) si la capacité résiduelle r ( u , v ) dans le graphe G est strictement positive !v ) dans le graphe G est strictement positive !
– L’arc en question est pondéré par la capacité résiduelle !L’arc en question est pondéré par la capacité résiduelle !
• Un chemin augmentant est un chemin de « s » vers Un chemin augmentant est un chemin de « s » vers « p » dans le graphe résiduel R !« p » dans le graphe résiduel R !
• Le poids du chemin augmentant est le poids de l’arc le Le poids du chemin augmentant est le poids de l’arc le plus léger du chemin !plus léger du chemin !
14 mars 2006 Cours de graphes 4 - Intranet 96
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Un exemple :Un exemple :
ss pp
uu
vv
Le graphe G !Le graphe G !
1/41/4
2/62/6
1/21/2 0/20/2
3/33/3
0/30/3
14 mars 2006 Cours de graphes 4 - Intranet 97
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Un exemple :Un exemple :
ss pp
uu
vv
Le graphe G !Le graphe G !
1/41/4
2/62/6
1/21/2 0/20/2
3/33/3
0/30/3
ss pp
uu
vv
ConstructionConstructiondu graphe R !du graphe R !
14 mars 2006 Cours de graphes 4 - Intranet 98
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Un exemple :Un exemple :
ss pp
uu
vv
Le graphe G !Le graphe G !
1/41/4
2/62/6
1/21/2 0/20/2
3/33/3
0/30/3
ss pp
uu
vv
ConstructionConstructiondu graphe R !du graphe R !
33
11
14 mars 2006 Cours de graphes 4 - Intranet 99
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Un exemple :Un exemple :
ss pp
uu
vv
Le graphe G !Le graphe G !
1/41/4
2/62/6
1/21/2 0/20/2
3/33/3
0/30/3
ss pp
uu
vv
ConstructionConstructiondu graphe R !du graphe R !
33
11
r ( s , u ) =r ( s , u ) =c ( s , u ) c ( s , u ) -- f ( s , u ) f ( s , u )= 4 – 1 = 3= 4 – 1 = 3
r ( u , s ) =r ( u , s ) =c ( u , s ) c ( u , s ) -- f ( u , s ) f ( u , s )= c ( u , s ) + f ( s , u )= c ( u , s ) + f ( s , u )= 0 + 1 = 1= 0 + 1 = 1
14 mars 2006 Cours de graphes 4 - Intranet 100
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Un exemple :Un exemple :
ss pp
uu
vv
Le graphe G !Le graphe G !
1/41/4
2/62/6
1/21/2 0/20/2
3/33/3
0/30/3
ss pp
uu
vv
ConstructionConstructiondu graphe R !du graphe R !
33
11
4422
14 mars 2006 Cours de graphes 4 - Intranet 101
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Un exemple :Un exemple :
ss pp
uu
vv
Le graphe G !Le graphe G !
1/41/4
2/62/6
1/21/2 0/20/2
3/33/3
0/30/3
ss pp
uu
vv
ConstructionConstructiondu graphe R !du graphe R !
33
11
4422
33
14 mars 2006 Cours de graphes 4 - Intranet 102
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Un exemple :Un exemple :
ss pp
uu
vv
Le graphe G !Le graphe G !
1/41/4
2/62/6
1/21/2 0/20/2
3/33/3
0/30/3
ss pp
uu
vv
ConstructionConstructiondu graphe R !du graphe R !
33
11
4422
33
33
14 mars 2006 Cours de graphes 4 - Intranet 103
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Un exemple :Un exemple :
ss pp
uu
vv
Le graphe G !Le graphe G !
1/41/4
2/62/6
1/21/2 0/20/2
3/33/3
0/30/3
ss pp
uu
vv
Le graphe R !Le graphe R !
33
11
4422
33
33
11 33
14 mars 2006 Cours de graphes 4 - Intranet 104
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Un exemple :Un exemple :
ss pp
uu
vv
Le graphe G !Le graphe G !
1/41/4
2/62/6
1/21/2 0/20/2
3/33/3
0/30/3
ss pp
uu
vv
Le graphe R !Le graphe R !
33
11
4422
33
33
11 33Un cheminUn cheminaugmentantaugmentantde poids 3 !de poids 3 !
14 mars 2006 Cours de graphes 4 - Intranet 105
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Un exemple :Un exemple :
ss pp
uu
vv
Le nouveauLe nouveaugraphe G !graphe G !
1/41/4
2/62/6
1/21/2 0/20/2
3/33/3
0/30/3
ss pp
uu
vv
Le graphe R !Le graphe R !
33
11
4422
33
33
11 33Un cheminUn cheminaugmentantaugmentantde poids 3 !de poids 3 !
+3+3
+3+3
+2+2--11
14 mars 2006 Cours de graphes 4 - Intranet 106
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Un exemple :Un exemple :
ss pp
uu
vv
1/41/4
5/65/6
0/20/2 2/22/2
3/33/3
3/33/3
ss pp
uu
vv
Le graphe R !Le graphe R !
33
11
4422
33
33
11 33Un cheminUn cheminaugmentantaugmentantde poids 3 !de poids 3 !
Le nouveauLe nouveaugraphe G !graphe G !
14 mars 2006 Cours de graphes 4 - Intranet 107
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Pour changer le flot :Pour changer le flot :
4 / 74 / 7
+2+2devientdevient
6 / 76 / 7
14 mars 2006 Cours de graphes 4 - Intranet 108
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Pour changer le flot :Pour changer le flot :
4 / 74 / 7
+2+2devientdevient
6 / 76 / 7
4 / 74 / 7
+2+2devientdevient
2 / 72 / 7
14 mars 2006 Cours de graphes 4 - Intranet 109
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Pour changer le flot :Pour changer le flot :
4 / 74 / 7
+2+2devientdevient
6 / 76 / 7
4 / 74 / 7
+2+2devientdevient
2 / 72 / 7
4 / 74 / 7
+2+2
devientdevient
2 / 52 / 5
5 / 75 / 7
1 / 51 / 5
ouou4 / 74 / 7
0 / 50 / 5
ouou . . .. . .
14 mars 2006 Cours de graphes 4 - Intranet 110
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Un exemple :Un exemple :
ss pp
uu
vv
1/41/4
5/65/6
0/20/2 2/22/2
3/33/3
3/33/3
Le nouveauLe nouveaugraphe G !graphe G !
14 mars 2006 Cours de graphes 4 - Intranet 111
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Un exemple :Un exemple :
ss pp
uu
vv
1/41/4
5/65/6
0/20/2 2/22/2
3/33/3
3/33/3
ss pp
uu
vv
ConstructionConstructiondu graphe R !du graphe R !
33
11
33
Le nouveauLe nouveaugraphe G !graphe G !
Ceci estCeci estconservé !conservé !
14 mars 2006 Cours de graphes 4 - Intranet 112
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Un exemple :Un exemple :
ss pp
uu
vv
1/41/4
5/65/6
0/20/2 2/22/2
3/33/3
3/33/3
ss pp
uu
vv
ConstructionConstructiondu graphe R !du graphe R !
33
11
33
Le nouveauLe nouveaugraphe G !graphe G !
1155
14 mars 2006 Cours de graphes 4 - Intranet 113
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Un exemple :Un exemple :
ss pp
uu
vv
1/41/4
5/65/6
0/20/2 2/22/2
3/33/3
3/33/3
ss pp
uu
vv
ConstructionConstructiondu graphe R !du graphe R !
33
11
33
Le nouveauLe nouveaugraphe G !graphe G !
1155
44
14 mars 2006 Cours de graphes 4 - Intranet 114
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Un exemple :Un exemple :
ss pp
uu
vv
1/41/4
5/65/6
0/20/2 2/22/2
3/33/3
3/33/3
ss pp
uu
vv
Le graphe R !Le graphe R !
33
11
33
Le nouveauLe nouveaugraphe G !graphe G !
1155
44
33
14 mars 2006 Cours de graphes 4 - Intranet 115
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Un exemple :Un exemple :
ss pp
uu
vv
1/41/4
5/65/6
0/20/2 2/22/2
3/33/3
3/33/3
ss pp
uu
vv
Le graphe R !Le graphe R !
33
11
33
Le nouveauLe nouveaugraphe G !graphe G !
1155
44
33
14 mars 2006 Cours de graphes 4 - Intranet 116
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Un exemple :Un exemple :
ss pp
uu
vv
1/41/4
5/65/6
0/20/2 2/22/2
3/33/3
3/33/3
ss pp
uu
vv
Le graphe R !Le graphe R !
33
11
33
Le nouveauLe nouveaugraphe G !graphe G !
1155
44
33
14 mars 2006 Cours de graphes 4 - Intranet 117
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Un exemple :Un exemple :
ss pp
uu
vv
1/41/4
5/65/6
0/20/2 2/22/2
3/33/3
3/33/3
ss pp
uu
vv
Le graphe R !Le graphe R !
33
11
33
Le nouveauLe nouveaugraphe G !graphe G !
1155
44
33
14 mars 2006 Cours de graphes 4 - Intranet 118
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Un exemple :Un exemple :
ss pp
uu
vv
1/41/4
5/65/6
0/20/2 2/22/2
3/33/3
3/33/3
ss pp
uu
vv
Le graphe R !Le graphe R !
33
11
33
Le nouveauLe nouveaugraphe G !graphe G !
1155
44
33
14 mars 2006 Cours de graphes 4 - Intranet 119
Ford et FulkersonFord et Fulkerson----------------------------------------------------------------------------------------------------------------------------------
• Un exemple :Un exemple :
ss pp
uu
vv
1/41/4
5/65/6
0/20/2 2/22/2
3/33/3
3/33/3
ss pp
uu
vv
Le graphe R !Le graphe R !
33
11
33
Le nouveauLe nouveaugraphe G !graphe G !
1155
44
33
14 mars 2006 Cours de graphes 4 - Intranet 120
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
14 mars 2006 Cours de graphes 4 - Intranet 121
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• Une coupe ( S , P ) ( cut en anglais ) :Une coupe ( S , P ) ( cut en anglais ) :
ss pp. . .. . . . . .. . .
SS PP
14 mars 2006 Cours de graphes 4 - Intranet 122
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• Une coupe ( S , P ) ( cut en anglais ) :Une coupe ( S , P ) ( cut en anglais ) :
• Nous partitionnons les sommets du graphe pourNous partitionnons les sommets du graphe pour
– obtenir une partie S quasi-fortement connexe de racine s ,obtenir une partie S quasi-fortement connexe de racine s ,
– et une partie P quasi-fortement connexe de racine p , si et une partie P quasi-fortement connexe de racine p , si
nous inversons les arcs.nous inversons les arcs.
ss pp. . .. . . . . .. . .
SS PP
14 mars 2006 Cours de graphes 4 - Intranet 123
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• Le flot à travers une coupe ( S , P ) : f ( S , P )Le flot à travers une coupe ( S , P ) : f ( S , P )
f ( S , P ) = f ( S , P ) = f ( u , v ) f ( u , v )u u S Sv v P P
14 mars 2006 Cours de graphes 4 - Intranet 124
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• Le flot à travers une coupe ( S , P ) : f ( S , P )Le flot à travers une coupe ( S , P ) : f ( S , P )
f ( S , P ) = f ( S , P ) = f ( u , v ) f ( u , v )
ss pp. . .. . . . . .. . .
SS PP
u u S Sv v P P44 / … / …
22 / … / …
33 / … / …
14 mars 2006 Cours de graphes 4 - Intranet 125
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• Le flot à travers une coupe ( S , P ) : f ( S , P )Le flot à travers une coupe ( S , P ) : f ( S , P )
f ( S , P ) = f ( S , P ) = f ( u , v ) f ( u , v )
• Dans le sens S vers P , nous comptons en positif !Dans le sens S vers P , nous comptons en positif !
• Dans le sens P vers S , nous comptons en négatif !Dans le sens P vers S , nous comptons en négatif !
ss pp. . .. . . . . .. . .
SS PP
u u S Sv v P P44 / … / …
22 / … / …
33 / … / …
14 mars 2006 Cours de graphes 4 - Intranet 126
• Le flot à travers une coupe ( S , P ) : f ( S , P )Le flot à travers une coupe ( S , P ) : f ( S , P )
f ( S , P ) = f ( S , P ) = f ( u , v ) f ( u , v )
• Dans le sens S vers P , nous comptons en positif !Dans le sens S vers P , nous comptons en positif !
• Dans le sens P vers S , nous comptons en négatif !Dans le sens P vers S , nous comptons en négatif !
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
ss pp. . .. . . . . .. . .
SS PP
u u S Sv v P P44 / … / …
22 / … / …
-- 3 3 / … / …
14 mars 2006 Cours de graphes 4 - Intranet 127
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• Le flot à travers une coupe ( S , P ) : f ( S , P )Le flot à travers une coupe ( S , P ) : f ( S , P )
f ( S , P ) = f ( S , P ) = f ( u , v ) = f ( u , v ) = 4 + 2 4 + 2 -- 3 3
• Dans le sens S vers P , nous comptons en positif !Dans le sens S vers P , nous comptons en positif !
• Dans le sens P vers S , nous comptons en négatif !Dans le sens P vers S , nous comptons en négatif !
ss pp. . .. . . . . .. . .
SS PP
u u S Sv v P P44 / … / …
22 / … / …
-- 3 3 / … / …
14 mars 2006 Cours de graphes 4 - Intranet 128
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• Le flot à travers une coupe ( S , P ) : f ( S , P )Le flot à travers une coupe ( S , P ) : f ( S , P )
f ( S , P ) = f ( S , P ) = f ( u , v ) = f ( u , v ) = 4 + 2 4 + 2 -- 3 3
• Dans le sens S vers P , nous comptons en positif !Dans le sens S vers P , nous comptons en positif !
• Dans le sens P vers S , nous comptons en négatif !Dans le sens P vers S , nous comptons en négatif !
ss pp. . .. . . . . .. . .
SS PP
u u S Sv v P P
S’’S’’ P’’P’’S’S’ P’P’
44 / … / …
22 / … / …
-- 3 3 / … / …
14 mars 2006 Cours de graphes 4 - Intranet 129
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• La capacité d’une coupe ( S , P ) : c ( S , P )La capacité d’une coupe ( S , P ) : c ( S , P )
c ( S , P ) = c ( S , P ) = c ( u , v ) c ( u , v )u u S Sv v P P
14 mars 2006 Cours de graphes 4 - Intranet 130
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• La capacité d’une coupe ( S , P ) : c ( S , P )La capacité d’une coupe ( S , P ) : c ( S , P )
c ( S , P ) = c ( S , P ) = c ( u , v ) c ( u , v )
ss pp. . .. . . . . .. . .
SS PP
u u S Sv v P P… … / / 44
… … / / 22
… … / / 33
14 mars 2006 Cours de graphes 4 - Intranet 131
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• La capacité d’une coupe ( S , P ) : c ( S , P )La capacité d’une coupe ( S , P ) : c ( S , P )
c ( S , P ) = c ( S , P ) = c ( u , v ) c ( u , v )
• Dans le sens S vers P , nous considérons l’arc !Dans le sens S vers P , nous considérons l’arc !
• Dans le sens P vers S , nous ignorons l’arc !Dans le sens P vers S , nous ignorons l’arc !
ss pp. . .. . . . . .. . .
SS PP
u u S Sv v P P… … / / 44
… … / / 22
… … / / 33
14 mars 2006 Cours de graphes 4 - Intranet 132
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• La capacité d’une coupe ( S , P ) : c ( S , P )La capacité d’une coupe ( S , P ) : c ( S , P )
c ( S , P ) = c ( S , P ) = c ( u , v ) = c ( u , v ) = 4 + 24 + 2
• Dans le sens S vers P , nous considérons l’arc !Dans le sens S vers P , nous considérons l’arc !
• Dans le sens P vers S , nous ignorons l’arc !Dans le sens P vers S , nous ignorons l’arc !
ss pp. . .. . . . . .. . .
SS PP
u u S Sv v P P… … / / 44
… … / / 22
… … / / 33
14 mars 2006 Cours de graphes 4 - Intranet 133
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• La capacité d’une coupe ( S , P ) : c ( S , P )La capacité d’une coupe ( S , P ) : c ( S , P )
c ( S , P ) = c ( S , P ) = c ( u , v ) = c ( u , v ) = 4 + 24 + 2
• Dans le sens S vers P , nous considérons l’arc !Dans le sens S vers P , nous considérons l’arc !
• Dans le sens P vers S , nous ignorons l’arc !Dans le sens P vers S , nous ignorons l’arc !
ss pp. . .. . . . . .. . .
SS PP
u u S Sv v P P… … / / 44
… … / / 22
… … / / 33
14 mars 2006 Cours de graphes 4 - Intranet 134
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• Pour toute coupe ( S , P ) , nous avons :Pour toute coupe ( S , P ) , nous avons :
f ( S , P ) <= c ( S , P )f ( S , P ) <= c ( S , P )
14 mars 2006 Cours de graphes 4 - Intranet 135
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• Pour toute coupe ( S , P ) , nous avons :Pour toute coupe ( S , P ) , nous avons :
f ( S , P ) <= c ( S , P )f ( S , P ) <= c ( S , P )
ss pp. . .. . . . . .. . .
SS PP
4 / 4 / 77
2 / 2 / 55
3 / 43 / 4
14 mars 2006 Cours de graphes 4 - Intranet 136
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• Pour toute coupe ( S , P ) , nous avons :Pour toute coupe ( S , P ) , nous avons :
f ( S , P ) <= c ( S , P )f ( S , P ) <= c ( S , P )
f ( S , P ) = f ( S , P ) = 4 + 2 4 + 2 – 3 – 3 <= <= 4 + 2 4 + 2 <= <= 7 + 57 + 5 = c ( S , = c ( S , P )P )
ss pp. . .. . . . . .. . .
SS PP
4 / 4 / 77
2 / 2 / 55
3 / 43 / 4
14 mars 2006 Cours de graphes 4 - Intranet 137
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• Pour toute coupe ( S , P ) , nous avons :Pour toute coupe ( S , P ) , nous avons :
f ( S , P ) <= c ( S , P )f ( S , P ) <= c ( S , P )
f ( S , P ) = f ( S , P ) = 4 + 2 4 + 2 – 3 – 3 <= <= 4 + 2 4 + 2 <= <= 7 + 57 + 5 = c ( S , P )= c ( S , P )
f ( S , P ) = f ( S , P ) = f ( u , v ) f ( u , v ) <= <= f ( u , v ) f ( u , v ) <= <= c ( u , v ) c ( u , v ) = c ( S , P ) = c ( S , P ) u u S , v S , v PP u u S , v S , v PP u u S , v S , v PP f ( u , v ) >= 0f ( u , v ) >= 0
ss pp. . .. . . . . .. . .
SS PP
4 / 4 / 77
2 / 2 / 55
3 / 43 / 4
14 mars 2006 Cours de graphes 4 - Intranet 138
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• Pour le flot f à travers un graphe G, nous avons :Pour le flot f à travers un graphe G, nous avons :
– f = f ( S , P ) , quelque soit la coupe ( S , P ) !f = f ( S , P ) , quelque soit la coupe ( S , P ) !
14 mars 2006 Cours de graphes 4 - Intranet 139
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• Pour le flot f à travers un graphe G, nous avons :Pour le flot f à travers un graphe G, nous avons :
– f = f ( S , P ) , quelque soit la coupe ( S , P ) !f = f ( S , P ) , quelque soit la coupe ( S , P ) !
– Or, pour toute coupe ( S , P ) , nous avons f ( S , P ) <= c Or, pour toute coupe ( S , P ) , nous avons f ( S , P ) <= c ( S , P ) !( S , P ) !
14 mars 2006 Cours de graphes 4 - Intranet 140
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• Pour le flot f à travers un graphe G, nous avons :Pour le flot f à travers un graphe G, nous avons :
– f = f ( S , P ) , quelque soit la coupe ( S , P ) !f = f ( S , P ) , quelque soit la coupe ( S , P ) !
– Or, pour toute coupe ( S , P ) , nous avons f ( S , P ) <= c Or, pour toute coupe ( S , P ) , nous avons f ( S , P ) <= c ( S , P ) !( S , P ) !
– Donc, 0 <= f <= min c ( S , P )Donc, 0 <= f <= min c ( S , P ) coupes ( S , P )coupes ( S , P )
14 mars 2006 Cours de graphes 4 - Intranet 141
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• Pour le flot f à travers un graphe G, nous avons :Pour le flot f à travers un graphe G, nous avons :
– f = f ( S , P ) , quelque soit la coupe ( S , P ) !f = f ( S , P ) , quelque soit la coupe ( S , P ) !
– Or, pour toute coupe ( S , P ) , nous avons f ( S , P ) <= c Or, pour toute coupe ( S , P ) , nous avons f ( S , P ) <= c ( S , P ) !( S , P ) !
– Donc, 0 <= f <= min c ( S , P )Donc, 0 <= f <= min c ( S , P ) coupes ( S , P )coupes ( S , P )
ss pp
……/7/7
……/3/3
……/7/7
……/5/5
……/1/1
……/8/8
14 mars 2006 Cours de graphes 4 - Intranet 142
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• Pour le flot f à travers un graphe G, nous avons :Pour le flot f à travers un graphe G, nous avons :
– f = f ( S , P ) , quelque soit la coupe ( S , P ) !f = f ( S , P ) , quelque soit la coupe ( S , P ) !
– Or, pour toute coupe ( S , P ) , nous avons f ( S , P ) <= c Or, pour toute coupe ( S , P ) , nous avons f ( S , P ) <= c ( S , P ) !( S , P ) !
– Donc, 0 <= f <= min c ( S , P )Donc, 0 <= f <= min c ( S , P ) coupes ( S , P )coupes ( S , P )
ss pp
……/7/7
……/3/3
……/7/7
……/5/5
……/1/1
……/8/8
f <= 10f <= 10
14 mars 2006 Cours de graphes 4 - Intranet 143
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• Pour le flot f à travers un graphe G, nous avons :Pour le flot f à travers un graphe G, nous avons :
– f = f ( S , P ) , quelque soit la coupe ( S , P ) !f = f ( S , P ) , quelque soit la coupe ( S , P ) !
– Or, pour toute coupe ( S , P ) , nous avons f ( S , P ) <= c Or, pour toute coupe ( S , P ) , nous avons f ( S , P ) <= c ( S , P ) !( S , P ) !
– Donc, 0 <= f <= min c ( S , P )Donc, 0 <= f <= min c ( S , P ) coupes ( S , P )coupes ( S , P )
ss pp
……/7/7
……/3/3
……/7/7
……/5/5
……/1/1
……/8/8
f <= 10f <= 10
f <= 6f <= 6
14 mars 2006 Cours de graphes 4 - Intranet 144
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• Pour le flot f à travers un graphe G, nous avons :Pour le flot f à travers un graphe G, nous avons :
– f = f ( S , P ) , quelque soit la coupe ( S , P ) !f = f ( S , P ) , quelque soit la coupe ( S , P ) !
– Or, pour toute coupe ( S , P ) , nous avons f ( S , P ) <= c Or, pour toute coupe ( S , P ) , nous avons f ( S , P ) <= c ( S , P ) !( S , P ) !
– Donc, 0 <= f <= min c ( S , P )Donc, 0 <= f <= min c ( S , P ) coupes ( S , P )coupes ( S , P )
ss pp
……/7/7
……/3/3
……/7/7
……/5/5
……/1/1
……/8/8
f <= 10f <= 10
f <= 6f <= 6
14 mars 2006 Cours de graphes 4 - Intranet 145
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• Les trois conditions suivantes sont équivalentes :Les trois conditions suivantes sont équivalentes :
– ( 1 ) Le flot f est maximal !( 1 ) Le flot f est maximal !
– ( 2 ) Le graphe résiduel ne contient pas de chemin ( 2 ) Le graphe résiduel ne contient pas de chemin augmentant !augmentant !
– ( 3 ) Il existe une coupe ( S , P ) telle que f = c ( S , P ) ! ( 3 ) Il existe une coupe ( S , P ) telle que f = c ( S , P ) ! Cette coupe est minimale et saturée !Cette coupe est minimale et saturée !
14 mars 2006 Cours de graphes 4 - Intranet 146
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• Les trois conditions suivantes sont équivalentes :Les trois conditions suivantes sont équivalentes :
– ( 1 ) Le flot f est maximal !( 1 ) Le flot f est maximal !
– ( 2 ) Le graphe résiduel ne contient pas de chemin ( 2 ) Le graphe résiduel ne contient pas de chemin augmentant !augmentant !
– ( 3 ) Il existe une coupe ( S , P ) telle que f = c ( S , P ) ! ( 3 ) Il existe une coupe ( S , P ) telle que f = c ( S , P ) ! Cette coupe est minimale et saturée !Cette coupe est minimale et saturée !
14 mars 2006 Cours de graphes 4 - Intranet 147
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• Les trois conditions suivantes sont équivalentes :Les trois conditions suivantes sont équivalentes :
– ( 1 ) Le flot f est maximal !( 1 ) Le flot f est maximal !
– ( 2 ) Le graphe résiduel ne contient pas de chemin ( 2 ) Le graphe résiduel ne contient pas de chemin augmentant !augmentant !
– ( 3 ) Il existe une coupe ( S , P ) telle que f = c ( S , P ) ! ( 3 ) Il existe une coupe ( S , P ) telle que f = c ( S , P ) ! Cette coupe est minimale et saturée !Cette coupe est minimale et saturée !
• ( 1 ) => ( 2 )( 1 ) => ( 2 )
– Par absurde ! S’il y avait un chemin augmentant, le flot ne Par absurde ! S’il y avait un chemin augmentant, le flot ne serait pas maximal.serait pas maximal.
14 mars 2006 Cours de graphes 4 - Intranet 148
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• Les trois conditions suivantes sont équivalentes :Les trois conditions suivantes sont équivalentes :
– ( 1 ) Le flot f est maximal !( 1 ) Le flot f est maximal !
– ( 2 ) Le graphe résiduel ne contient pas de chemin augmentant !( 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 ( 3 ) Il existe une coupe ( S , P ) telle que f = c ( S , P ) ! Cette coupe est minimale et saturée !minimale et saturée !
• ( 1 ) => ( 2 )( 1 ) => ( 2 )
– Par absurde ! S’il y avait un chemin augmentant, le flot ne serait pas maximal.Par absurde ! S’il y avait un chemin augmentant, le flot ne serait pas maximal.
• ( 3 ) => ( 1 )( 3 ) => ( 1 )
– Comme il existe ( S , P ) telle que f = c ( S , P ) , nous avons c ( S , P ) = 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. f <= min c ( S , P ) ! f est donc maximal et égal une coupe. coupes coupes ( S , P )( S , P )
14 mars 2006 Cours de graphes 4 - Intranet 149
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• ( 2 ) => ( 3 )( 2 ) => ( 3 )
– Il existe une coupe ( S , P ) avec des arcs retour seulement !Il existe une coupe ( S , P ) avec des arcs retour seulement !
14 mars 2006 Cours de graphes 4 - Intranet 150
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• ( 2 ) => ( 3 )( 2 ) => ( 3 )
– Il existe une coupe ( S , P ) avec des arcs retour seulement !Il existe une coupe ( S , P ) avec des arcs retour seulement !
ss pp. . .. . . . . .. . .
SS PP
14 mars 2006 Cours de graphes 4 - Intranet 151
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• ( 2 ) => ( 3 )( 2 ) => ( 3 )
– Il existe une coupe ( S , P ) avec des arcs retour seulement !Il existe une coupe ( S , P ) avec des arcs retour seulement !
– Dans le graphe G, il y a trois cas :Dans le graphe G, il y a trois cas :
ss pp. . .. . . . . .. . .
SS PP
14 mars 2006 Cours de graphes 4 - Intranet 152
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• ( 2 ) => ( 3 )( 2 ) => ( 3 )
– Il existe une coupe ( S , P ) avec des arcs retour seulement !Il existe une coupe ( S , P ) avec des arcs retour seulement !
– Dans le graphe G, il y a trois cas :Dans le graphe G, il y a trois cas :
ss pp. . .. . . . . .. . .
SS PP
ss pp. . .. . . . . .. . .
SS PP
uu vv
uu vv
r ( u , v ) = 0r ( u , v ) = 0et doncet donc
f ( u , v ) = c ( u , v )f ( u , v ) = c ( u , v )
14 mars 2006 Cours de graphes 4 - Intranet 153
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• ( 2 ) => ( 3 )( 2 ) => ( 3 )
– Il existe une coupe ( S , P ) avec des arcs retour seulement !Il existe une coupe ( S , P ) avec des arcs retour seulement !
– Dans le graphe G, il y a trois cas :Dans le graphe G, il y a trois cas :
ss pp. . .. . . . . .. . .
SS PP
ss pp. . .. . . . . .. . .
SS PP
uu vv
uu vv
r ( u , v ) = 0r ( u , v ) = 0et doncet donc
f ( u , v ) = c ( u , v )f ( u , v ) = c ( u , v )
xx yy
xx yy
r ( x , y ) = 0r ( x , y ) = 0et doncet donc
f ( y , x ) = 0f ( y , x ) = 0
14 mars 2006 Cours de graphes 4 - Intranet 154
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• ( 2 ) => ( 3 )( 2 ) => ( 3 )
– Il existe une coupe ( S , P ) avec des arcs retour seulement !Il existe une coupe ( S , P ) avec des arcs retour seulement !
– Dans le graphe G, il y a trois cas :Dans le graphe G, il y a trois cas :
ss pp. . .. . . . . .. . .
SS PP
ss pp. . .. . . . . .. . .
SS PP
uu vv
uu vv
r ( u , v ) = 0r ( u , v ) = 0et doncet donc
f ( u , v ) = c ( u , v )f ( u , v ) = c ( u , v )
xx yy
xx yy
r ( x , y ) = 0r ( x , y ) = 0et doncet donc
f ( y , x ) = 0f ( y , x ) = 0
aa bb
aa bb
r ( a , b ) = 0r ( a , b ) = 0et doncet donc
f ( a , b ) = c ( a , b )f ( a , b ) = c ( a , b )
14 mars 2006 Cours de graphes 4 - Intranet 155
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• ( 2 ) => ( 3 )( 2 ) => ( 3 )
– Il existe une coupe ( S , P ) avec des arcs retour seulement !Il existe une coupe ( S , P ) avec des arcs retour seulement !
– Dans le graphe G, il y a trois cas :Dans le graphe G, il y a trois cas :
ss pp. . .. . . . . .. . .
SS PP
ss pp. . .. . . . . .. . .
SS PP
uu vv
uu vv
r ( u , v ) = 0r ( u , v ) = 0et doncet donc
f ( u , v ) = c ( u , v )f ( u , v ) = c ( u , v )
xx yy
xx yy
r ( x , y ) = 0r ( x , y ) = 0et doncet donc
f ( y , x ) = 0f ( y , x ) = 0
aa bb
aa bb
r ( a , b ) = 0r ( a , b ) = 0et doncet donc
f ( a , b ) = c ( a , b )f ( a , b ) = c ( a , b )
14 mars 2006 Cours de graphes 4 - Intranet 156
Théorème du Max-flow – Min-CutThéorème du Max-flow – Min-Cut----------------------------------------------------------------------------------------------------------------------------------
• Les trois conditions suivantes sont équivalentes :Les trois conditions suivantes sont équivalentes :
– ( 1 ) Le flot f est maximal !( 1 ) Le flot f est maximal !
– ( 2 ) Le graphe résiduel ne contient pas de chemin ( 2 ) Le graphe résiduel ne contient pas de chemin augmentant !augmentant !
– ( 3 ) Il existe une coupe ( S , P ) telle que f = c ( S , P ) ! ( 3 ) Il existe une coupe ( S , P ) telle que f = c ( S , P ) ! Cette coupe est minimale et saturée !Cette coupe est minimale et saturée !
14 mars 2006 Cours de graphes 4 - Intranet 157
ComplexitéComplexité----------------------------------------------------------------------------------------------------------------------------------
• Le calcul du graphe résiduel R et du chemin Le calcul du graphe résiduel R et du chemin augmentant est en augmentant est en ( | E | ) ! ( | E | ) !
• Le nombre d’itérations peut être aussi élevé que la Le nombre d’itérations peut être aussi élevé que la valeur du flot optimal f* !valeur du flot optimal f* !
14 mars 2006 Cours de graphes 4 - Intranet 158
ComplexitéComplexité----------------------------------------------------------------------------------------------------------------------------------
• Le calcul du graphe résiduel R et du chemin Le calcul du graphe résiduel R et du chemin augmentant est en augmentant est en ( | E | ) ! ( | E | ) !
• Le nombre d’itérations peut être aussi élevé que la Le nombre d’itérations peut être aussi élevé que la valeur du flot optimal f* !valeur du flot optimal f* !
0/10000/1000 0/10000/1000
0/10000/1000 0/10000/1000
0/10/1
Graphe !Graphe !
14 mars 2006 Cours de graphes 4 - Intranet 159
ComplexitéComplexité----------------------------------------------------------------------------------------------------------------------------------
• Le calcul du graphe résiduel R et du chemin Le calcul du graphe résiduel R et du chemin augmentant est en augmentant est en ( | E | ) ! ( | E | ) !
• Le nombre d’itérations peut être aussi élevé que la Le nombre d’itérations peut être aussi élevé que la valeur du flot optimal f* !valeur du flot optimal f* !
0/10000/1000 0/10000/1000
0/10000/1000 0/10000/1000
0/10/1
10001000 10001000
11
10001000 10001000
Graphe !Graphe ! Graphe résiduel !Graphe résiduel !
14 mars 2006 Cours de graphes 4 - Intranet 160
ComplexitéComplexité----------------------------------------------------------------------------------------------------------------------------------
• Le calcul du graphe résiduel R et du chemin Le calcul du graphe résiduel R et du chemin augmentant est en augmentant est en ( | E | ) ! ( | E | ) !
• Le nombre d’itérations peut être aussi élevé que la Le nombre d’itérations peut être aussi élevé que la valeur du flot optimal f* !valeur du flot optimal f* !
1/10001/1000 0/10000/1000
0/10000/1000 1/10001/1000
1/11/1
Nouveau graphe !Nouveau graphe !
14 mars 2006 Cours de graphes 4 - Intranet 161
ComplexitéComplexité----------------------------------------------------------------------------------------------------------------------------------
• Le calcul du graphe résiduel R et du chemin Le calcul du graphe résiduel R et du chemin augmentant est en augmentant est en ( | E | ) ! ( | E | ) !
• Le nombre d’itérations peut être aussi élevé que la Le nombre d’itérations peut être aussi élevé que la valeur du flot optimal f* !valeur du flot optimal f* !
1/10001/1000 0/10000/1000
0/10000/1000 1/10001/1000
1/11/1
Nouveau graphe !Nouveau graphe !
999999 10001000
11
10001000 999999
Nouveau graphe résiduel !Nouveau graphe résiduel !
1111
14 mars 2006 Cours de graphes 4 - Intranet 162
ComplexitéComplexité----------------------------------------------------------------------------------------------------------------------------------
• Le calcul du graphe résiduel R et du chemin Le calcul du graphe résiduel R et du chemin augmentant est en augmentant est en ( | E | ) ! ( | E | ) !
• Le nombre d’itérations peut être aussi élevé que la Le nombre d’itérations peut être aussi élevé que la valeur du flot optimal f* !valeur du flot optimal f* !
1/10001/1000 1/10001/1000
1/10001/1000 1/10001/1000
0/10/1
Re-nouveau graphe !Re-nouveau graphe !
14 mars 2006 Cours de graphes 4 - Intranet 163
ComplexitéComplexité----------------------------------------------------------------------------------------------------------------------------------
• Le calcul du graphe résiduel R et du chemin Le calcul du graphe résiduel R et du chemin augmentant est en augmentant est en ( | E | ) ! ( | E | ) !
• Le nombre d’itérations peut être aussi élevé que la Le nombre d’itérations peut être aussi élevé que la valeur du flot optimal f* !valeur du flot optimal f* !
1/10001/1000 1/10001/1000
1/10001/1000 1/10001/1000
0/10/1
Re-nouveau graphe !Re-nouveau graphe !
14 mars 2006 Cours de graphes 4 - Intranet 164
ComplexitéComplexité----------------------------------------------------------------------------------------------------------------------------------
• Nous améliorons l’algorithme en choisissant le Nous améliorons l’algorithme en choisissant le chemin augmentant le plus lourdchemin augmentant le plus lourd à chaque fois ! à chaque fois !
14 mars 2006 Cours de graphes 4 - Intranet 165
ComplexitéComplexité----------------------------------------------------------------------------------------------------------------------------------
• Nous améliorons l’algorithme en choisissant le Nous améliorons l’algorithme en choisissant le chemin augmentant le plus lourdchemin augmentant le plus lourd à chaque fois ! à chaque fois !
– C’est celui dont l’arc le plus léger est le plus lourd C’est celui dont l’arc le plus léger est le plus lourd possible !possible !
14 mars 2006 Cours de graphes 4 - Intranet 166
ComplexitéComplexité----------------------------------------------------------------------------------------------------------------------------------
• Nous améliorons l’algorithme en choisissant le Nous améliorons l’algorithme en choisissant le chemin augmentant le plus lourdchemin augmentant le plus lourd à chaque fois ! à chaque fois !
– C’est celui dont l’arc le plus léger est le plus lourd C’est celui dont l’arc le plus léger est le plus lourd possible !possible !
– Il est difficile d’établir une borne sur le nombre Il est difficile d’établir une borne sur le nombre d’itérations !d’itérations !
14 mars 2006 Cours de graphes 4 - Intranet 167
ComplexitéComplexité----------------------------------------------------------------------------------------------------------------------------------
• Nous améliorons l’algorithme en choisissant le Nous améliorons l’algorithme en choisissant le chemin augmentant le plus lourdchemin augmentant le plus lourd à chaque fois ! à chaque fois !
– C’est celui dont l’arc le plus léger est le plus lourd C’est celui dont l’arc le plus léger est le plus lourd possible !possible !
– Il est difficile d’établir une borne sur le nombre Il est difficile d’établir une borne sur le nombre d’itérations !d’itérations !
• L’algorithme d’Edmonds et Karp :L’algorithme d’Edmonds et Karp :
– choisit le chemin augmentant le plus court (nombre choisit le chemin augmentant le plus court (nombre d’arcs),d’arcs),
14 mars 2006 Cours de graphes 4 - Intranet 168
ComplexitéComplexité----------------------------------------------------------------------------------------------------------------------------------
• Nous améliorons l’algorithme en choisissant le Nous améliorons l’algorithme en choisissant le chemin chemin augmentant le plus lourdaugmentant le plus lourd à chaque fois ! à chaque fois !
– C’est celui dont l’arc le plus léger est le plus lourd C’est celui dont l’arc le plus léger est le plus lourd possible !possible !
– Il est difficile d’établir une borne sur le nombre Il est difficile d’établir une borne sur le nombre d’itérations !d’itérations !
• L’algorithme d’Edmonds et Karp :L’algorithme d’Edmonds et Karp :
– choisit le chemin augmentant le plus court (nombre choisit le chemin augmentant le plus court (nombre d’arcs),d’arcs),
– il utilise l’algorithme de la vague pour le trouver,il utilise l’algorithme de la vague pour le trouver,
14 mars 2006 Cours de graphes 4 - Intranet 169
ComplexitéComplexité----------------------------------------------------------------------------------------------------------------------------------
• Nous améliorons l’algorithme en choisissant le Nous améliorons l’algorithme en choisissant le chemin chemin augmentant le plus lourdaugmentant le plus lourd à chaque fois ! à chaque fois !
– C’est celui dont l’arc le plus léger est le plus lourd possible !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 !Il est difficile d’établir une borne sur le nombre d’itérations !
• L’algorithme d’Edmonds et Karp :L’algorithme d’Edmonds et Karp :
– choisit le chemin augmentant le plus court (nombre d’arcs),choisit le chemin augmentant le plus court (nombre d’arcs),
– il utilise l’algorithme de la vague pour le trouver,il utilise l’algorithme de la vague pour le trouver,
– et nécessite au plus O ( | V | * | E | ) itérations,et nécessite au plus O ( | V | * | E | ) itérations,
14 mars 2006 Cours de graphes 4 - Intranet 170
ComplexitéComplexité----------------------------------------------------------------------------------------------------------------------------------
• Nous améliorons l’algorithme en choisissant le Nous améliorons l’algorithme en choisissant le chemin chemin augmentant le plus lourdaugmentant le plus lourd à chaque fois ! à chaque fois !
– C’est celui dont l’arc le plus léger est le plus lourd possible !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 !Il est difficile d’établir une borne sur le nombre d’itérations !
• L’algorithme d’Edmonds et Karp :L’algorithme d’Edmonds et Karp :
– choisit le chemin augmentant le plus court (nombre d’arcs),choisit le chemin augmentant le plus court (nombre d’arcs),
– il utilise l’algorithme de la vague pour le trouver,il utilise l’algorithme de la vague pour le trouver,
– et nécessite au plus O ( | V | * | E | ) itérations,et nécessite au plus O ( | V | * | E | ) itérations,
– d’où une complexité globale de O ( | V | * | E |^2 ) = O ( | V |^5 ) .d’où une complexité globale de O ( | V | * | E |^2 ) = O ( | V |^5 ) .
14 mars 2006 Cours de graphes 4 - Intranet 171
ComplexitéComplexité----------------------------------------------------------------------------------------------------------------------------------
• L’idée derrière Edmonds-Karp :L’idée derrière Edmonds-Karp :
GrapheGrapherésiduel :résiduel :
ss pp. . .. . .. . .
14 mars 2006 Cours de graphes 4 - Intranet 172
ComplexitéComplexité----------------------------------------------------------------------------------------------------------------------------------
• L’idée derrière Edmonds-Karp :L’idée derrière Edmonds-Karp :
GrapheGrapherésiduel :résiduel :
ss pp
Le cheminLe cheminaugmentant !augmentant !
. . .. . .
14 mars 2006 Cours de graphes 4 - Intranet 173
ComplexitéComplexité----------------------------------------------------------------------------------------------------------------------------------
• L’idée derrière Edmonds-Karp :L’idée derrière Edmonds-Karp :
GrapheGrapherésiduel :résiduel :
ss pp
Le cheminLe cheminaugmentant !augmentant !
Certains arcsCertains arcsde retour !de retour !
. . .. . .
14 mars 2006 Cours de graphes 4 - Intranet 174
ComplexitéComplexité----------------------------------------------------------------------------------------------------------------------------------
• L’idée derrière Edmonds-Karp :L’idée derrière Edmonds-Karp :
GrapheGrapherésiduel :résiduel :
NouveauNouveaugraphegrapherésiduel :résiduel :
ss pp
Le cheminLe cheminaugmentant !augmentant !
Certains arcsCertains arcsde retour !de retour !
ss pp
Certains arcsCertains arcsaller !aller !
Tous les arcsTous les arcsde retour !de retour !
. . .. . .
. . .. . .
14 mars 2006 Cours de graphes 4 - Intranet 175
ComplexitéComplexité----------------------------------------------------------------------------------------------------------------------------------
• L’idée derrière Edmonds-Karp :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 plus en plus de chemins de retour de « p » vers « s » !
GrapheGrapherésiduel :résiduel :
NouveauNouveaugraphegrapherésiduel :résiduel :
ss pp
Le cheminLe cheminaugmentant !augmentant !
Certains arcsCertains arcsde retour !de retour !
ss pp
Certains arcsCertains arcsaller !aller !
Tous les arcsTous les arcsde retour !de retour !
. . .. . .
. . .. . .
14 mars 2006 Cours de graphes 4 - Intranet 176
ComplexitéComplexité----------------------------------------------------------------------------------------------------------------------------------
• L’idée derrière Edmonds-Karp :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 plus en plus de chemins de retour de « p » vers « s » !– Il y a de moins en moins de chemins de « s » vers « p » !Il y a de moins en moins de chemins de « s » vers « p » !
GrapheGrapherésiduel :résiduel :
NouveauNouveaugraphegrapherésiduel :résiduel :
ss pp
Le cheminLe cheminaugmentant !augmentant !
Certains arcsCertains arcsde retour !de retour !
ss pp
Certains arcsCertains arcsaller !aller !
Tous les arcsTous les arcsde retour !de retour !
. . .. . .
. . .. . .
14 mars 2006 Cours de graphes 4 - Intranet 177
ComplexitéComplexité----------------------------------------------------------------------------------------------------------------------------------
• L’idée derrière Edmonds-Karp :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 plus en plus de chemins de retour de « p » vers « s » !– Il y a de moins en moins de chemins de « s » vers « p » !Il y a de moins en moins de chemins de « s » vers « p » !– Les chemins augmentants deviennent de plus en plus long !Les chemins augmentants deviennent de plus en plus long !– Commençons donc par nous intéresser à ceux qui sont courts !Commençons donc par nous intéresser à ceux qui sont courts !
GrapheGrapherésiduel :résiduel :
NouveauNouveaugraphegrapherésiduel :résiduel :
ss pp
Le cheminLe cheminaugmentant !augmentant !
Certains arcsCertains arcsde retour !de retour !
ss pp
Certains arcsCertains arcsaller !aller !
Tous les arcsTous les arcsde retour !de retour !
. . .. . .
. . .. . .
14 mars 2006 Cours de graphes 4 - Intranet 178
mm
11
VariantesVariantes----------------------------------------------------------------------------------------------------------------------------------
• Réseau de flot multi-sources, multi-puits :Réseau de flot multi-sources, multi-puits :
ss11
ssnn
pp
pp
14 mars 2006 Cours de graphes 4 - Intranet 179
mm
11
VariantesVariantes----------------------------------------------------------------------------------------------------------------------------------
• Réseau de flot multi-sources, multi-puits :Réseau de flot multi-sources, multi-puits :
ss11
ssnn
pp
pp
SS PP Avec des capacitésAvec des capacitésassez grandes pourassez grandes pour
les arcs rouges !les arcs rouges !
14 mars 2006 Cours de graphes 4 - Intranet 180
mm
11
VariantesVariantes----------------------------------------------------------------------------------------------------------------------------------
• Réseau de flot multi-sources, multi-puits :Réseau de flot multi-sources, multi-puits :
• Ce n’est plus le même problème, si s doit envoyer à p Ce n’est plus le même problème, si s doit envoyer à p ! !
ss11
ssnn
pp
pp
SS PP Avec des capacitésAvec des capacitésassez grandes pourassez grandes pour
les arcs rouges !les arcs rouges !
ii ii
14 mars 2006 Cours de graphes 4 - Intranet 181
mm
11
VariantesVariantes----------------------------------------------------------------------------------------------------------------------------------
• Réseau de flot multi-sources, multi-puits :Réseau de flot multi-sources, multi-puits :
• Ce n’est plus le même problème, si s doit envoyer à p Ce n’est plus le même problème, si s doit envoyer à p ! !
ss11
ssnn
pp
pp
SS PP Avec des capacitésAvec des capacitésassez grandes pourassez grandes pour
les arcs rouges !les arcs rouges !
ii ii
nn
ss11
ssnn
pp
pp
11
14 mars 2006 Cours de graphes 4 - Intranet 182
SynthèseSynthèse----------------------------------------------------------------------------------------------------------------------------------
• Problèmes de flots.Problèmes de flots.
• Théorème du Max-flow – Min-cut.Théorème du Max-flow – Min-cut.
• Algos de Ford-Fulkerson et Edmonds-Algos de Ford-Fulkerson et Edmonds-Karp.Karp.
• Applications.Applications.
14 mars 2006 Cours de graphes 4 - Intranet 183
‘‘
top related