ALG 5. low Algorihm: () Mx-flow, min-u Theorem () Augmening Ph () 0 - flow (d) Verex Conneiviy (e) Plnr low Min Reding Seleion: CLR, Chper 7 Algorihm Profeor John Reif Auxillry Reding Seleion: Hndou: "Nework low" Cominoril Opimizion, y Eugene Lwler, Hol, Rinehr, Winon, 976. Nework Definiion: digrph G = ( V, E) diinguihed verie : oure Œ ink Œ edge piie : : EÆR + Ê Revere Edge : E R = revere of edge Á Ë in E u v u v ( u,v ) ( u,v ) R ( u,v ) R = ( v,u ) low f : E» E R ( ) ÆR + " e Œ E " v Œ V - {, } () () () ( V V f ( e) = -f ( e R ) fe ( ) ( e)  v, u ) Œ E fv,u ( )=0
low f Vlue ( f ) =  f (,v ) v Œ V = um of flow from oure u X, X i priion of V where ŒX, ŒX ( ) =  f v,u f X, X v ŒX uœx ( ) Lemm: The flow ro ny u X, X X X proof: Q. E. D. i equl o he vlue( f ). ( ) = f u,v f X, X  ( ) =  f ( v,w) v ŒX uœx =  f ( v,w) = vlue f v,w ŒX ( ) v ŒX w ŒX - 0 = vlue( f ).
reidul piy of edge e: re( e) = e ( ) - f ( e) reidul grph R: ue modified piie e ( ) = re( e) for re( e) > 0 ugmening ph p for flow f i ph in R from o ( ) = min( re( e) ) re p e Œ p Lemm: R h mx flow vlue vlue( f *) - vlue( f ), where f * i he mx flow of G. proof: If f i flow in R, hen f + f i flow of G. Alo, f = f * - f i flow in R. f(e ) f(e ) + e low f on ph p = e reidul re p e ( ) e,e, K,e k f(e ) f(e ) ( ) =D = min( e ( ) - f ( e) ) e eœp f(e ) + f(e ) e k e k k k + Q. E. D. 5 give Augmened flow f + re( p) 6
Sured Edge f= f= f= f= f=0 f= Sured Edge d f= f= Nework wih low Reidul Nework Augmening Ph (,,d,,,) d min u: u of minimum piy mx flow: mx( vlue( f )) f i flow ord - ulkeron : Theorem: The mx flow f i equl o he min u X, X. proof: () If f i mx flow, hen here n e no ugmening ph from o. Le X = verie in V, rehle from in reidul grph R. X = V - X Vlue f  ( ) =  u,v ( ) Q. E. D. ( ) = f u,v uœx v ŒX uœx v ŒX = X, ( X ) () Clerly, f h vlue mo X, X for ny u X, X. X X Cu ( ) 7 8
,,,,,,,,,,,,,,,,,,,,,,,, Mx low = Min Cu = 6 Lemm: A mo E flow ugmenion re required o onru mx. flow. proof: Suppoe f * i mx flow in G. Le G * e ugrph of G wih po. flow. i 0 while $ ph from o do Êi i + Áfind ph p i from o in G * Á Ále D i = min f * ( e) eœp Á i Áfor ll e Œ p do f * ( e) f * ( e) - D i Á Á if f * ( e) 0, hen delee e from G * Á od Á Áod Ë Edge Leled (Cpiy, low) Noe: Delee le on edge per ep! 9 0
Definiion given flow f ured edge e h f ()= e e () loking flow f every ph from o h ured edge ( o n no ugmen flow! ) Ide: Re - roue flow Level Grph L ugrph of R Noe level ()= v lengh of hore ph from o v in R L onin only edge level ( v,u ) Œ R.. ( u)= level ()+ v L give hore ugmening ph Conru L in O( V + E) ime y Bredh ir Serh of R Dini low Algorihm Inpu: nework G = ( V, E),, ( ) Æ R + piie i : E» E R Iniilizion: "e, f ( e) 0 Loop: [] Conru level grph L for f y Bredh ir Serh. [] By ugmenion, find loking flow f in L from f. [] "e, f ( e) f ( e) + f e ( ) [] If i no in level grph, hen reurn f ele go o []
Theorem Dini ' Algorihm hl fer V loking ep. Nework Proof Suppoe f i urren flow wih R = reidul grph (urrenly) level ( v)= min lengh ph from o v in R R' = new reidul grph level' ( v) = min lengh of ph o v in R' d Clim level '( ) > level ( ) Proof (y onrdiion ) If level( ) = level' ( ), hen level ( w)= level( v) + for every edge ( v,w ) ŒL. Thi onrdi he f h one edge i ured (on he loking flow ) on ny ph p in L. Q. E. D., Hene n ep uffie for he lgorihm Level Grph wih Bloking low f= f= f= f= f= f= f=0 f= d level 0 level level level
nd Level Grph wih Bloking low f= f= f= f= d f=0 level 0 level level level rd Level Grph wih Bloking low f= f= f= f= d f= level 0 level level 5 5 6
inl low f= f= f= f= f= f= d f= f= inding Bloking low Preflow j : (Krznov) () Sifie piie' onrin () My hve unlned veriie where Df (u) = f(u,v) >0 u v Wve mehod: - egin wih loking preflow f (ure on edge on every ph o D - lne verie o f (v) = 0 o ge loking flow S ' To lne loked verex v: D Repe (unil f (v) =0) do hooe edge (u,v) wih f(u,v) > 0 deree f(u,v) y min (f(uv), f(v)) D 7 or 8
To emp o lne unloked verex Df ( v) = 0 v: Repe (unil, or here i no n unured edge ( v,w) where wi unloked). do hooe ome uh edge nd deree ( v,w) ( ( ),Df( v) ). fv,w ( ) y min Cv,w ( ) - fv,w Wve Algorihm for Bloking low Iniilize: wih preflow h ure every edge ou of nd oherwie 0. (e ) 0 M (e ) k 0 0 0 9 0
6,6 6,6 6,6 6,5,,, 5,,,, 5,0 Bloked Bloked,,, 5,0,,, 5,0 d Bloked d d d,0,0,0,,0,,0,,,0,,0,,,, e f e f e f e f,,0,,,,,, Inreed low Dereed low Blned d Edge Leled (Cpiy, low) Dereed low Dereed low Blned All Blned Edge Leled (Cpiy, low)
e loked, nd e V - { } ll unloked. Repe unil here re no unlned verie do Inree flow: Sn ll verie eween, in opologil order, lning every verex v h i unlned nd unloked. (If lning fil, mke v loked.) Deree flow: Sn verie in revere opologil order, lning eh verex h i unlned nd loked. Theorem: Wve Algorihm ompue loking flow in O n ( ) ime (nd hene mx flow in ( ) ime). On Proof (ue invrin): () If v loked fi every ph from v o h ured edge. () The preflow onrued y lgorihm re loking. Modify: loked, nd depring edge ured. Induive Sep: () Snning in opologil order in inree flow gurnee no unloked, unlned verie. () Snning in revere opologil order gurenee every loked verex ge lned. Noe: Eh ep lok le verex fi mo n ep flow on edge e inree nd deree mo one fi ol ime ( ) = ( ) OV + E OV
Improved low Algorihm Sleer - Trjn ue d ruure o deree loking flow lgorihm o O( Elog V ) ime, giving... Theorem Mx flow n e ompued in OVE ( logv ) ime. Speil Ce: 0 - low, if "e ŒE,e ( ) = Uni Nework: All piie ŒZ nd every verex v oher hn or h Ïingle enering edge or Ì Óingle depring edge. Clim: If Uni Nework G h mx flow f, hen mx level i Ê V ˆ + Ë vlue f ( ) Proof: G n e deompoed ino vlue( f ) verex - dijoin ph from o. Theorem (Evn nd Trjn ) 0- low require min V, E ( ) loking ep of level o vlue(f) (level-) V Dini' Algorihm, o ol ime O min V, E ( ( )E log( V) ). 5 6
Theorem: Ê Dini Algorihm h O V Ë uni nework. Proof: () If vlue( f ) V fi# ep V ˆ ep on () If vlue( f ) > V fi level V +, V Ê ˆ o # ep O V Ë. Q. E. D. Ê ˆ Tol Time Uni low i O V E log E Ë. ( - ) Verex Sepror S V: if ll ph from o onin v ŒS. Menger Theroem: The ize of he mlle, Verex Sepror S i exly he me he numer of verex dijoin ph from o. : S 7 8
N(u,v) = min verex u ize for (G,u,v) Trnform Verex Conneiviy o Uni Nework low Prolem G undireed Verex Conneiviy: G ( ) G ( ) = { n - if G i omplee grph Min Nu,v ( ) ele u,v Œ V ( u, v) œ E V V' V" o Lemm G ( ) E V Proof Tol Time OV ( Elog( E) ) o ompue - Verex Conneiviy N(,) (from o ). Conneiviy min vœv u  degree( v) = E vœv degree( v), Hene, G ( ) E V N (, ) = numer of dijoin ph from o. 9 Q. E. D. (lo rue for edge onneiviy) 0
Lemm: If S i ( u,v) Verex Sepror wih S = G ( ), hen G ( ) = min N, ( ) for ll ŒV - S (,)œe Ide: Chooe rndom Œ V. Ê Ê O logá ˆ ˆ Á V E log E Ë Ë e Proof: G - S h le - omponen Rndomized Algorihm for Verex Conneiviy (Mehlhorn & Suden) S Le e ny node in omponen of G - S whih doe no hve. Thu, N(,) S = G ( ). Q. E. D. Ide: Chooe rndom ŒV. Inpu: G = ( V, E), error ound, e, 0< e< [0] m V - Ê logá ˆ [] for i =,,... unil i Ë e Ê log V ˆ Á Ë m do ele i ŒV rndom m min ( m,min N( i,)) od [] oupu m ŒV
Theorem: Pro( m π G ( )) e G = ( V, E) i plnr grph if G n e emedded on plne o no wo edge ro. Proof: Le S e Verex Sepror wih S = G ( ). If m> G ( ), hen,,..., k ll elong o S, where ( ) k log e log( V G ( )) Hene, pro ( m > G ( )) = pro (,..., k ŒS) = S k Ê ˆ Á Ë V Ê = G ( ) ˆ Á Ë V k = -log ( e) = log e =e. 0 Dul: DG ( ) =, DE ( ) ( ) = fe of emedding DE ( ) = { i, j } e ŒE i eween i, j { } 0
Lemm: If G i plnr emedded nework, hen mx flow in G i me min o yle in D( G) epring,. Proof: We ume ( i, j ) = e ( ), if e i eween i, j. Then, y min - o u heorem, flow vlue = min u X, X eween, = min o yle in D( G) epring, G i ouerplnr emedded if he plnr emedding h fe 0 iniden o ll verie. 0 Ide: To redue o Min Co Ph Add new edge (, ) wih weigh. Cyle p in D(G) 0 0 ' 5 6
ind min o ph from 0 o 0 in D( G) = min u in G = mx flow vlue in G Theorem: If G i ouerplnr, we n find mx flow in O( VlogV ) ime. Lemm: [Reif] If m(, ) i minimum o ph in D( G) from fe ounding on o fe ounding on, hen ny min o yle in DG ( ) epring, mu onin n edge of m(, ). m(, ) ph (, ) u yle 7 8
Proof Suppoe no. Then we n horu ny yle of D( G) epring, o ge horer one, uing edge of he m (, ) ph. Theorem: [Reif] The min o flow in plnr grph n e ompued in ( ) ime. OVlog V Proof: Ide: ue m(, ) u in D( G) o guide reurive divide nd onquer lgorihm. On eh ep, divide he m(, ) ph in hlf nd olve he prolem on eh hlf, eprely, uing, u epror. O( logv ) Require ep Eh ep OV ( logv ) m(,) ph ime 9 0