14 mars 2006Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du...

Preview:

Citation preview

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

‘‘

Recommended