Platformă e e-learning și urriulă e-ontent pentru învățământul uperior tehni Proietarea Algoritmilor 23. Flux. Rețele e flux. Operații u fluxuri. Rețele reziuale.
Biliografie [1] C. Giumale Introuere in Analiza Algoritmilor - ap. 5.6 [2] Cormen Introuere in algoritmi - ap. 27 [3] Wikipeia - http://en.wikipeia.org/wiki/for- Fulkeron_algorithm
Oietive Definirea oneptului e rețea e flux (au e tranport). Ientifiarea prinipalilor algoritmi e alulează fluxul maxim printr-o rețea.
Definirea prolemei Rețea e tranportă iferite materiale între un prouător și o etinație. Fieare ar are o apaitate maximă e tranport. Treuie ientifiat fluxul maxim e poate fi tranportat prin rețea. Rețele: Eletrie; Apă; Informații; Drumuri.
Rețea e flux Definiție G(V,E) graf orientat; (u,v) 0 (u,v) = apaitatea arelor; Daă (u,v) E (u,v) = 0; S ura trafiului; T etinația trafiului (rena); Pp. u V \ {, t}..u..t.
Exemplu e rețea e flux 8 4 a 2 3 2 t 5 9 ura, t etinația. Pe are ete reprezentată apaitatea arului.
Flux. Definiție. Proprietăți. G = (V,E) rețea e flux; : V x V - apaitatea rețelei; f: V x V - fluxul prin rețeaua G; Proprietăți: u, v V, f(u,v) (u,v) (fluxul printr-un ar ete mai mi au egal u apaitatea arului) repetarea apaității arelor; u, v V, f(u,v) = -f(v,u) imetria fluxului; Σf(u,v) = 0 pentru u V \ {,t} onervarea fluxului.
Exemplu e fluxuri 1/8 a 1/2 2/2 4/4 3/3 t 3/5 3/9 i2+i3-i4-i1=0 (P3) Σf(u,v) = 0 pentru u V \ {,t} fluxul e onervă; Proprietatea 3 = legea urentului (Kirhoff) - uma I. urenților e intră intr-un no = uma I. urenților e ie in noul repetiv.
Flux. Notații. f(u,v) fluxul in u pre v; f i (u) = Σf(v,u) fluxul total are intra în noul u; f o (u) = Σf(u,v) fluxul total are iee in noul u; Valoarea totală a fluxului: f = Σf(,v) = f o (); f = fluxul e părăește ura; Cf. proprietăților P1-P3: f = Σf(,v) = Σf(v,t) = f i (t).
Sure multiple, etinații multiple Sure multiple { 1, 2,, n }; f o ( 1 )/ 1 t 1 f i (t 1 )/ Detinații multiple {t 1, t 2,, t m }; Se aaugă o ură uniă u are e apaitate infinită pre urele 1.. n și flux egal u fluxul generat e urele repetive; f o ( 2 )/ f o ( 3 )/ 2 3 f o ( n )/ n f t i (t 2 )/ 2 t f i (t)/... f i (t)/... f i (t m )/ t m Se aaugă o etinație uniă t și are e apaitate infinită între t 1..t m și t și flux egal u fluxul e intră în etinațiile repetive.
Operații u fluxuri X,Y mulțimi e nouri; f(x,y) = Σ x X Σ y Y f(x,y) = fluxul între X și Y; Operații: X V: f(x,x) = 0; X,Y V: f(x,y) = -f(y,x); X,Y,Z V și Y X: f(x \ Y, Z) = f(x,z) - f(y,z); f(z, X \ Y) = f(z,x) - f(z,y); X,Y,Z V și X Y= : f(x Y, Z) = f(x,z) + f(y,z); f(z, X Y) = f(z,x) + f(z,y) f(,v) = f(v,t)
Exemplu operații fluxuri (1) 1/8 X a 1/2 2/2 4/4 3/5 3/3 t 3/9 Y f(x,y) = Σ x X Σ y Y f(x,y) f(x,x) = f(,a) + f(a,) + f(,) + f(,) + f(a,) + f(,a) = 0 f(x,y) = f(,) + f(,t) = -f(,) - f(t,) = -f(y,x)
Exemplu operații fluxuri (2) 1/8 X 4/4 a 1/2 3/3 Y 2/2 t 3/5 3/9 Z X, Y, Z V i Y X f(x \ Y, Z) = f(x, Z) - f(y, Z) f(z, X \ Y) = f(z, X) - f(z, Y) f(x \ Y, Z) = 0 = f(,t) + f(,) - f(,t) - f(,) = f(x,z) - f(y,z) f(z, X \ Y) = 0 = f(t,) + f(,) - f(t,) - f(,) = f(z,x) - f(z,y)
Exemplu operații fluxuri (3) 1/8 X a 1/2 Z 2/2 4/4 3/5 3/3 t 3/9 Y X, Y, Z V i X Y = f(x Y, Z) = f(x,z) + f(y,z) f(z, X Y) = f(z,x) + f(z,y) f(x Y, Z) = f(,) + f(a,) + f(t,) + f(,) = f(x,z) + f(y,z) f(z, X Y) = f(,a) + f(,) + f(,t) + f(,) = f(z,x) + f(z,y)
Exemplu operații fluxuri (4) 1/8 a 1/2 2/2 4/4 3/3 t 3/5 3/9 f(, V) = f(v, t) f(, V) = f(,a) + f(,) = 5 = f(,t) + f(,t) = f(v, t)
Ar reziual. Capaitate reziuală. Definiție: Un ar (u,v) pentru are f(u,v) < (u,v) e numește ar reziual. Fluxul pe aet ar e poate mări. Definiție: Cantitatea u are e poate mări fluxul pe arul (u,v) e numește apaitatea reziuală a arului (u,v) ( f (u,v)). f (u,v) = (u,v) - f(u,v).
Rețea reziuală. Cale reziuală. G = (V,E) rețea e flux u funția e apaitate. Definiție: Rețeaua reziuală (G f = (V,E f )) ete o rețea e flux formată in arele e amit reșterea fluxului: E f = {(u,v) V x V f (u,v) > 0}. Oervație: E f E!!! Definiție: Cale reziuală e un rum..t G f, une f (u,v) ete apaitatea reziuală a arului (u,v). Definiție: Capaitatea reziuală a ăii = apaitatea reziuală minimă e pe alea..t eoperită.
Exemplu rețea reziuală 2/8 1/6 1/2 a 4/4 3/3 4/12 2/2 4/9 t 2 1 6 4 5 a 8 1 3 1 5 2 t 4 2 1 a 6 4 1 2 4 Rețeaua reziuală G f = (V,E f ) une E f = {(u,v) V x V f (u,v) > 0} 1 5 8 3 5 t 4 Calea reziuală: a t Capaitatea reziuală a ăii: f (p) = min{6, 5, 8, 5} = 5 4
Rețea reziuală Lemă 5.16: Fie G = (V,E) rețea e flux, f fluxul în G, G f rețeaua reziuală a lui G. Fie f un flux prin G f și f+f o funție efinită atfel: f+f (u,v) = f(u,v) + f (u,v). Atuni f+f reprezintă un flux în G și f+f = f + f Aeată Lemă ne pune um putem mări fluxul printr-o rețea e flux.
Flux în rețeaua reziuală Lemă 5.17: G rețea e flux, f flux în G, p =..t ale reziuală în G f, f p :V x V-> e efinește a fiin: f p (u,v) = f (p), aă (u,v) p - f (p), aă (v,u) p 0, aă (u,v) și (v,u) p f p = flux în G f ; f p = f (p) Corolar 5.4: f = f + f p = flux în G, atfel înât f = f + f p > f. Aeată Lemă ne pune um e efinește fluxul printr-o rețea reziuală.
Exemplu maximizare flux a 2/8 1/6 1/2 2/2 2 a 6 4/4 3/3 4 t 5 4/9 1 4/12 f(..t) = 2 + 4 = 6 f p (..t) = 5 a 7/8 6/6 1/2 2/2 4/4 3/3 t 9/9 9/12 1 1 2 3 t 5 8 4 4 f = f + f p = 6 + 5 = 11