• Aucun résultat trouvé

Flots et applications (1) Algorithmique des graphes Anthony Labarre 6 avril 2020

N/A
N/A
Protected

Academic year: 2022

Partager "Flots et applications (1) Algorithmique des graphes Anthony Labarre 6 avril 2020"

Copied!
92
0
0

Texte intégral

(1)

Flots et applications (1)

Algorithmique des graphes

Anthony Labarre

6 avril 2020

(2)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Motivations

I On dispose de sources fabriquant divers produits ;

I On veut acheminer ces ressources vers des puits;

I On doit emprunter un r´eseau de transport dont les capacit´es sont limit´ees ;

I On veut maximiser la quantit´e de ressources achemin´ees dans le r´eseau ;

s1

s2

... sk

t1

t2

... tp

r´eseau

(3)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Motivations

I On dispose de sources fabriquant divers produits ; I On veut acheminer ces ressources vers des puits;

I On doit emprunter un r´eseau de transport dont les capacit´es sont limit´ees ;

I On veut maximiser la quantit´e de ressources achemin´ees dans le r´eseau ;

s1

s2

... sk

t1

t2

... tp

r´eseau

(4)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Motivations

I On dispose de sources fabriquant divers produits ; I On veut acheminer ces ressources vers des puits;

I On doit emprunter un r´eseau de transport dont les capacit´es sont limit´ees ;

I On veut maximiser la quantit´e de ressources achemin´ees dans le r´eseau ;

s1

s2

... sk

t1

t2

... tp

r´eseau

(5)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Motivations

I On dispose de sources fabriquant divers produits ; I On veut acheminer ces ressources vers des puits;

I On doit emprunter un r´eseau de transport dont les capacit´es sont limit´ees ;

I On veut maximiser la quantit´e de ressources achemin´ees dans le r´eseau ;

s1

s2

... sk

t1

t2

... tp

r´eseau

(6)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Applications

I Le probl`eme de flot maximum a des applications directes : I acheminement de produits vers des destinations en maximisant

la quantit´e, le profit, . . .

I optimisation du trafic routier (cf. Waze) ;

I ... et un peu moins directes, d´evelopp´ees plus loin : I calcul de chemins disjoints ;

I calcul de couplages dans un graphe biparti ;

(7)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

R´ eseaux de flot

Uneseau de flotest un graphe orient´e et pond´er´eG = (V,A,c) dont chaque arc (u,v) poss`ede unecapacit´e c(u,v)0, avec :

I unesource s (un sommet de degr´e entrant nul) ; I unpuits t (un sommet de degr´e sortant nul).

On suppose que tous les autres sommets appartiennent `a un chemin des`at.

Exemple 1

s

a

b

c

d

t 16

13

4

12

9

14

7

4 20

Hypoth`eses suppl´ementaires :

1. toutes lescapacit´eset tous lesflotssont entiers ; 2. les arcs du r´eseau n’existent que dans un seul sens.

(8)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

R´ eseaux de flot

Uneseau de flotest un graphe orient´e et pond´er´eG = (V,A,c) dont chaque arc (u,v) poss`ede unecapacit´e c(u,v)0, avec :

I unesource s (un sommet de degr´e entrant nul) ; I unpuits t (un sommet de degr´e sortant nul).

On suppose que tous les autres sommets appartiennent `a un chemin des`at.

Exemple 1

s

a

b

c

d

t 16

13

4

12

9

14

7

4 20

Hypoth`eses suppl´ementaires :

1. toutes lescapacit´eset tous lesflotssont entiers ; 2. les arcs du r´eseau n’existent que dans un seul sens.

(9)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

R´ eseaux de flot

Uneseau de flotest un graphe orient´e et pond´er´eG = (V,A,c) dont chaque arc (u,v) poss`ede unecapacit´e c(u,v)0, avec :

I unesource s (un sommet de degr´e entrant nul) ; I unpuits t (un sommet de degr´e sortant nul).

On suppose que tous les autres sommets appartiennent `a un chemin des`at.

Exemple 1

s

a

b

c

d

t 16

13

4

12

9

14

7

4 20

Hypoth`eses suppl´ementaires :

1. toutes lescapacit´eset tous lesflotssont entiers ;

2. les arcs du r´eseau n’existent que dans un seul sens.

(10)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

R´ eseaux de flot

Uneseau de flotest un graphe orient´e et pond´er´eG = (V,A,c) dont chaque arc (u,v) poss`ede unecapacit´e c(u,v)0, avec :

I unesource s (un sommet de degr´e entrant nul) ; I unpuits t (un sommet de degr´e sortant nul).

On suppose que tous les autres sommets appartiennent `a un chemin des`at.

Exemple 1

s

a

b

c

d

t 16

13

4

12

9

14

7

4 20

Hypoth`eses suppl´ementaires :

1. toutes lescapacit´eset tous lesflotssont entiers ;

(11)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Flots

Unflotdans un r´eseau de flotG = (V,A,c) est une fonction f :V ×V →R satisfaisant les propri´et´es suivantes :

1. ∀ u,v ∈V : 0≤f(u,v)≤c(u,v) ; contrainte de capacit´e

2. ∀ u ∈V \ {s,t}:P

v∈V f(v,u) =P

v∈V f(u,v) ; conservation

3. f(u,v) = 0 si (u,v)6∈A. Lavaleurdu flot est |f|=P

v∈V f(s,v) =P

v∈V f(v,t). Exemple 2 (x/y : flot x, capacit´ey)

s

a

b

c

d

t 11/16

8/13

1/4

12/12

4/9

11/14

7/7

4/4 15/20

flot entrant flot sortant

a 12 12

b 12 12

c 19 19

d 11 11

s 0 19

t 19 0

(12)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Flots

Unflotdans un r´eseau de flotG = (V,A,c) est une fonction f :V ×V →R satisfaisant les propri´et´es suivantes :

1. ∀ u,v ∈V : 0≤f(u,v)≤c(u,v) ; contrainte de capacit´e

2. ∀ u∈V \ {s,t}:P

v∈V f(v,u) =P

v∈V f(u,v) ; conservation

3. f(u,v) = 0 si (u,v)6∈A. Lavaleurdu flot est |f|=P

v∈V f(s,v) =P

v∈V f(v,t). Exemple 2 (x/y : flot x, capacit´ey)

s

a

b

c

d

t 11/16

8/13

1/4

12/12

4/9

11/14

7/7

4/4 15/20

flot entrant flot sortant

a 12 12

b 12 12

c 19 19

d 11 11

s 0 19

t 19 0

(13)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Flots

Unflotdans un r´eseau de flotG = (V,A,c) est une fonction f :V ×V →R satisfaisant les propri´et´es suivantes :

1. ∀ u,v ∈V : 0≤f(u,v)≤c(u,v) ; contrainte de capacit´e

2. ∀ u∈V \ {s,t}:P

v∈V f(v,u) =P

v∈V f(u,v) ; conservation

3. f(u,v) = 0 si (u,v)6∈A.

Lavaleurdu flot est |f|=P

v∈V f(s,v) =P

v∈V f(v,t). Exemple 2 (x/y : flot x, capacit´ey)

s

a

b

c

d

t 11/16

8/13

1/4

12/12

4/9

11/14

7/7

4/4 15/20

flot entrant flot sortant

a 12 12

b 12 12

c 19 19

d 11 11

s 0 19

t 19 0

(14)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Flots

Unflotdans un r´eseau de flotG = (V,A,c) est une fonction f :V ×V →R satisfaisant les propri´et´es suivantes :

1. ∀ u,v ∈V : 0≤f(u,v)≤c(u,v) ; contrainte de capacit´e

2. ∀ u∈V \ {s,t}:P

v∈V f(v,u) =P

v∈V f(u,v) ; conservation

3. f(u,v) = 0 si (u,v)6∈A.

Lavaleurdu flot est |f|=P

v∈V f(s,v) =P

v∈V f(v,t).

Exemple 2 (x/y : flot x, capacit´ey)

s

a

b

c

d

t 11/16

8/13

1/4

12/12

4/9

11/14

7/7

4/4 15/20

flot entrant flot sortant

a 12 12

b 12 12

c 19 19

d 11 11

s 0 19

t 19 0

(15)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Flots

Unflotdans un r´eseau de flotG = (V,A,c) est une fonction f :V ×V →R satisfaisant les propri´et´es suivantes :

1. ∀ u,v ∈V : 0≤f(u,v)≤c(u,v) ; contrainte de capacit´e

2. ∀ u∈V \ {s,t}:P

v∈V f(v,u) =P

v∈V f(u,v) ; conservation

3. f(u,v) = 0 si (u,v)6∈A.

Lavaleurdu flot est |f|=P

v∈V f(s,v) =P

v∈V f(v,t).

Exemple 2 (x/y : flot x, capacit´ey)

s

a

b

c

d

t 11/16

8/13 1/4

12/12

4/9

11/14

7/7

4/4 15/20

flot entrant flot sortant

a 12 12

b 12 12

c 19 19

d 11 11

s 0 19

(16)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Probl` eme du flot maximum

I Le probl`eme du flot maximum est de trouver, pour un r´eseau de flot G donn´e, un flotf de valeur maximum, c’est-`a-dire que pour tout flot f0 sur G, on a|f| ≥ |f0|.

I De nombreux algorithmes existent :

I laethodede Ford-Fulkerson, et la variante d’Edmonds-Karp ; I l’algorithme de Dinitz ;

I les pr´eflots (voir [1]) ;

(17)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Pr´ esentation g´ en´ erale de la m´ ethode

I Lam´ethode de Ford-Fulkerson proc`ede comme suit ; on d´emarre avec un flotf nul partout pour le r´eseauG, et `a chaque it´eration :

1. on cherche unchemin augmentantdans uneseau r´esiduel Gf; 2. on augmente au maximumf sur les arcs de ce chemin ; 3. on met `a jour Gf ;

I La m´ethode se termine quand il n’existe plus de chemin augmentant ;

I Le flot ainsi obtenu est maximum (on le prouvera plus loin) ;

(18)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Pr´ esentation g´ en´ erale de la m´ ethode

I Lam´ethode de Ford-Fulkerson proc`ede comme suit ; on d´emarre avec un flotf nul partout pour le r´eseauG, et `a chaque it´eration :

1. on cherche unchemin augmentantdans uneseau r´esiduel Gf;

2. on augmente au maximumf sur les arcs de ce chemin ; 3. on met `a jour Gf ;

I La m´ethode se termine quand il n’existe plus de chemin augmentant ;

I Le flot ainsi obtenu est maximum (on le prouvera plus loin) ;

(19)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Pr´ esentation g´ en´ erale de la m´ ethode

I Lam´ethode de Ford-Fulkerson proc`ede comme suit ; on d´emarre avec un flotf nul partout pour le r´eseauG, et `a chaque it´eration :

1. on cherche unchemin augmentantdans uneseau r´esiduel Gf; 2. on augmente au maximumf sur les arcs de ce chemin ;

3. on met `a jour Gf ;

I La m´ethode se termine quand il n’existe plus de chemin augmentant ;

I Le flot ainsi obtenu est maximum (on le prouvera plus loin) ;

(20)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Pr´ esentation g´ en´ erale de la m´ ethode

I Lam´ethode de Ford-Fulkerson proc`ede comme suit ; on d´emarre avec un flotf nul partout pour le r´eseauG, et `a chaque it´eration :

1. on cherche unchemin augmentantdans uneseau r´esiduel Gf; 2. on augmente au maximumf sur les arcs de ce chemin ; 3. on met `a jourGf ;

I La m´ethode se termine quand il n’existe plus de chemin augmentant ;

I Le flot ainsi obtenu est maximum (on le prouvera plus loin) ;

(21)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Pr´ esentation g´ en´ erale de la m´ ethode

I Lam´ethode de Ford-Fulkerson proc`ede comme suit ; on d´emarre avec un flotf nul partout pour le r´eseauG, et `a chaque it´eration :

1. on cherche unchemin augmentantdans uneseau r´esiduel Gf; 2. on augmente au maximumf sur les arcs de ce chemin ; 3. on met `a jourGf ;

I La m´ethode se termine quand il n’existe plus de chemin augmentant ;

I Le flot ainsi obtenu est maximum (on le prouvera plus loin) ;

(22)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Pr´ esentation g´ en´ erale de la m´ ethode

I Lam´ethode de Ford-Fulkerson proc`ede comme suit ; on d´emarre avec un flotf nul partout pour le r´eseauG, et `a chaque it´eration :

1. on cherche unchemin augmentantdans uneseau r´esiduel Gf; 2. on augmente au maximumf sur les arcs de ce chemin ; 3. on met `a jourGf ;

I La m´ethode se termine quand il n’existe plus de chemin augmentant ;

I Le flot ainsi obtenu est maximum (on le prouvera plus loin) ;

(23)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Pseudocode de la m´ ethode

Algorithme 1 :FordFulkerson(G) Entr´ees :un r´eseau de flotG.

Sortie :un flot maximum pourG.

1 flot← tableau associatif (cl´es =G.arcs(), valeurs = 0);

2 source← unique sommet de degr´e entrant nul deG;

3 puits← unique sommet de degr´e sortant nul deG;

4 Gf ← G; // au d´epart, le r´eseau et son r´esiduel co¨ıncident 5 chemin← CheminAugmentant(Gf, source, puits);

6 tant quechemin 6=nil faire

7 AugmenterFlot(flot, chemin);

8 MettreAJourR´esiduel(G,Gf, chemin.arcs(), flot);

9 chemin← CheminAugmentant(Gf, source, puits);

10 renvoyer flot;

(24)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

R´ eseaux r´ esiduels

D´efinition 1

SoitG = (V,A,c) un r´eseau muni d’un flotf. Lacapacit´e r´esiduelled’une paire de sommets u,v ∈V est

cf(u,v) =

c(u,v)−f(u,v) si (u,v)∈A, f(v,u) si (v,u)∈A,

0 sinon .

D´efinition 2

SoitG un r´eseau muni d’un flot f. Le r´eseau r´esiduelGf est le sous-graphe deG induit par les arcs de capacit´e r´esiduelle non nulle. Autrement dit, il s’agit du grapheGf = (V,Af,cf) o`u Af ={(u,v)∈V ×V :cf(u,v)>0}.

(25)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

R´ eseaux r´ esiduels

D´efinition 1

SoitG = (V,A,c) un r´eseau muni d’un flotf. Lacapacit´e r´esiduelled’une paire de sommets u,v ∈V est

cf(u,v) =

c(u,v)−f(u,v) si (u,v)∈A,

f(v,u) si (v,u)∈A,

0 sinon .

D´efinition 2

SoitG un r´eseau muni d’un flot f. Le r´eseau r´esiduelGf est le sous-graphe deG induit par les arcs de capacit´e r´esiduelle non nulle. Autrement dit, il s’agit du grapheGf = (V,Af,cf) o`u Af ={(u,v)∈V ×V :cf(u,v)>0}.

(26)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

R´ eseaux r´ esiduels

D´efinition 1

SoitG = (V,A,c) un r´eseau muni d’un flotf. Lacapacit´e r´esiduelled’une paire de sommets u,v ∈V est

cf(u,v) =

c(u,v)−f(u,v) si (u,v)∈A, f(v,u) si (v,u)∈A,

0 sinon .

D´efinition 2

SoitG un r´eseau muni d’un flot f. Le r´eseau r´esiduelGf est le sous-graphe deG induit par les arcs de capacit´e r´esiduelle non nulle. Autrement dit, il s’agit du grapheGf = (V,Af,cf) o`u Af ={(u,v)∈V ×V :cf(u,v)>0}.

(27)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

R´ eseaux r´ esiduels

D´efinition 1

SoitG = (V,A,c) un r´eseau muni d’un flotf. Lacapacit´e r´esiduelled’une paire de sommets u,v ∈V est

cf(u,v) =

c(u,v)−f(u,v) si (u,v)∈A, f(v,u) si (v,u)∈A,

0 sinon .

D´efinition 2

SoitG un r´eseau muni d’un flot f. Le r´eseau r´esiduelGf est le sous-graphe deG induit par les arcs de capacit´e r´esiduelle non nulle. Autrement dit, il s’agit du grapheGf = (V,Af,cf) o`u Af ={(u,v)∈V ×V :cf(u,v)>0}.

(28)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

R´ eseaux r´ esiduels

D´efinition 1

SoitG = (V,A,c) un r´eseau muni d’un flotf. Lacapacit´e r´esiduelled’une paire de sommets u,v ∈V est

cf(u,v) =

c(u,v)−f(u,v) si (u,v)∈A, f(v,u) si (v,u)∈A,

0 sinon .

D´efinition 2

SoitG un r´eseau muni d’un flot f. Le r´eseau r´esiduelGf est le sous-graphe deG induit par les arcs de capacit´e r´esiduelle non nulle. Autrement dit, il s’agit du grapheGf = (V,Af,cf) o`u Af ={(u,v)∈V ×V :cf(u,v)>0}.

(29)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

R´ eseaux r´ esiduels : exemple

s

a

b

c

d

t 11/16

8/13 1/4

12/12 4/9

11/14

7/7

4/4 15/20 G :

Gf : s

a

b

c

d

t

(30)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

R´ eseaux r´ esiduels : exemple

s

a

b

c

d

t 11/16

8/13 1/4

12/12 4/9

11/14

7/7

4/4 15/20 G :

Gf : s

a

b

c

d 11 t

5

(31)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

R´ eseaux r´ esiduels : exemple

s

a

b

c

d

t 11/16

8/13 1/4

12/12 4/9

11/14

7/7

4/4 15/20 G :

Gf : s

a

b

c

d 5 t

11 5

8

(32)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

R´ eseaux r´ esiduels : exemple

s

a

b

c

d

t 11/16

8/13 1/4

12/12 4/9

11/14

7/7

4/4 15/20 G :

Gf : s

a

b

c

d

t 12

5 11 5

8

(33)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

R´ eseaux r´ esiduels : exemple

s

a

b

c

d

t 11/16

8/13 1/4

12/12 4/9

11/14

7/7

4/4 15/20 G :

Gf : s

a

b

c

d

t 12

511 3 5

8

1

(34)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

R´ eseaux r´ esiduels : exemple

s

a

b

c

d

t 11/16

8/13 1/4

12/12 4/9

11/14

7/7

4/4 15/20 G :

Gf : s

a

b

c

d

t 12

3 511 3

5

8

11

1

(35)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

R´ eseaux r´ esiduels : exemple

s

a

b

c

d

t 11/16

8/13 1/4

12/12 4/9

11/14

7/7

4/4 15/20 G :

Gf : s

a

b

c

d

t 12

3 511 3 4 5

8

11

1

5

(36)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

R´ eseaux r´ esiduels : exemple

s

a

b

c

d

t 11/16

8/13 1/4

12/12 4/9

11/14

7/7

4/4 15/20 G :

Gf : s

a

b

c

d

t 12

15 3

511 3 4

5 5

8

11

1

5

(37)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

R´ eseaux r´ esiduels : exemple

s

a

b

c

d

t 11/16

8/13 1/4

12/12 4/9

11/14

7/7

4/4 15/20 G :

Gf : s

a

b

c

d

t 12

7 15 3

511 3 4

5 5

8

11

1

5

(38)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

R´ eseaux r´ esiduels : exemple

s

a

b

c

d

t 11/16

8/13 1/4

12/12 4/9

11/14

7/7

4/4 15/20 G :

Gf : s

a

b

c

d

t 12

4 7 15 3

511 3 4

5 5

8

11

1

5

(39)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Chemins augmentants

Unchemin augmentantP est un chemin simple (sans r´ep´etition de sommets) des `at dans le r´eseau r´esiduelGf. Sacapacit´e minimaleest cf(P) = min(u,v)∈A(P)cf(u,v).

Exemple 3

s

a

b

c

d

t 12

4 7 15 3

511 3 4

5 5

8

11

1

5

(40)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Chemins augmentants

Unchemin augmentantP est un chemin simple (sans r´ep´etition de sommets) des `at dans le r´eseau r´esiduelGf. Sacapacit´e minimaleest cf(P) = min(u,v)∈A(P)cf(u,v).

Exemple 3

s

a

b

c

d

t 12

4 7 15 3

511 3 4

5 5

8

11

1

5

(41)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Augmentation du flot par les chemins augmentants

I Une fois le chemin augmentant P trouv´e, on augmente le flot au maximumsur tous ses arcs ;

I On ne peut pas faire mieux que cf(P), donc on augmentef decf(P) sur tous les arcs deP;

I Attention : les arcs deP appartiennent au r´esiduel Gf ! I Cela signifie que bien que|f|augmente, f peutdiminuersur

certains arcs du r´eseau G;

(42)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Augmentation du flot par les chemins augmentants

I Une fois le chemin augmentant P trouv´e, on augmente le flot au maximumsur tous ses arcs ;

I On ne peut pas faire mieux que cf(P), donc on augmentef decf(P) sur tous les arcs deP;

I Attention : les arcs deP appartiennent au r´esiduel Gf ! I Cela signifie que bien que|f|augmente, f peutdiminuersur

certains arcs du r´eseau G;

(43)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Augmentation du flot par les chemins augmentants

I Une fois le chemin augmentant P trouv´e, on augmente le flot au maximumsur tous ses arcs ;

I On ne peut pas faire mieux que cf(P), donc on augmentef decf(P) sur tous les arcs deP;

I Attention : les arcs deP appartiennent au r´esiduel Gf !

I Cela signifie que bien que|f|augmente, f peutdiminuersur certains arcs du r´eseau G;

(44)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Augmentation du flot par les chemins augmentants

I Une fois le chemin augmentant P trouv´e, on augmente le flot au maximumsur tous ses arcs ;

I On ne peut pas faire mieux que cf(P), donc on augmentef decf(P) sur tous les arcs deP;

I Attention : les arcs deP appartiennent au r´esiduel Gf ! I Cela signifie que bien que|f|augmente, f peutdiminuersur

certains arcs du r´eseau G;

(45)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

L’algorithme d’Edmonds-Karp

I On parle dem´ethode (et non d’algorithme) de Ford-Fulkerson car aucune pr´ecision n’est donn´ee sur la mani`ere de choisir le chemin augmentant ;

I Il n’y a pas de consensus sur la mani`ere optimale de choisir ce chemin (cf. TD) ;

I Algorithme d’Edmonds-Karp = m´ethode de Ford-Fulkerson avec s´election du plus court chemin comme chemin

augmentant ;

I Pas n´ecessairement toujours le plus rapide, mais on peut d´emontrer que cette approche effectue au plusO(|V||A|) it´erations ;

(46)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

L’algorithme d’Edmonds-Karp

I On parle dem´ethode (et non d’algorithme) de Ford-Fulkerson car aucune pr´ecision n’est donn´ee sur la mani`ere de choisir le chemin augmentant ;

I Il n’y a pas de consensus sur la mani`ere optimale de choisir ce chemin (cf. TD) ;

I Algorithme d’Edmonds-Karp = m´ethode de Ford-Fulkerson avec s´election du plus court chemin comme chemin

augmentant ;

I Pas n´ecessairement toujours le plus rapide, mais on peut d´emontrer que cette approche effectue au plusO(|V||A|) it´erations ;

(47)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

L’algorithme d’Edmonds-Karp

I On parle dem´ethode (et non d’algorithme) de Ford-Fulkerson car aucune pr´ecision n’est donn´ee sur la mani`ere de choisir le chemin augmentant ;

I Il n’y a pas de consensus sur la mani`ere optimale de choisir ce chemin (cf. TD) ;

I Algorithme d’Edmonds-Karp = m´ethode de Ford-Fulkerson avec s´election du plus court chemin comme chemin

augmentant ;

I Pas n´ecessairement toujours le plus rapide, mais on peut d´emontrer que cette approche effectue au plusO(|V||A|) it´erations ;

(48)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

L’algorithme d’Edmonds-Karp

I On parle dem´ethode (et non d’algorithme) de Ford-Fulkerson car aucune pr´ecision n’est donn´ee sur la mani`ere de choisir le chemin augmentant ;

I Il n’y a pas de consensus sur la mani`ere optimale de choisir ce chemin (cf. TD) ;

I Algorithme d’Edmonds-Karp = m´ethode de Ford-Fulkerson avec s´election du plus court chemin comme chemin

augmentant ;

I Pas n´ecessairement toujours le plus rapide, mais on peut d´emontrer que cette approche effectue au plusO(|V||A|) it´erations ;

(49)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

L’algorithme d’Edmonds-Karp en action

Examinons les ´etapes de l’algorithme d’Edmonds-Karp sur un exemple.

s

a

b

c

d

t 16

13

4

12 9 14

7

4 20

s

a

b

c

d

t 16

13

4

12 9 14

7

4 20

Gf G

(50)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

L’algorithme d’Edmonds-Karp en action

Examinons les ´etapes de l’algorithme d’Edmonds-Karp sur un exemple.

s

a

b

c

d

t 16

13

4

12 9 14

7

4 20

s

a

b

c

d

t 16

13

4

12 9 14

7

4 20

Gf G

(51)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

L’algorithme d’Edmonds-Karp en action

Examinons les ´etapes de l’algorithme d’Edmonds-Karp sur un exemple.

s

a

b

c

d

t 16

13

4

12 9 14

7

4 20

s

a

b

c

d

t 12/16

13

4

12/12 9 14

7

4 12/20

Gf G

(52)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

L’algorithme d’Edmonds-Karp en action

Examinons les ´etapes de l’algorithme d’Edmonds-Karp sur un exemple.

s

a

b

c

d

t 13

4

12 9 14

7

4 4

12

128

s

a

b

c

d

t 12/16

13

4

12/12 9 14

7

4 12/20

Gf G

(53)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

L’algorithme d’Edmonds-Karp en action

Examinons les ´etapes de l’algorithme d’Edmonds-Karp sur un exemple.

s

a

b

c

d

t 13

4

12 9 14

7

4 4

12

128

s

a

b

c

d

t 12/16

13

4

12/12 9 14

7

4 12/20

Gf G

(54)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

L’algorithme d’Edmonds-Karp en action

Examinons les ´etapes de l’algorithme d’Edmonds-Karp sur un exemple.

s

a

b

c

d

t 13

4

12 9 14

7

4 4

12

128

s

a

b

c

d

t 12/16

4/13

4

12/12 9 4/14

7

4/4 12/20

Gf G

(55)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

L’algorithme d’Edmonds-Karp en action

Examinons les ´etapes de l’algorithme d’Edmonds-Karp sur un exemple.

s

a

b

c

d 4 t

12 9 7

4 4

4 12

128 9 10

4

s

a

b

c

d

t 12/16

4/13

4

12/12 9 4/14

7

4/4 12/20

Gf G

(56)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

L’algorithme d’Edmonds-Karp en action

Examinons les ´etapes de l’algorithme d’Edmonds-Karp sur un exemple.

s

a

b

c

d 4 t

12 9 7

4 4

4 12

128 9 10

4

s

a

b

c

d

t 12/16

4/13

4

12/12 9 4/14

7

4/4 12/20

Gf G

(57)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

L’algorithme d’Edmonds-Karp en action

Examinons les ´etapes de l’algorithme d’Edmonds-Karp sur un exemple.

s

a

b

c

d 4 t

12 9 7

4 4

4 12

128 9 10

4

s

a

b

c

d

t 12/16

11/13 4

12/12 9 11/14

7/7

4/4 19/20

Gf G

(58)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

L’algorithme d’Edmonds-Karp en action

Examinons les ´etapes de l’algorithme d’Edmonds-Karp sur un exemple.

s

a

b

c

d 4 t

12

9 7

4 11

4 12

191 2 3

11

s

a

b

c

d

t 12/16

11/13 4

12/12 9 11/14

7/7

4/4 19/20

Gf G

(59)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

L’algorithme d’Edmonds-Karp en action

Examinons les ´etapes de l’algorithme d’Edmonds-Karp sur un exemple.

s

a

b

c

d 4 t

12

9 7

4 11

4 12

191 2 3

11

s

a

b

c

d

t 12/16

11/13 4

12/12 9 11/14

7/7

4/4 19/20

Gf G

(60)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Coupes

La correction de la m´ethode de Ford-Fulkerson (quelle que soit la mani`ere dont on choisit le chemin augmentant) d´ecoule d’un lien avec la notion decoupe.

D´efinition 3

Unecoupe (S,T) dans un r´eseau de flot avec sources et puitst est une partition de ses sommets en deux ensemblesS et T tels ques ∈S ett ∈T.

Exemple 4

s

a

b

c

d

t 11/16

8/13 1/4

12/12 4/9

11/14

7/7

4/4 15/20

S T

(61)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Coupes

La correction de la m´ethode de Ford-Fulkerson (quelle que soit la mani`ere dont on choisit le chemin augmentant) d´ecoule d’un lien avec la notion decoupe.

D´efinition 3

Unecoupe (S,T) dans un r´eseau de flot avec sources et puits t est une partition de ses sommets en deux ensemblesS et T tels ques ∈S ett ∈T.

Exemple 4

s

a

b

c

d

t 11/16

8/13 1/4

12/12 4/9

11/14

7/7

4/4 15/20

S T

(62)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Coupes

La correction de la m´ethode de Ford-Fulkerson (quelle que soit la mani`ere dont on choisit le chemin augmentant) d´ecoule d’un lien avec la notion decoupe.

D´efinition 3

Unecoupe (S,T) dans un r´eseau de flot avec sources et puits t est une partition de ses sommets en deux ensemblesS et T tels ques ∈S ett ∈T.

Exemple 4

s

a

b

c

d

t 11/16

8/13 1/4

12/12 4/9

11/14

7/7

4/4 15/20

(63)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Capacit´ e et flot associ´ es ` a une coupe

Soit (S,T) une coupe ;

1. sonflot associ´eest le flot “net” dans les arcs entreS `aT : f(S,T) =X

u∈S

X

v∈T

f(u,v)X

u∈S

X

v∈T

f(v,u).

2. sacapacit´eest la somme des capacit´es des arcs deS`aT : c(S,T) =X

u∈S

X

v∈T

c(u,v).

3. (S,T) estminimumsi pour toute coupe (S0,T0) du r´eseau, on a c(S,T)c(S0,T0).

s

a

b

c

d

t 11/16

8/13

1/4

12/12

4/9

11/14

7/7

4/4 15/20

S T

f(S,T) =12+114= 19 c(S,T) =12+14= 26

(64)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Capacit´ e et flot associ´ es ` a une coupe

Soit (S,T) une coupe ;

1. sonflot associ´eest le flot “net” dans les arcs entreS `aT : f(S,T) =X

u∈S

X

v∈T

f(u,v)X

u∈S

X

v∈T

f(v,u).

2. sacapacit´eest la somme des capacit´es des arcs deS`aT : c(S,T) =X

u∈S

X

v∈T

c(u,v).

3. (S,T) estminimumsi pour toute coupe (S0,T0) du r´eseau, on a c(S,T)c(S0,T0).

s

a

b

c

d

t 11/16

8/13

1/4

12/12

4/9

11/14

7/7

4/4 15/20

S T

f(S,T) =12+114= 19 c(S,T) =12+14= 26

(65)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Capacit´ e et flot associ´ es ` a une coupe

Soit (S,T) une coupe ;

1. sonflot associ´eest le flot “net” dans les arcs entreS `aT : f(S,T) =X

u∈S

X

v∈T

f(u,v)X

u∈S

X

v∈T

f(v,u).

2. sacapacit´eest la somme des capacit´es des arcs deS`aT : c(S,T) =X

u∈S

X

v∈T

c(u,v).

3. (S,T) estminimumsi pour toute coupe (S0,T0) du r´eseau, on a c(S,T)c(S0,T0).

s

a

b

c

d

t 11/16

8/13

1/4

12/12

4/9

11/14

7/7

4/4 15/20

S T

f(S,T) =12+114= 19 c(S,T) =12+14= 26

(66)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Capacit´ e et flot associ´ es ` a une coupe

Soit (S,T) une coupe ;

1. sonflot associ´eest le flot “net” dans les arcs entreS `aT : f(S,T) =X

u∈S

X

v∈T

f(u,v)X

u∈S

X

v∈T

f(v,u).

2. sacapacit´eest la somme des capacit´es des arcs deS`aT : c(S,T) =X

u∈S

X

v∈T

c(u,v).

3. (S,T) estminimumsi pour toute coupe (S0,T0) du r´eseau, on a c(S,T)c(S0,T0).

s

a

b

c

d

t 11/16

8/13

1/4

12/12

4/9

11/14

7/7

4/4 15/20

f(S,T) =12+114= 19 c(S,T) =12+14= 26

(67)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Capacit´ e et flot associ´ es ` a une coupe

Soit (S,T) une coupe ;

1. sonflot associ´eest le flot “net” dans les arcs entreS `aT : f(S,T) =X

u∈S

X

v∈T

f(u,v)X

u∈S

X

v∈T

f(v,u).

2. sacapacit´eest la somme des capacit´es des arcs deS`aT : c(S,T) =X

u∈S

X

v∈T

c(u,v).

3. (S,T) estminimumsi pour toute coupe (S0,T0) du r´eseau, on a c(S,T)c(S0,T0).

s

a

b

c

d

t 11/16

8/13

1/4

12/12

4/9

11/14

7/7

4/4 15/20

f(S,T) =12+114= 19

c(S,T) =12+14= 26

(68)

Introduction Les bases La m´ethode de Ford-Fulkerson Coupes minimum Complexit´e de l’algorithme d’Edmonds-Karp

Capacit´ e et flot associ´ es ` a une coupe

Soit (S,T) une coupe ;

1. sonflot associ´eest le flot “net” dans les arcs entreS `aT : f(S,T) =X

u∈S

X

v∈T

f(u,v)X

u∈S

X

v∈T

f(v,u).

2. sacapacit´eest la somme des capacit´es des arcs deS`aT : c(S,T) =X

u∈S

X

v∈T

c(u,v).

3. (S,T) estminimumsi pour toute coupe (S0,T0) du r´eseau, on a c(S,T)c(S0,T0).

s

a

b

c

d

t 11/16

8/13

1/4

12/12

4/9

11/14

7/7

4/4 15/20

f(S,T) =12+114= 19 c(S,T) =12+14= 26

Références

Documents relatifs

• L’algorithme de Bellman-Ford recherche également des raccourcis entre les sommets ; • Le fonctionnement est différent de celui de Dijkstra, qui cherchait des chemins

Introduction Les bases La m´ ethode de Ford-Fulkerson Coupes minimum Complexit´ e de l’algorithme

• Dans le cas o` u le graphe n’est pas biparti, le probl` eme reste soluble en temps polynomial mais l’algorithme est beaucoup plus complexe [2] ;. • Et si l’on veut des

3 combiner : combiner les solutions des sous-probl` emes pour obtenir la solution au probl` eme de d´ epart. • L’efficacit´ e de cette approche d´ epend fortement des complexit´ es

Introduction Principes Probl` eme de d´ ecoupe Distance d’´ edition Reconstruction des solutions optimales.. R´ esum´ e des ´ episodes pr´

et donc, le poids d’une solution optimale pour tsp est au moins celui d’un ACPM, qu’on est capable de trouver en temps polynomial ;.. Introduction vertex cover

Par convention, ils sont impl´ ement´ es sous la forme de fonctions avec un nom utilisant

Introduction Preuve du th´ eor` eme max-flow min-cut Algorithme de Dinitz Couplages dans un graphe biparti.. R´ esum´ e des ´ episodes pr´