120 likes | 221 Views
5.7 Transport Networks. 5.7.1 Transport Networks Transport Networks A conservation flow f value of the conservation flow v f Maximum flow Cut E(P,V-P) Capacity of a cut Minimum cut. Theorem 5.23: For every conservation flow f and any cut E(P,V-P), the result holds: V f C(P,V-P).
E N D
5.7 Transport Networks • 5.7.1 Transport Networks • Transport Networks • A conservation flow f • value of the conservation flow vf • Maximum flow • Cut E(P,V-P) • Capacity of a cut • Minimum cut
Theorem 5.23: For every conservation flow f and any cut E(P,V-P), the result holds: VfC(P,V-P). • VfC(P,V-P), • VfmaxCmin(P,V-P)
5.7.2 A Maximum flow algorithm • Lemma 5.3: Let f be a conservation flow, E(P,V-P) be a cut. If Vf=C(P,V-P),then Vfmax=Vf ,Cmin(P,V-P)=C(P,V-P). • Proof: By the theorem 5.23, • Theorem 5.23: For every conservation flow f and any cut E(P,V-P), the result holds: VfC(P,V-P).
Frod,Falkerson • 1956 • 1)We construct a initial conservation flow in N(V,E,C) • Generally, we set fij0=0 for every edge (i,j) of N. The conservation flow is called zero flow. • 2)We shall construct an increasing sequence of flows f 1, f 2,…, f n, that has to terminate in a maximal flow. • How do we construct the increasing sequence?
Let u be an undirected path from s to t, • (1)When u is a directed path from s to t, if fij<cij for every edge of the path, then we change fij for every edge of the path, which equals min{cij-fij} • 1)Label s with (-,Δs), where Δs=+∞ • 2)Suppose that vertex i is labeled, Let j be an adjacent vertex of i, and no labeled. If fij<cij,then j is labeled (i+, Δj), where Δj = min{Δi,cij- fij} • 3)If t is labeled, then an increasing flow is constructed. We change fij to fij +Δt for every edge of the path u.
In the path (s,b,c,t) from s to t, edge (c,b) is reverse order .
Suppose that vertex b is labeled, If fcb>0,then c is labeled (b-,Δc), where Δc = min{Δb,fcb} • If t is labeled, then an increasing flow is constructed. • We change fij to fij +Δt when (i,j)E, if (i,j)E then we change fji to fji -Δt.
0) Construct a initial conservation flow in N(V,E,C). • 1) Label s with (-,+∞). • U={x|x is an adjacent vertex of s} • 2)Suppose that vertex i is labeled, and j is no labeled, where jU. • U=U-{j} • i) If (i,j)E and fij<cij, then • { j is labeled (i+, Δj), where Δj = min{Δi,cij- fij}, • U=U∪{x|x is an adjacent vertex of j}. goto 3) } • ii)If (j,i)E and fji>0,then • {j is labeled (i-, Δj), where Δj = min{Δi,fji}. • U=U∪{x|x is an adjacent vertex of j} } • If j is not labeled, then goto 4) • 3)If t is labeled then • { We change fij to fij +Δt . if j is labeled with i+. • If j is labeled with i-, then fji is changed to fji –Δt goto 1) • else goto 2) • 4)If U then goto 2) else stop.
Theorem 5.24: The labeling algorithm produces a maximum flow. • Proof: P={x|x is labeled when algorithm end},thus V-P={ x|x is not labeled when algorithm end}. • By the labeling algorithm, sP and tV-P. Thus E(P,V-P)is a cut. • (1) (i,j) E(P,V-P)(i.e. iP. jV-P) • fij=cij, • (2) (j,i) E (i.e. iP. jV-P) • fji=0. • By lemma 5.3, the labeling algorithm produces a maximum flow.
Exercise: P314 7,9,10,11,17,19, 20,21 • Next: Graph Matching 8.5 P315 • Planar Graphs