Académique Documents
Professionnel Documents
Culture Documents
Un réseau est un graphe (connexe) orienté N=(V,A) avec une valuation positive de ses arcs. La
valuation c(x,y) d'un arc (x,y) est appelée la capacité de l'arc. On distingue sur N deux sommets
particuliers : une source s (source) et une destination t (sink). Les autres sommets sont les noeuds
intermédiaires du réseau. On suppose que la source n'a pas d'arcs entrants et la destination n'a pas
d'arcs sortants.
Un flot représente l'acheminement d'un flux de matière depuis une source s vers une destination t.
Le flot est ainsi décrit par la quantité de matière transitant sur chacun des arcs du réseau. Cette
quantité doit être inférieure à la capacité de l'arc, qui limite ainsi le flux pouvant transiter par lui.
De plus il n'est pas possible de stocker ou de produire de la matière aux noeud intermédiaires : un
flot vérifie localement la loi de conservation (analogue aux lois de Kirshoff en électricité).
Définition: Un flot F sur un réseau N=(V,A) est une valuation positive des arcs, c'est à dire une
application de A dans R+, qui vérifie les deux propriétés suivantes :
Exemple
Le problème du Flot Maximum consiste à trouver un flot de valeur maximale. i.e dans un réseau
N, nous cherchons a envoyer autant de flot possible entre la source s et la destination t, sans excéder la
capacité des arcs.
Les applications de ce problème sont diverses: industrie manufacturière, systèmes de
communication, planification de distribution en transport, l'ordonnancement,...
Plus formellement, le MaxFlow consiste a maximiser v tel que:
Coupe (cut):une coupe est une partition de l'ensemble des nœuds N en deux sous-ensembles S et
S'=N-S. La coupe est notée [S,S']. Alternativement, nous définissons une coupe comme l'ensemble des
arcs dont les extrémités sont dans les différentes partitions S et S'. Une coupe est appelée une coupe s-t
si sS et tS'. Un arc (i,j) tel que iS et jS' est un arc avant, et un arc (i,j) tel que iS' et jS est un
arc arrière de la coupe [S,S'].
Soit (S,S') l'ensemble des arcs avant et (S', S) l'ensemble des arcs arrière.
Par exemple, dans cette figure, les arcs discontinus constituent une coupe s-t. Pour cette coupe,
(S,S') = {(1, 2), (3,4), (5, 6)}, et (S',S) = {(2, 3),(4, 5)}.
La capacité d'une coupe s-t cut (S,S') est la somme des capacités des arcs avant de cette coupe:
C[S,S']= 𝑖,𝑗 ∈(𝑆,𝑆′ ) 𝐶𝑖𝑗
Une coupe s-t dont la capacité est minimum parmi toutes les coupes s-t est une coupe minimum.
N'importe quel flot allant de s vers t doit passer de S à S' à un moment donné, et donc utilise la
capacité des arcs de S à S'. Ce qui veut dire que chaque coupe du graphe met une borne (limite)
sur la valeur du flot maximum possible.
Graphe résiduel
Soit un réseau G et un flot f dans G, le graphe résiduel Gf contient:
Tous les nœuds de G.
Seulement les arcs de G qui peuvent un flot supplémentaire.
Pour chaque arc (u,v), sa capacité résiduelle) dans Gf: cf(u,v)=c(u,v)-f(u,v)
Pour chaque arc (u, v) de G tel que f(u,v) > 0, il y a f(u,v) unités de flot que nous pouvons
"défaire" (annuler), donc nous ajoutons l'arc (v, u) dans Gf, avec une capacité de
cf(v,u)=cf(v,u)+f(u,v)
Exemple