Académique Documents
Professionnel Documents
Culture Documents
réseau
Algorithme de Ford Fulkerson
Réalisé par :
IFSAR Adel Sous la demande de :
CHAHID Amina Mr. NOKRANE
ANAFLOUS Hajar
AIT THAMI Majida
MILAL Bouchra
LP STAD
2021-2022
INTRODUCTION :
1 Problématique
2 Notions de base
4 Exemples d’application
Problématique
Flot maximal
a b
3 3
5
3 0 6
10
4
S 3 c
1 1 t
3
7 4
7 3
1 3
e 4
8
d
Un réseau
Un graphe orienté
Hypothèses pour simplifier :
Capacité de l’arc S n’a pas d’arcs entrant
3 t n’a pas d’arcs sortants
5
4 1
(Source) S 3
1 t (puits)
4 3
7
Un réseau à flots
Un flot
Contrainte de capacité
Quantité de flot sur un arc < capacité de cet arc
2 3
5 Un flot valide
2 1 2
10
4
3 Sa valeur est 6
S t
1 1 1
4 4
7 3
0 3
Il rentre 2+1+3=6 en t
Il sort 2+4=6 de s
3
8
s t
0 100
0 100 1 1 100 0 100
0
100
Il sort 1 de s 0 100
0
100 0 0 Il rentre 1 de t
100
Valeur du flot =1
4 10
3
4
S T
Capacité de l’arc c 1
1
3
8
e d
Algorithme de Ford Fulkerson
a b
Valeur d’un flot : la quantité du flot qui sort de
2 0 S ou qui rentre en T
4 10
•
4 0
3
Flot initial nul
0 (Valeur 0)
0
S 4 3
0 T
c 1
9 0
0
1 0
3
8 0 3
e d
Algorithme de Ford Fulkerson
a b
Valeur d’un flot : la quantité du flot qui sort de
2 0 S ou qui rentre en T
4 10
•
3
3
Flot initial nul
0 (Valeur 0)
0
S 4
• Flot 1(Valeur 3)
3 T
c 1
9 0
0
1 3
3
8 0
e d
Algorithme de Ford Fulkerson
Quand vous
trouverez une
Chaine améliorante a b
0 Valeur d’un flot : la quantité du flot qui sort de S
Il faut améliorer 2
ou qui rentre en T
4 10
3 •
3
0 Flot initial nul
0
4 (Valeur 0)
S 3 1 T • Flot 1(Valeur 3)
c 1 0
9 0
1
9 0 3
1
3
8 0
e 8 d
Algorithme de Ford Fulkerson
a b
0 Valeur d’un flot : la quantité du flot qui sort de S
2
ou qui rentre en T
4 10
3 •
3
0 Flot initial nul
0
4 (Valeur 0)
S 3
T • Flot 1(Valeur 3)
1 1 •
c Flot 2 (Valeur 4)
9 1
1 3
1
3
8 1
e d
Algorithme de Ford Fulkerson
2
a b
0 Valeur d’un flot : la quantité du flot qui sort de S
2
ou qui rentre en T
10
4 10
3 •
3
0 Flot initial nul
0
4 (Valeur 0)
S -3 3
T • Flot 1(Valeur 3)
1 1 •
c Flot 2 (Valeur 4)
9 1
1 3
8 1
3
8 1
Si on prend dans une chaine un arc à
e 7 d l’envers : Il faut diminuer sa quantité
du flot
Algorithme de Ford Fulkerson
a b
2 0 +2 Valeur d’un flot : la quantité du flot qui sort de S
ou qui rentre en T
4 10
3 •
3 0 +2 Flot initial nul
0
4 (Valeur 0)
S 3 -2
T • Flot 1(Valeur 3)
1 1 •
c Flot 2 (Valeur 4)
9 1
3
+2 1 1
3
8 1 +2
Si on prend dans une chaine un arc à
e d l’envers : Il faut diminuer sa quantité
du flot
Algorithme de Ford Fulkerson
a b
2 2 Valeur d’un flot : la quantité du flot qui sort de S
ou qui rentre en T
4 10
3 •
3 2 Flot initial nul
0
4 (Valeur 0)
S 1
T • Flot 1(Valeur 3)
1 1 •
c Flot 2 (Valeur 4)
• Flot 3 (Valeur 6)
9 1
3 3
1
3
8 3
Si on prend dans une chaine un arc à
e d l’envers : Il faut diminuer sa quantité
du flot
Algorithme de Ford Fulkerson
a b
2 2 Valeur d’un flot : la quantité du flot qui sort de S
ou qui rentre en T
4 10
3 •
3 2 Flot initial nul
0
4 (Valeur 0)
S 1
T • Flot 1(Valeur 3)
1 1 •
c Flot 2 (Valeur 4)
• Flot 3 (Valeur 6)
9 1
3 3
1
3
8 3
e d
Algorithme de Ford Fulkerson
a b
2 2 Valeur d’un flot : la quantité du flot qui sort de S
ou qui rentre en T
4 10
3 •
3 2 Flot initial nul
0
4 (Valeur 0)
S 1
T • Flot 1(Valeur 3)
1 1 •
c Flot 2 (Valeur 4)
• Flot 3 (Valeur 6)
9 1
3 3
1
3 Flot Optimal
8 3
e d
La chaine améliorante
1000
1000
a
Capacité de l’arc
0 1000 0 1000
0 t +1000
s 1
0 1000
0 1000
b
La chaine améliorante
1000
1000
a
1000 Capacité de l’arc
1000
1000
1000
0 t +1000
s 1
1000
+1000
1000 0 1000
0 1000
b 1000
1000 La valeur du flot :2000
La chaine améliorante
a
1000
1000
1000
1000 La valeur du flot :2000
0 t
s 1
1000
1000 1000
1000
Résultat trouvé après
deux étapes
b
La chaine améliorante
1000 a
0 1000 0 1000
0 t +1
s 1
1
0 1000
0 1000
1000
b
La chaine améliorante
+1
a 1000
1 1000 1 1000
1 t
s 1
-1
1 1000
1 1000 +1
1000
b
La chaine améliorante
a La valeur du flot : 2
+1
1 1000 1 1000
+1
0 t +1
s 1
+1
1
…
1000
1 1000
MAIS
T1
Fred T2
1. Construire un réseau à flot associé à ce
Nora T3 graphe
2. Construire un flot de valeur maximale
Isa T4
3. Retirer une affectation des taches à des
Lola T5
personnes
A B
Graphe biparti G
Etape 1
1
1 1 1
s 1 1 1 1 t
1
1 1
1 1 1
1
1 1 1
1
1
0 1
1 1 1 0
s 0
1 1 0 1 1 0 t
0 1 0
0 1 1 0 0
0 1
0 1 1 1 0
0 1
1 0 1 0
0 1 1
0
Etape 2
s t
1
Etape 3
T1
Fred T2
Nora T3
Isa T4
Lola T5
A B
1
2 Exemple:
éme
0/4
0 1 3 0/1
0/1 0
s 0/6
t
0/2 0/8
0/1 0
0 0/1
2 4
0/9
2 Exemple:
éme
0/4
8 10 1 3 0/1
0/ 0
s 0/6
t
0/2 0
8 /8
0/1 0
0 0/1
2 4 8
0/9
2 Exemple:
éme
0/4
0 1 3 0/1
8/1 0
s
1/2 8/8 0/6
t 8
0
2 /10 8/1
0
2 4 2
0/9
2
2 Exemple:
éme
4
0/4 4
0 1 3 0/1
8/1 0
s
0/2 8 0/6
t 10
- 4 /8
2 0
4 /10 10
/ 1
2 4
2/9
4
2 Exemple:
éme
4/4 2
2 10 1 3 4/1
8/ 0
s 2 t 14
0/2 4 0/6
2 /8
6/1 10
0 /
10
2 4
6/9
2 Exemple:
éme
4/4 3
/ 10 1 3 6/1
10 0
3
s
0/2 6/8 2/6
t 16
6 0
3 /10 10
/ 1
2 4
6/9
3
2 Exemple:
éme
4/4 1
/ 10 1 3 9/1
10 0
1
s
0/2 6 5/6
t 19
1 1 /8
9 0
1 /10 10
/ 1
2 4
9/9
2 Exemple:
éme
4/4
/ 10 1 3 10/
10 10
s
1/2 7/8 6/6
t 20
10 10
/10 /
10
2 4
9/9
Conclusion :
L’algorithme de Ford-Fulkerson est efficace juste pour les données de petite taille,
pour résoudre le problème du flot maximal pour des données de grande taille nous
vous invitons à utiliser d’autres algorithmes plus performants tel que l’algorithme
de Edmons-Karp ou de Y-Dinitz qui sont des variantes de l’algorithme de
Ford-Fulkerson.
MERCI DE
VOTRE
ATTENTION