23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du...

73
23 février 2007 Cours de graphes 4 - Intranet 1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp. Applications.

Transcript of 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du...

Page 1: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 1

Cours de graphes

Problèmes de flots.

Théorème du Max-flow – Min-cut.

Algos de Ford-Fulkerson et Edmonds-Karp.

Applications.

Page 2: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 2

Les grandes lignes du cours

• Définitions de base• Connexité• Les plus courts chemins• Dijkstra et Bellmann-Ford• Arbres• Arbres de recouvrement minimaux • Problèmes de flots• Coloriage de graphes• Couplage• Chemins d’Euler et de Hamilton• Problèmes NP-complets

Page 3: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 3

Les graphes de flots-----------------------------------------------------------------

I N T R O D U C T I O N

Page 4: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 4

Les graphes de flots-----------------------------------------------------------------

• Un graphe de flot est :

– un graphe orienté; les arcs portent des capacités (poids),

– qui possède deux sommets particuliers qui sont la « source s » et le « puits p ».

Page 5: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 5

Les graphes de flots-----------------------------------------------------------------

• Un graphe de flot est :

– un graphe orienté; les arcs portent des capacités (poids),

– qui possède deux sommets particuliers qui sont la « source s » et le « puits p ».

• On a en plus :

– Le graphe est quasi-fortement connexe avec « s » comme unique racine !

– Si nous inversons tous les arcs, le graphe est quasi-fortement connexe avec « p » comme unique racine !

– Donc, tout sommet « u » appartient à un chemin simple orienté qui relie « s » à « p » en passant par « u » , ( s ; u ; p ) !

Page 6: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 6

Les graphes de flots-----------------------------------------------------------------

Exemple :

20

1010

1015

17

5

15

10

8

20Source « s »

Uniquementdes arcssortants !

Les capacités !

Tous les autres sommetspeuvent être atteints !

Page 7: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 7

10

Les graphes de flots-----------------------------------------------------------------

Exemple :

20

10

1015

17

5

15

10

8

20Source « s » Puits « p »

Uniquementdes arcs

entrants !

Les capacités !

Depuis tout autre sommetnous pouvons atteindre p !

Page 8: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 8

Les graphes de flots-----------------------------------------------------------------

Exemple :

20

1010

1015

17

5

15

10

8

20Source « s » Puits « p »

Tout sommet « u » appartient à unchemin simple de « s » vers « p » !

u

Les capacités !

Page 9: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 9

Les graphes de flots-----------------------------------------------------------------

• La dynamique :

– La source produit ( des m^3 d’eau, des kWh ), elle est la seule à produire !

– Le puits consomme, il est le seul à le faire !

– Les autres sommets transmettent, sans produire, ni consommer !

Page 10: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 10

Les graphes de flots-----------------------------------------------------------------

• La dynamique :

– La source produit ( des m^3 d’eau, des kWh ), elle est la seule à produire !

– Le puits consomme, il est le seul à le faire !

– Les autres sommets transmettent, sans produire, ni consommer !

• Un peu de discipline :

– Sur chaque arc le flot est compris entre zéro et la capacité de l’arc !

– Représentation : flot / capacité

Page 11: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 11

Les graphes de flots-----------------------------------------------------------------

Exemple :

10 / 20

0 / 105 / 10

7 / 107 / 15

5 / 17

4 / 5

0 / 15

5 / 10

8 / 8

13 / 20Source « s » Puits « p »

flot / capacité

Toutes contraintes sur lescapacités sont respectées ! ! !

Page 12: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 12

Les graphes de flots-----------------------------------------------------------------

Exemple :

10 / 20

0 / 10

7 / 107 / 15

5 / 17

4 / 5

0 / 15

5 / 10

8 / 8

13 / 20Source « s » Puits « p »

flot / capacité

Les intermédiaires redistribuentexactement ce qu’ils reçoivent !

5 / 10

10 en entrée !

10 en sortie !

Page 13: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 13

Les graphes de flots-----------------------------------------------------------------

Exemple :

10 / 20

0 / 105 / 10

7 / 107 / 15

5 / 17

4 / 5

0 / 15

5 / 10

8 / 8

13 / 20Source « s » Puits « p »

flot / capacité

Il sort 17 unités de la source « s », il entre 17 unitésdans le puits « p », c’est ce que nous appellerons le flot !

Page 14: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 14

Les graphes de flots-----------------------------------------------------------------

Exemple :

10 / 20

0 / 105 / 10

7 / 107 / 15

5 / 17

4 / 5

0 / 15

5 / 10

8 / 8

13 / 20Source « s » Puits « p »

flot / capacitéOUI : + 5

Page 15: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 15

Les graphes de flots-----------------------------------------------------------------

Exemple :

15 / 20

0 / 105 / 10

7 / 107 / 15

5 / 17

4 / 5

0 / 15

10 / 10

8 / 8

18 / 20Source « s » Puits « p »

flot / capacité

Le flot est de 22 unités !

Page 16: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 16

Les graphes de flots-----------------------------------------------------------------

Exemple :

15 / 20

0 / 105 / 10

7 / 107 / 15

5 / 17

4 / 5

0 / 15

10 / 10

8 / 8

18 / 20Source « s » Puits « p »

flot / capacitéOUI : + 1

Page 17: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 17

Les graphes de flots-----------------------------------------------------------------

Exemple :

15 / 20

1 / 105 / 10

7 / 107 / 15

6 / 17

5 / 5

0 / 15

10 / 10

8 / 8

18 / 20Source « s » Puits « p »

flot / capacité

Le flot est de 23 unités !Voici une « coupe ».

Page 18: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 18

Les graphes de flots-----------------------------------------------------------------

Exemple :

15 / 20

1 / 105 / 10

7 / 107 / 15

6 / 17

5 / 5

0 / 15

10 / 10

8 / 8

18 / 20Source « s » Puits « p »

flot / capacité

Le flot est de 23 unités !

Page 19: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 19

• Pour un graphe de flot, nous voulons connaître :

– Le flot maximal :

• pour prévoir les investissements,

• pour connaître la marge de sécurité, c’est-à-dire la différence entre le flot normal et le flot maximal !

– La coupe minimale :

• pour localiser le goulot d’étranglement,

• pour orienter les investissements !

Les graphes de flots-----------------------------------------------------------------

Page 20: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 20

Application-----------------------------------------------------------------

U N E

A P P L I C A T I O N

Page 21: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 21

Application-----------------------------------------------------------------

• La SNCF étudie son réseau ferré de la région parisienne :

– Nous connaissons les capacités des gares de Paris !

– Nous connaissons le réseau et ses capacités !

– Nous connaissons les capacités des gares de banlieue !

Page 22: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 22

Application-----------------------------------------------------------------

Lyon

Austerlitz

Lazare

Est

Nord

Versailles

Evry

Marne la Vallée

Saint-Denis

S

50

40

Les capacités d’accueildes différentes gares !

P

20

25

Les capacités d’accueildes différentes gares !

17

23

Les ligneset leurs

capacités !

Page 23: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 23

Application-----------------------------------------------------------------

Le flot maximal sur ce graphe donne

le nombre maximal de voyageurs que

la SNCF peut prendre en charge,

. . . pour peu qu’il y ait assez de

trains dans chaque gare de départ!

Page 24: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 24

Application-----------------------------------------------------------------

• La SNCF étudie son réseau ferré de la région parisienne :

– Nous connaissons les capacités des gares de Paris !

– Nous connaissons le réseau et ses capacités !

– Nous connaissons les capacités des gares de banlieue !

– Nous limitons les capacités des trains dans les gares !

Page 25: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 25

Application-----------------------------------------------------------------

Lyon

Austerlitz

Lazare

Est

Nord

Versailles

Evry

Marne la Vallée

Saint-Denis

S

50

40

Les capacités d’accueildes différentes gares !

P

20

25

Les capacités d’accueildes différentes gares !

17

23

Les ligneset leurs

capacités !

23

25

Capacités de trains en gares, au départ !

Page 26: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 26

Application-----------------------------------------------------------------

• La SNCF étudie son réseau ferré de la région parisienne :

– Nous connaissons les capacités des gares de Paris !

– Nous connaissons le réseau et ses capacités !

– Nous connaissons les capacités des gares de banlieue !

– Nous limitons les capacités des trains dans les gares !

– Nous levons cette limitation pour certaines gares !

– Nous limitons la capacité globale de tous les trains !

Page 27: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 27

Application-----------------------------------------------------------------

Lyon

Austerlitz

Lazare

Est

Nord

Versailles

Evry

Marne la Vallée

Saint-Denis

S

50

40

Les capacités d’accueildes différentes gares !

P

20

25

Les capacités d’accueildes différentes gares !

17

23

Les ligneset leurs

capacités !

25

Capacités de trains en gares, au départ !

250

Limitationglobaleen trains !

23

Page 28: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 28

Application-----------------------------------------------------------------

Le flot maximal sur ce graphe donne

le nombre maximal de voyageurs que la SNCF

peut prendre en charge, en tenant compte de

- de la capacité totale des trains,- de la capacité totale des trains par gare de départ,- des capacités des gares et- des capacités des lignes.

. . . pour peu que les gares d’arrivée puissentaccueillir tous les trains !

Page 29: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 29

Application-----------------------------------------------------------------

Lyon

Austerlitz

Lazare

Est

Nord

Versailles

Evry

Marne la Vallée

Saint-Denis

S

50

40

Les capacités d’accueildes différentes gares !

P

20

25

Les capacités d’accueildes différentes gares !

17

23

Les ligneset leurs

capacités !

25

Capacités de trains en gares !

250

Limitationglobaleen trains !

23

Page 30: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 30

Application-----------------------------------------------------------------

Lyon

Austerlitz

Lazare

Est

Nord

Versailles

Evry

Marne la Vallée

Saint-Denis

S

50

40

Les capacités d’accueildes différentes gares !

P

20

25

Les capacités d’accueildes différentes gares !

17

23

Les ligneset leurs

capacités !

25

Capacités de trains en gares !

250

Limitationglobaleen trains !

23

Page 31: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 31

Application-----------------------------------------------------------------

Lyon

Austerlitz

Lazare

Est

Nord

Versailles

Evry

Marne la Vallée

Saint-Denis

S

50

40

Les capacités d’accueildes différentes gares !

P

20

25

Les capacités d’accueildes différentes gares !

17

23

Les ligneset leurs

capacités !

25

Capacités de trains en gares !

250

Limitationglobaleen trains !

23

Page 32: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 32

Application-----------------------------------------------------------------

Lyon

Austerlitz

Lazare

Est

Nord

Versailles

Evry

Marne la Vallée

Saint-Denis

S

50

40

Les capacités d’accueildes différentes gares !

P

20

25

Les capacités d’accueildes différentes gares !

17

23

Les ligneset leurs

capacités !

25

Capacités de trains en gares !

250

Limitationglobaleen trains !

23

Page 33: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 33

Définitions-----------------------------------------------------------------

L E S

D E F I N I T I O N S

D E

B A S E

Page 34: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 34

• La représentation :

– Les capacités : c : V x V -> R+

– Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 !

– Les flots : f : V x V -> R ( flots négatifs ! )

– f ( u , v ) >= 0 , si le flot va de « u » vers « v » ,– f ( u , v ) <= 0 , si le flot va de « v » vers « u » !

• Les contraintes :

– f ( u , v ) <= c ( u , v )

I

I

Définitions-----------------------------------------------------------------

Nous respectons leslimites des capacités !

Page 35: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 35

• La représentation :

– Les capacités : c : V x V -> R+

– Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 !

– Les flots : f : V x V -> R ( flots négatifs ! )

– f ( u , v ) >= 0 , si le flot va de « u » vers « v » ,– f ( u , v ) <= 0 , si le flot va de « v » vers « u » !

• Les contraintes :

– f ( u , v ) <= c ( u , v )

– f ( u , v ) = - f ( v , u )

I

I

Définitions-----------------------------------------------------------------

Au signe près, le flot est lemême dans un sens ou l’autre !

Page 36: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 36

• La représentation :

– Les capacités : c : V x V -> R+

– Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 !

– Les flots : f : V x V -> R ( flots négatifs ! )

– f ( u , v ) >= 0 , si le flot va de « u » vers « v » ,– f ( u , v ) <= 0 , si le flot va de « v » vers « u » !

• Les contraintes :

– f ( u , v ) <= c ( u , v )

– f ( u , v ) = - f ( v , u )

– S f ( u , v ) = 0 , si u est différent de s et de p .

I

v e V

I

Définitions-----------------------------------------------------------------

Mis à part s et p , aucunsommet ne consomme oune produit !

Page 37: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 37

• La représentation :

– Les capacités : c : V x V -> R+

– Si ( u , v ) n’existe pas, alors c ( u , v ) = 0 !

– Les flots : f : V x V -> R ( flots négatifs ! )

– f ( u , v ) >= 0 , si le flot va de « u » vers « v » ,– f ( u , v ) <= 0 , si le flot va de « v » vers « u » !

• Les contraintes :

– f ( u , v ) <= c ( u , v )

– f ( u , v ) = - f ( v , u )

– S f ( u , v ) = 0 , si u est différent de s et de p .

I

v e V

I

Définitions-----------------------------------------------------------------

Page 38: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 38

Ford et Fulkerson-----------------------------------------------------------------

F O R D & F U L K E R S O N

U N

A L G O R I T H M E

G E N E R I Q U E

Page 39: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 39

Ford et Fulkerson-----------------------------------------------------------------

Initialiser le flot à 0

Tantqu’il existe un chemin augmentant

Augmenter le flot le long du chemin en question !

Page 40: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 40

Ford et Fulkerson-----------------------------------------------------------------

• Comment changer le flot ?

• D’abord :

• Donc :

u vf ( u , v )

c ( u , v )

c ( v , u )

f ( u , v ) = - f ( v , u )

f ( u , v ) <= c ( u , v )

- f ( u , v ) = f ( v , u ) <= c ( v , u )

- c ( v , u ) <= f ( u , v ) <= c ( u , v )

Page 41: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 41

Ford et Fulkerson-----------------------------------------------------------------

• Comment changer le flot ?

• Ensuite :

– Le flot « f ( u , v ) » est le flot dans l’arc ( u , v ) diminué du flot dans l’arc ( v , u ) !

u vf ( u , v )

c ( u , v )

c ( v , u )

f ( u , v ) = - f ( v , u )

u v+ 2

3 / 5

1 / 4u v- 1

2 / 5

3 / 4

Page 42: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 42

Ford et Fulkerson-----------------------------------------------------------------

• Comment changer le flot ?

– Le flot dans l’arc ( u , v ) est porté au maximum !

– Le flot dans l’arc ( v , u ) est ramené à zéro !

u vf ( u , v )

c ( u , v )

c ( v , u )

f ( u , v ) = - f ( v , u )

u v+ 5

5 / 5

0 / 4

Page 43: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 43

Ford et Fulkerson-----------------------------------------------------------------

• Comment changer le flot ?

– Le flot dans l’arc ( v , u ) est porté au maximum !

– Le flot dans l’arc ( u , v ) est ramené à zéro !

u vf ( u , v )

c ( u , v )

c ( v , u )

f ( u , v ) = - f ( v , u )

u v- 4

0 / 5

4 / 4v u+ 4

0 / 5

4 / 4

Page 44: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 44

Ford et Fulkerson-----------------------------------------------------------------

• Comment changer le flot ?

r ( u , v ) = c ( u , v ) - f ( u , v )

le flot maximal le flot déjà acquis

u vf ( u , v )

c ( u , v )

c ( v , u )

f ( u , v ) = - f ( v , u )

Page 45: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 45

Ford et Fulkerson-----------------------------------------------------------------

• Comment changer le flot ?

r ( u , v ) = c ( u , v ) - f ( u , v )

u vf ( u , v )

c ( u , v )

c ( v , u )

f ( u , v ) = - f ( v , u )

u v+ 2

3 / 5

1 / 4

r ( u , v ) = 5 – 2 = 3

r ( v , u ) = 4 – (– 2) = 6

Page 46: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 46

Ford et Fulkerson-----------------------------------------------------------------

• Comment changer le flot ?

r ( u , v ) = c ( u , v ) - f ( u , v )

u vf ( u , v )

c ( u , v )

c ( v , u )

f ( u , v ) = - f ( v , u )

u v- 2

3 / 5

1 / 4

r ( u , v ) = 5 – 2 = 3

r ( v , u ) = 4 – (– 2) = 6

Page 47: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 47

Ford et Fulkerson-----------------------------------------------------------------

L E

G R A P H E

R E S I D U E L

Page 48: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 48

Ford et Fulkerson-----------------------------------------------------------------

• Le graphe résiduel R :

– Il a les mêmes sommets que le graphe de flot G !

– Il possède un arc ( u , v ) si la capacité résiduelle r ( u , v ) dans le graphe G est strictement positive !

– L’arc en question est pondéré par la capacité résiduelle !

• Un chemin augmentant est un chemin de « s » vers « p » dans le graphe résiduel R !

• Le poids du chemin augmentant est le poids de l’arc le plus léger du chemin !

Page 49: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 49

Ford et Fulkerson-----------------------------------------------------------------

U N

E X E M P L E

Page 50: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 50

Ford et Fulkerson-----------------------------------------------------------------

• Un exemple :

s p

u

v

Le graphe G !

1/4

2/6 3/3

0/3

s p

u

v

Constructiondu graphe R !

3

1

r ( s , u ) =c ( s , u ) - f ( s , u )= 4 – 1 = 3

r ( u , s ) =c ( u , s ) - f ( u , s )= c ( u , s ) + f ( s , u )= 0 + 1 = 1

2/3 1/2

Page 51: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 51

Ford et Fulkerson-----------------------------------------------------------------

• Un exemple :

s p

u

v

Le graphe G !

1/4

2/6 3/3

0/3

s p

u

v

Le graphe R !

3

1

42

3

3

2 3

2/3 1/2

f( u , v ) = 2 – 1 = 1

r ( u , v ) =c ( u , v ) - f ( u , v )= 3 – 1 = 2

r ( v , u ) =c ( v , u ) - f ( v , u )= c ( v , u ) + f ( u , v )= 2 + 1 = 3

Page 52: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 52

Ford et Fulkerson-----------------------------------------------------------------

• Un exemple :

s p

u

v

Le nouveaugraphe G !

1/4

2/6 3/3

0/3

s p

u

v

Le graphe R !

3

1

42

3

3

2 3Un cheminaugmentantde poids 3 !

+3

+3

+1-22/3 1/2

Page 53: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 53

Ford et Fulkerson-----------------------------------------------------------------

• Pour changer le flot :

4 / 7

+2devient

6 / 7

4 / 7

+2devient

2 / 7

4 / 7

+2

devient

2 / 5

5 / 7

1 / 5

ou4 / 7

0 / 5

ou . . .

Page 54: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 54

Ford et Fulkerson-----------------------------------------------------------------

• Un exemple :

s p

u

v

1/4

5/6 3/3

3/3

s p

u

v

Constructiondu graphe R !

3

1

3

Le nouveaugraphe G !

Ceci estconservé !

0/3 2/2

Page 55: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 55

Ford et Fulkerson-----------------------------------------------------------------

• Un exemple :

s p

u

v

1/4

5/6 3/3

3/3

s p

u

v

Le graphe R !

3

1

3

Le nouveaugraphe G !

15

5

3

0/3 2/2

Page 56: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 56

Théorème du Max-flow – Min-Cut-----------------------------------------------------------------

L ET H E O R E M E

D UF L O T M A X I M A

LE T D E

L A C O U P EM I N I M A L E

Page 57: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 57

Théorème du Max-flow – Min-Cut-----------------------------------------------------------------

• Une coupe ( S , P ) ( cut en anglais ) :

• Nous partitionnons les sommets du graphe pour

– obtenir une partie S quasi-fortement connexe de racine s ,

– et une partie P quasi-fortement connexe de racine p , si

nous inversons les arcs.

s p. . . . . .

S P

Page 58: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 58

Théorème du Max-flow – Min-Cut-----------------------------------------------------------------

• Le flot à travers une coupe ( S , P ) : f ( S , P )

f ( S , P ) = S f ( u , v )

• Dans le sens S vers P , nous comptons en positif !

• Dans le sens P vers S , nous comptons en négatif !

s p. . . . . .

S P

u e Sv e P4 / …

2 / …

3 / …

Page 59: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 59

Théorème du Max-flow – Min-Cut-----------------------------------------------------------------

• Le flot à travers une coupe ( S , P ) : f ( S , P )

f ( S , P ) = S f ( u , v ) = 4 + 2 - 3

s p. . . . . .

S P

u e Sv e P

S’’ P’’S’ P’

4 / …

2 / …

- 3 / …

Page 60: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 60

Théorème du Max-flow – Min-Cut-----------------------------------------------------------------

• La capacité d’une coupe ( S , P ) : c ( S , P )

c ( S , P ) = S c ( u , v ) = 4 + 2

• Dans le sens S vers P , nous considérons l’arc !

• Dans le sens P vers S , nous ignorons l’arc !

s p. . . . . .

S P

u e Sv e P… / 4

… / 2

… / 3

Page 61: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 61

Théorème du Max-flow – Min-Cut-----------------------------------------------------------------

• Pour toute coupe ( S , P ) , nous avons :

f ( S , P ) <= c ( S , P )

f ( S , P ) = 4 + 2 – 3 <= 4 + 2 <= 7 + 5 = c ( S , P )

f ( S , P ) = S f ( u , v ) <= S f ( u , v ) <= S c ( u , v ) = c ( S , P )

u e S , v e P u e S , v e P u e S , v e P f ( u , v ) >= 0

s p. . . . . .

S P

4 / 7

2 / 5

3 / 4

Page 62: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 62

Théorème du Max-flow – Min-Cut-----------------------------------------------------------------

• Pour le flot f à travers un graphe G, nous avons :

– f = f ( S , P ) , quelque soit la coupe ( S , P ) !

– Or, pour toute coupe ( S , P ) , nous avons f ( S , P ) <= c ( S , P ) !

– Donc, 0 <= f <= min c ( S , P ) coupes ( S , P )

s p

…/7

…/3…/7

…/5

…/1

…/8

f <= 10

f <= 6

Page 63: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 63

Théorème du Max-flow – Min-Cut-----------------------------------------------------------------

• Les trois conditions suivantes sont équivalentes :

– ( 1 ) Le flot f est maximal !

– ( 2 ) Le graphe résiduel ne contient pas de chemin augmentant !

– ( 3 ) Il existe une coupe ( S , P ) telle que f = c ( S , P ) ! Cette coupe est minimale et saturée !

• ( 1 ) => ( 2 )

– Par absurde ! S’il y avait un chemin augmentant, le flot ne serait pas maximal.

• ( 3 ) => ( 1 )

– Comme il existe ( S , P ) telle que f = c ( S , P ) , nous avons c ( S , P ) = f <= min c ( S , P ) ! f est donc maximal et égal une coupe. coupes ( S , P )

Page 64: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 64

Théorème du Max-flow – Min-Cut-----------------------------------------------------------------

• ( 2 ) => ( 3 )

– Il existe une coupe ( S , P ) avec des arcs retour seulement !

– Dans le graphe G, il y a trois cas :

s p. . . . . .

S P

s p. . . . . .

S P

u v

u v

r ( u , v ) = 0et donc

f ( u , v ) = c ( u , v )

x y

x y

r ( x , y ) = 0et donc

f ( y , x ) = 0

a b

a b

r ( a , b ) = 0et donc

f ( a , b ) = c ( a , b )

Page 65: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 65

Théorème du Max-flow – Min-Cut-----------------------------------------------------------------

• Les trois conditions suivantes sont équivalentes :

– ( 1 ) Le flot f est maximal !

– ( 2 ) Le graphe résiduel ne contient pas de chemin augmentant !

– ( 3 ) Il existe une coupe ( S , P ) telle que f = c ( S , P ) ! Cette coupe est minimale et saturée !

Page 66: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 66

Complexité-----------------------------------------------------------------

• Le calcul du graphe résiduel R et du chemin augmentant est en Q ( | E | ) !

• Le nombre d’itérations peut être aussi élevé que la valeur du flot optimal f* !

0/1000 0/1000

0/1000 0/1000

0/1

1000 1000

1

1000 1000

Graphe ! Graphe résiduel !

Page 67: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 67

Complexité-----------------------------------------------------------------

• Le calcul du graphe résiduel R et du chemin augmentant est en Q ( | E | ) !

• Le nombre d’itérations peut être aussi élevé que la valeur du flot optimal f* !

1/1000 0/1000

0/1000 1/1000

1/1

Nouveau graphe !

999 1000

1

1000 999

Nouveau graphe résiduel !

11

Page 68: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 68

Complexité-----------------------------------------------------------------

• Le calcul du graphe résiduel R et du chemin augmentant est en Q ( | E | ) !

• Le nombre d’itérations peut être aussi élevé que la valeur du flot optimal f* !

1/1000 1/1000

1/1000 1/1000

0/1

Re-nouveau graphe !

Page 69: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 69

Complexité-----------------------------------------------------------------

• Nous améliorons l’algorithme en choisissant le chemin augmentant le plus lourd à chaque fois !

– C’est celui dont l’arc le plus léger est le plus lourd possible !

– Il est difficile d’établir une borne sur le nombre d’itérations !

• L’algorithme d’Edmonds et Karp :

– choisit le chemin augmentant le plus court (nombre d’arcs),

– il utilise l’algorithme de la vague pour le trouver,

– et nécessite au plus O ( | V | * | E | ) itérations,

– d’où une complexité globale de O ( | V | * | E |^2 ) = O ( | V |^5 ) .

Page 70: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 70

Complexité-----------------------------------------------------------------

• L’idée derrière Edmonds-Karp :

– Il y a de plus en plus de chemins de retour de « p » vers « s » !

– Il y a de moins en moins de chemins de « s » vers « p » !– Les chemins augmentants deviennent de plus en plus long !– Commençons donc par nous intéresser à ceux qui sont

courts !

Grapherésiduel :

Nouveaugrapherésiduel :

s p

Le cheminaugmentant !

Certains arcsde retour !

s p

Certains arcsaller !

Tous les arcsde retour !

. . .

. . .

Page 71: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 71

V A R I A N T E S

Variantes-----------------------------------------------------------------

Page 72: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 72

m

1

Variantes-----------------------------------------------------------------

• Réseau de flot multi-sources, multi-puits :

• Ce n’est plus le même problème, si s doit envoyer à p !

s1

sn

p

p

S P Avec des capacitésassez grandes pour

les arcs rouges !

i i

n

s1

sn

p

p

1 Ensuite, nous pouvonsfaire dépendre la capacitéde la couleur (encoreappelé multi-capacités) !

Page 73: 23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.

23 février 2007 Cours de graphes 4 - Intranet 73

Synthèse-----------------------------------------------------------------

• Problèmes de flots.

• Théorème du Max-flow – Min-cut.

• Algos de Ford-Fulkerson et Edmonds-Karp.

• Applications.