Академический Документы
Профессиональный Документы
Культура Документы
Frederic.Guinand@univ-lehavre.fr
Dnitions
Rseau Soit G = (S , A) un graphe orient. Chaque arc est valu par une valeur correspondant la capacit du lien associ cet arc. Soit la fonction c : A R + qui associe chaque arc une valeur relle positive de capacit. Soient deux sommets particuliers : un sommet source s et un sommet puits p, tels que v S il existe un chemin qui va de s p et qui passe par v . Un rseau est dni par la donne du quadruplet R = (G, c , s, p).
Frederic.Guinand@univ-lehavre.fr
Dnitions
f ((s, j ))
j voisins(s) j voisins(s)
f ((j , s)) = v
(2)
f ((p, j ))
j voisins(p) j voisins(p)
f ((j , p)) = v
(3)
f ((i , j ))
j voisins(i) j voisins(i)
Dnitions
Coupe Soit G = (S , A), et R = (G, c , s, p), une coupe est une , tels que : partition de S en deux ensembles V et V
=S V V s V et p V
la capacit de la coupe est gale la somme des capacits des arcs qui font la coupe.
Frederic.Guinand@univ-lehavre.fr
Dnitions
Un rseau
5 7 4 8 3 3 4 9 6
2
7
3 2
2
4
2 1
3
3
9
Frederic.Guinand@univ-lehavre.fr
Dnitions
Frederic.Guinand@univ-lehavre.fr
Dnitions
Connectivit
Pour un graphe connexe, la connectivit est dnie comme le nombre minimum de sommets dont la suppression entrane la perte de connexit. Thorme de Menger (1927) : Pour deux sommets non adjacents quelconques dun graphe connexe G, le nombre minimum dartes dont la suppression entrane leur dconnexion est gal au nombre maximum de chanes deux--deux artes disjointes les connectant dans G. Ce rsultat a t re-formul en termes de rseaux en 1956 par Ford et Fulkerson et est connu sous le nom de thorme maximum ow/minimum cut ou max ow-min cut.
Frederic.Guinand@univ-lehavre.fr Calcul de ots maximum Algorithme de Ford-Fulkerson
Dnitions
Enonc du problme
1 2
Intitul du problme : Flot maximum. Description des paramtres : un graphe orient G = (S , A) dont chaque arte est value par une capacit, un sommet source et un sommet puits, Question : quel est le ot maximum quil est possible de faire passer dans ce rseau depuis la source vers le puits ?
Frederic.Guinand@univ-lehavre.fr
Dnitions
Enonc du problme
Intuitivement cela fait rfrence aux problmes de plomberie ou de trac routier. On dispose dune source et dun puits et le ot doit scouler de la source vers le puits et il doit tre maximum en fonction de la capacit des arcs.
Frederic.Guinand@univ-lehavre.fr
Dnitions
Exemple
4 8
4 8 3 2 4 10 7 6 7 12 6 10 10
Source
20 6 15 10 5
Puits
20
10
Frederic.Guinand@univ-lehavre.fr
Dnitions
Exemple
4 8
4 8 3 2 4 10 7 6 7 12 6 10 10
Source
20 6 15 10 5
Puits
20
10
Frederic.Guinand@univ-lehavre.fr
Dnitions
Exemple
4/4 4/8
Source
4/20 6 15 10 5
Puits
20
10
Frederic.Guinand@univ-lehavre.fr
Dnitions
Exemple
4/4 6/8
Source
6/20 6 15 10 5
Puits
20
10
Frederic.Guinand@univ-lehavre.fr
Dnitions
Exemple
4/4 8/8
Source
8/20 6 15 10 2/5
Puits
20
10
Frederic.Guinand@univ-lehavre.fr
Dnitions
Exemple
4/4 8/8
Source
Puits
20
10
Frederic.Guinand@univ-lehavre.fr
Dnitions
Exemple
4/4 8/8
4/4 8/8 2/3 2/2 4/4 2/10 4/7 2/6 7 12 2/6 2/10 10/10
Source
Puits
20
10
Frederic.Guinand@univ-lehavre.fr
Dnitions
Exemple
4/4 8/8
4/4 8/8 2/3 2/2 4/4 2/10 6/7 4/6 2/7 12 2/6 4/10 10/10
Source
Puits
20
10
Frederic.Guinand@univ-lehavre.fr
Dnitions
Exemple
4/4 8/8
4/4 8/8 2/3 2/2 4/4 2/10 7/7 5/6 3/7 12 2/6 5/10 10/10
Source
Puits
1/20
10
Frederic.Guinand@univ-lehavre.fr
Dnitions
Exemple
4/4 8/8
4/4 8/8 2/3 2/2 4/4 2/10 7/7 5/6 7/7 4/12 2/6 9/10 10/10
Source
Puits
5/20
4/10
Frederic.Guinand@univ-lehavre.fr
Dnitions
Il suft de supprimer les arcs pour lesquels la valeur du ot est gale la capacit :
Source
14/20 2/5 10
2/3
Puits
2/6 9/10
2/10 5/6
5/15
5/20
4/10
4/12
Frederic.Guinand@univ-lehavre.fr
Dnitions
Capacit rsiduelle rsiduelle = c c( (si ,sj ) f ((si , sj )) si ,sj ) la capacit rsiduelle, pour un arc (si , sj ) donn, reprsente la quantit de ot pouvant encore passer par cet arc.
Frederic.Guinand@univ-lehavre.fr
Dnitions
Rseau rsiduel Grsiduel = (S , Arsiduel ) tel que rsiduelle > 0} Arsiduel = {(si , sj ) A, c( si ,sj ) le rseau rsiduel, est le graphe partiel obtenu partir du graphe dorigine mais dont ont t retir tous les arcs dont la capacit rsiduelle est nulle.
Frederic.Guinand@univ-lehavre.fr
Dnitions
Chemin amliorant ou augmentant Un chemin amliorant ou chemin augmentant, est un chemin de Grsiduel , allant de s p et sans circuit
Frederic.Guinand@univ-lehavre.fr
Dnitions
Capacit rsiduelle dun chemin amliorant La capacit rsiduelle dun chemin amliorant est le minimum des capacits rsiduelles des arcs appartenant au chemin
Frederic.Guinand@univ-lehavre.fr
Dnitions
Arc satur Un arc est dit satur si sa capacit rsiduelle est nulle.
Frederic.Guinand@univ-lehavre.fr
Algorithme de Ford-Fulkerson
Frederic.Guinand@univ-lehavre.fr
Principe de rsolution
Principe Tant quil existe un chemin augmentant dans le graphe, on ajoute un ot le long de ce chemin.
Frederic.Guinand@univ-lehavre.fr
Algorithme de Ford-Fulkerson
Principe Crer un graphe rsiduel Gr = G Initialement tous les arcs sont valus par leur capacit Dterminer un chemin augmentant TantQue il existe un chemin augmentant de s vers p Faire mettre jour le graphe rsiduel chercher un nouveau chemin augmentant nTantQue
Frederic.Guinand@univ-lehavre.fr
Algorithme de Ford-Fulkerson
Frederic.Guinand@univ-lehavre.fr
Algorithme de Ford-Fulkerson
Mise jour du graphe rsiduel Soit c un chemin augmentant Soit cr la capacit rsiduelle de ce chemin Pour tous les arcs (si , sj ) appartenant au chemin Faire mettre jour la capacit rsiduelle de larc nPour
Frederic.Guinand@univ-lehavre.fr
Algorithme de Ford-Fulkerson
Dtermination dun chemin augmentant Plus dlicat. Examen des chemins du graphe rsiduel parcours du graphe rsiduel. Il peut y avoir remise en question de ots dj valids.
Frederic.Guinand@univ-lehavre.fr
Exemple
4 8 8 2 6 6 8 6
Frederic.Guinand@univ-lehavre.fr
Exemple
Frederic.Guinand@univ-lehavre.fr
Exemple
Frederic.Guinand@univ-lehavre.fr
Exemple
Frederic.Guinand@univ-lehavre.fr
Algorithme de Ford-Fulkerson
Dpart de la source Voisins ligibles ensemble des voisins... ...dont les arcs entrants depuis la source ne sont pas saturs TantQue (il reste des voisins non visits) ET (chemin pas trouv) Faire choisir un voisin pour poursuivre le chemin augmentant Si ce voisin est le puits Alors le chemin construit est le chemin augmentant valider le ot mettre jour le graphe rsiduel retour au dpart pour la recherche dun nouveau chemin nSi nTantQue
Frederic.Guinand@univ-lehavre.fr
Algorithme de Ford-Fulkerson
Frederic.Guinand@univ-lehavre.fr
Algorithme de Ford-Fulkerson
Condition de terminaison Le calcul du ot maximum se termine lorsquil nexiste plus de chemin augmentant de s vers p. Dtecter une telle situation suppose de marquer les sommets partir desquels aucun nouveau chemin augmentant nest possible. Cette procdure de marquage peut sappuyer par exemple sur un algorithme de parcours classique :
profondeur dabord : lorsque la pile est vide et quaucun chemin augmentant de s p na pu tre dtermin largeur dabord : lorsque la le est vide et quaucun chemin augmentant de s p na pu tre dtermin
Frederic.Guinand@univ-lehavre.fr
Analyse de la complexit
Frederic.Guinand@univ-lehavre.fr
Complexit
Exercice.
Frederic.Guinand@univ-lehavre.fr
Rfrences
Frederic.Guinand@univ-lehavre.fr
Rfrences
Maximal Flow Through a Network. L. R. Ford, Jr. and D. R. Fulkerson. Canadian Journal of Mathematics, vol. 8, pages 399-404, 1956. Ford-Fulkerson Max-Flow Labeling Algorithm. Harvey J. Greenberg. Rapport de recherche. University of Colorado, Denver. Decembre 1998.
Frederic.Guinand@univ-lehavre.fr