H.3 PROLÈME E FLOTS 3.1 Le réeaux de ranpor 3.2 Le flo maximum e la coupe minimum 3.3 L'algorihme de Ford e Fulkeron 3. Quelque applicaion Opi-comb ch 3 1 3.1 Le réeaux de ranpor Réeau de ranpor : graphe oriené avec pour chaque arc une capacié. La capacié c(u, v) e un enier poiif ou nul. Il y a aui une ource e un pui. ucun arc n'arrive à la ource e aucun arc ne quie le pui. Un flo e une foncion enière poiive ou nulle f définie ur le arc aifaian : onraine de capacié : f(u, v) c(u, v) ; Symérie : f(u, v) = f(v, u) ; onervaion du flo : pour ou omme aure que e, la omme de flo ur le arc enran e la omme de flo ur le arc oran on égale ("Loi de Kirchhoff"). Exemple : circui élecrique ou hydraulique, réeaux de communicaion, modéliaion de ranpor Opi-comb ch 3 2
16 10 12 9 7 20 13 1 Réeau de ranpor avec le capacié /16 0/10 1/ 12/12 /9 7/7 1/20 8/13 /1 / Un flo ur le réeau de ranpor Opi-comb ch 3 3 Quand deux arc en en invere relien deux omme, on peu oujour annuler la foncion flo ur l'un de deux. Propriéé : la omme de flo ur le arc oran de la ource e la omme de flo ur le arc arrivan au pui on égale ; cee valeur e la valeur du flo f ; i on épare le omme en deux ou-enemble E conenan e F = E conenan, alor la omme de valeur du flo ur le arc de E ver F moin la omme de valeur du flo ur le arc de F ver E vau aui f. Une elle éparaion en deux ou enemble de omme e appelée une coupe e cee différence de omme de flo e appelée flo ne raveran la coupe. Opi-comb ch 3
La deuxième propriéé e donc que le flo ne raveran une coupe ne dépend pa de la coupe. émonraion de propriéé : Pour la deuxième, on par de E 0 = { }. Pui on ajoue le omme un à un juqu'à obenir E. La propriéé de conervaion du flo pour chaque omme ajoué perme de vérifier que le flo ne e invarian. La première propriéé en découle, avec E = { }, pui avec E = { }. Si E/F e une coupe du réeau, la capacié de la coupe e la omme de capacié de arc allan de E ver F. La propriéé de l'invariance du flo ne monre que f e inférieur à la capacié de n'impore quelle coupe. Opi-comb ch 3 3.2 Le flo maximum e la coupe minimum Il exie oujour un flo poible qui e le flo nul. Problème : commen rouver un flo qui a la valeur maximum? elui de l'exemple e-il maximum? Recherche d'un chemin amélioran. éerminer le réeau réiduel : pour chaque arc (u, v), f(u, v) c(u, v), on peu augmener le flo de c(u, v) f(u, v), e on peu le diminuer de f(u, v), donc faire paer un flo f(u, v) ur l'arc (v, u). Si ce arc exie déjà avec une capacié c(v, u), celle-ci 'ajoue à f(v, u). Le graphe oriené avec ce capacié e le réeau réiduel. On cherche un chemin de à dan le réeau réiduel. Il correpond à une poibilié d'amélioraion du flo en modifian de la valeur du minimum de capacié réiduelle ur le chemin. Opi-comb ch 3 6
/16 0/10 1/ 12/12 /9 7/7 1/20 8/13 /1 / Le flo 12 8 3 3 7 1 Le réeau réiduel correpondan Opi-comb ch 3 7 12 3 7 8 Un chemin amélioran 3 1 /16 0/10 1/ 12/12 0/9 7/7 19/20 12/13 /1 / Le flo aprè amélioraion Opi-comb ch 3 8
12 1 12 3 9 3 7 19 1 Le nouveau réeau réiduel an ce réeau, il n'y a pa de chemin de à, donc pa de chemin amélioran. Opi-comb ch 3 9 Théorème (flo maximum e coupe minimum) Si f e un flo dan un réeau de ranpor, le roi condiion uivane on équivalene : 1. f e un flo maximum ; 2. Le réeau réiduel de f ne conien aucun chemin amélioran ; 3. Il exie une coupe E/F don la capacié vau f. Remarque : La condiion 3. implique que f e la valeur minimum de capacié de coupe du réeau, puiqu'on ai déjà que f e inférieur à la capacié de n'impore quelle coupe. 'où le nom du héorème. Opi-comb ch 3 10
émonraion : 1. 2. Si on rouve un chemin amélioran, on peu augmener f. e flo n'éai donc pa maximum. 2. 3. S'il n'y a pa de chemin amélioran, oi E la compoane foremen connexe de dan le graphe réiduel. Le complémenaire F = E conien. Tou le arc enre E e F dan le graphe réiduel von de F ver E. onc pour ou arc a du réeau iniial de E ver F la valeur du flo e égale à la capacié e elle e nulle pour ou arc de F ver E. onc f e égal à la capacié de la coupe E/F. 3. 1. Si un flo a comme valeur la capacié d'une coupe, il e néceairemen maximum, puique ou le flo on inférieur à la capacié de n'impore quelle coupe. e héorème juifie la recherche d'un chemin amélioran pour obenir un flo maximal. Opi-comb ch 3 3.3 L'algorihme de Ford e Fulkeron On par d'un flo quelconque (évenuellemen nul) ; On fabrique le réeau réiduel ; On cherche un chemin amélioran ; On ière juqu'à ce qu'on ne rouve plu de el chemin. La complexié de l'algorihme dépend de l'implémenaion. La recherche d'un chemin amélioran peu êre faie en O(a) ; l'acualiaion du graphe réiduel aui ; ce qui donne donc O(a f max ). Lorque la valeur de f max e peie, cee complexié e bonne. La meilleure raégie pour la recherche d'un chemin amélioran e de faire une exploraion du graphe réiduel en largeur. L'algorihme prend alor le nom d'algorihme d'edmond-karp. Opi-comb ch 3 12
Suppoon que le réeau compore n omme e a arc. Une analye approfondie de différence enre le diver réeaux réiduel perme de monrer que le nombre d'iéraion dan l'algorihme d'edmond-karp e en O(n a). haque iéraion donne un chemin amélioran en O(a), d'où une complexié en O(n a 2 ). 'aure méhode (préflo) permeen de rouver le flo maximum en O(n 3 ). Variane e applicaion : Parfoi, il y a pluieur ource e pluieur pui. On peu dan ce ca rajouer une "uper-ource" e un "uper-pui" relié repecivemen aux ource e aux pui par de arc de capacié infinie. Opi-comb ch 3 13 1 2 3 1 2 3 djoncion d'une uper-ource e d'un uper-pui an une variane, chaque arc a une capacié maximale e une capacié minimale. L'algorihme de Ford-Fulkeron foncionne à condiion de parir d'un flo réaliable (il n'en exie pa oujour...) Si la capacié d'un arc e un nombre réel poiif ou nul, eule la recherche de chemin amélioran en lareur aure la convergence en un emp fini. Le héorème de la coupe perme d'idenifier le arc auré don l'augmenaion de capacié permerai d'améliorer le flo maximum. e on le arc criique. Opi-comb ch 3 1
3. Quelque applicaion Lorque la capacié d'un arc e égale à 1, un flo de ver e un enemble de chemin de ver n'ayan aucun arc en commun. La valeur d'un flo maximum e alor le nombre de el chemin de ver. Suppoon que cee valeur oi k. ela ignifie donc que la uppreion de moin de k arc dan le réeau ne déconnece pa e. ee valeur peu êre calculée en O(a k). Un graphe e k-connexe par arc lorque, quel que oien k arc du graphe, leur uppreion ne déconnece aucun couple de omme. ee propriéé e uile pour meurer la olérance d'un réeau aux coupure de ligne. Lorque le omme e ne on pa la ource e le pui, on peu uilier l'auce précédene (uper-ource e uper-pui). Opi-comb ch 3 1 Le degré de connexié par arc d'un graphe e donc le minimum de valeur de flo allan de n'impore quel omme à n'impore quel aure. Il emble que la complexié oi donc O(n 2 a k). En fai, il uffi d'ordonner le omme arbirairemen : x 1, x 2,..., x n, e de faire ce calcul pour le paire de omme conécuif e pour (x n, x 1 ). omme on a moin de couple de omme, le minimum de valeur de flo pourrai augmener. Mai un couple (u, v) e un couple (x i, x j ). Si la uppreion de k arc déconnece u e v, elle déconnece néceairemen l'un de couple (x i, x i +1 ), (x i + 1, x i + 2 ),..., (x j 1, x j ). Le degré de connexié d'un graphe peu donc êre calculé en O(n a k). Opi-comb ch 3 16
Une aure applicaion du ca de capacié égale à 1 e la recherche d'un couplage maximum dan un graphe bipari. Graphe bipari : on conidère deux enemble de omme e on uppoe que le arêe relien de omme de l'un à de omme de l'aure. On peu voir le premier comme de peronne, le econd comme de âche e le arêe comme de capacié d'affecaion de peronne aux âche. E F 1 2 3 6 E-il poible d'affecer oue le peronne à oue le âche? Sinon, quel e le nombre maximum d'affecaion pouvan êre réaliée? Un placemen mal commencé peu abouir à un blocage : -1, -2, - (forcé), -3, impoible pour E. Opi-comb ch 3 17 La recherche d'un couplage dan un graphe bipari peu êre effecuée au moyen d'un algorihme de flo. On oriene oue le arêe de peronne ver le âche, on leur donne la capacié 1, pui on ajoue une ource e un pui relié repecivemen aux peronne e aux âche par de arc de capacié 1. La complexié e donc O(n a), puique le flo vau au plu n. 1 E 2 3 Flo maximum de ver rouvé par Ford-Fulkeron. Toue le peronne e oue le âche on affecée. F 6 Opi-comb ch 3 18
Parfoi, un réeau évolue dan le emp : phae ranioire, modificaion de capacié avec le emp. Si le emp e dicre e que le parcour d'un arc prend une unié de emp, on peu repréener le réeau à chaque valeur du emp dicre en connecan le omme d'un niveau au uivan. ela perme de réoudre de problème logiique (éleage de roue en ca de bouchon prévu,...) Si on cherche à effecuer un plan de circulaion dan un graphe à n omme e a arc pendan un emp, on e ramène à un problème de flo dan un graphe ayan n ( + 1) omme e a arc. L'algorihme d'edmond-karp perme de réalier le plan de circulaion en un emp O(n a 2 ). Opi-comb ch 3 19