Flow networks, flow, maximum flow. Some definitions. Edmonton. Saskatoon Winnipeg. Vancouver Regina. Calgary. 12/12 a.

Similar documents
1 Motivation and Basic Definitions

Flow networks. Flow Networks. A flow on a network. Flow networks. The maximum-flow problem. Introduction to Algorithms, Lecture 22 December 5, 2001

Graphs III - Network Flow

Main Reference: Sections in CLRS.

Today: Max Flow Proofs

Soviet Rail Network, 1955

26.1 Flow networks. f (u,v) = 0.

CSC 364S Notes University of Toronto, Spring, The networks we will consider are directed graphs, where each edge has associated with it

CS4445/9544 Analysis of Algorithms II Solution for Assignment 1

Problem Set If all directed edges in a network have distinct capacities, then there is a unique maximum flow.

Network Flow. Data Structures and Algorithms Andrei Bulatov

Algorithms and Data Structures 2011/12 Week 9 Solutions (Tues 15th - Fri 18th Nov)

Network Flows: Introduction & Maximum Flow

The Residual Graph. 12 Augmenting Path Algorithms. Augmenting Path Algorithm. Augmenting Path Algorithm

Maximum Flow and Minimum Cut

The Residual Graph. 11 Augmenting Path Algorithms. Augmenting Path Algorithm. Augmenting Path Algorithm

! Abstraction for material flowing through the edges. ! G = (V, E) = directed graph, no parallel edges.

Max Flow, Min Cut COS 521. Kevin Wayne Fall Soviet Rail Network, Cuts. Minimum Cut Problem. Flow network.

Soviet Rail Network, 1955

CS 473G Lecture 15: Max-Flow Algorithms and Applications Fall 2005

CSE 521: Design & Analysis of Algorithms I

Matching. Slides designed by Kevin Wayne.

Algorithmic Discrete Mathematics 6. Exercise Sheet

Admin MAX FLOW APPLICATIONS. Flow graph/networks. Flow constraints 4/30/13. CS lunch today Grading. in-flow = out-flow for every vertex (except s, t)

18 Extensions of Maximum Flow

Randomized Perfect Bipartite Matching

Algorithm Design and Analysis

MAXIMUM FLOW. introduction Ford-Fulkerson algorithm maxflow-mincut theorem

6/3/2009. CS 244 Algorithm Design Instructor: t Artur Czumaj. Lecture 8 Network flows. Maximum Flow and Minimum Cut. Minimum Cut Problem.

4/12/12. Applications of the Maxflow Problem 7.5 Bipartite Matching. Bipartite Matching. Bipartite Matching. Bipartite matching: the flow network

Greedy. I Divide and Conquer. I Dynamic Programming. I Network Flows. Network Flow. I Previous topics: design techniques

16 Max-Flow Algorithms and Applications

Algorithm Design and Analysis

Reminder: Flow Networks

Network Flows UPCOPENCOURSEWARE number 34414

Flow Networks. Ma/CS 6a. Class 14: Flow Exercises

They were originally developed for network problem [Dantzig, Ford, Fulkerson 1956]

CSE 421 Introduction to Algorithms Winter The Network Flow Problem

Maximum Flow. How do we transport the maximum amount data from source to sink? Some of these slides are adapted from Lecture Notes of Kevin Wayne.

Maximum Flow. Contents. Max Flow Network. Maximum Flow and Minimum Cut

Please Complete Course Survey. CMPSCI 311: Introduction to Algorithms. Approximation Algorithms. Coping With NP-Completeness. Greedy Vertex Cover

Introduction to Congestion Games

Network flows. The problem. c : V V! R + 0 [ f+1g. flow network G = (V, E, c), a source s and a sink t uv not in E implies c(u, v) = 0

CMPS 6610/4610 Fall Flow Networks. Carola Wenk Slides adapted from slides by Charles Leiserson

23 Maximum Flows and Minimum Cuts

Algorithms. Algorithms 6.4 MAXIMUM FLOW

EECE 301 Signals & Systems Prof. Mark Fowler

, the. L and the L. x x. max. i n. It is easy to show that these two norms satisfy the following relation: x x n x = (17.3) max

Introduction to SLE Lecture Notes

Maximum Flow in Planar Graphs

Average Case Lower Bounds for Monotone Switching Networks

Basic Tools CMSC 641. Running Time. Problem. Problem. Algorithmic Design Paradigms. lg (n!) (lg n)! (lg n) lgn n.2

16 Max-Flow Algorithms

Today s topics. CSE 421 Algorithms. Problem Reduction Examples. Problem Reduction. Undirected Network Flow. Bipartite Matching. Problem Reductions

To become more mathematically correct, Circuit equations are Algebraic Differential equations. from KVL, KCL from the constitutive relationship

3/3/2015. Chapter 7. Network Flow. Maximum Flow and Minimum Cut. Minimum Cut Problem

7. NETWORK FLOW I. Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley. Last updated on 11/22/17 6:11 AM

April 3, The maximum flow problem. See class notes on website.

Discussion Session 2 Constant Acceleration/Relative Motion Week 03

CHAPTER 7: SECOND-ORDER CIRCUITS

Inventory Analysis and Management. Multi-Period Stochastic Models: Optimality of (s, S) Policy for K-Convex Objective Functions

7. NETWORK FLOW I. Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley. Last updated on 11/22/17 6:11 AM

2. VECTORS. R Vectors are denoted by bold-face characters such as R, V, etc. The magnitude of a vector, such as R, is denoted as R, R, V

Selfish Routing. Tim Roughgarden Cornell University. Includes joint work with Éva Tardos

6.8 Laplace Transform: General Formulas

u(t) Figure 1. Open loop control system

Chapter 7: Inverse-Response Systems

Graph Theory: Network Flow

introduction Ford-Fulkerson algorithm

Notes for Lecture 17-18

Additional Methods for Solving DSGE Models

3.6 Derivatives as Rates of Change

Solutions to Assignment 1

What is maximum Likelihood? History Features of ML method Tools used Advantages Disadvantages Evolutionary models

7.5 Bipartite Matching. Chapter 7. Network Flow. Matching. Bipartite Matching

KINEMATICS IN ONE DIMENSION

Laplace Transform. Inverse Laplace Transform. e st f(t)dt. (2)

EXERCISES FOR SECTION 1.5

Notes on cointegration of real interest rates and real exchange rates. ρ (2)

Maximum Flow 5/6/17 21:08. Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015

Math 333 Problem Set #2 Solution 14 February 2003

Designing Information Devices and Systems I Spring 2019 Lecture Notes Note 17

introduction Ford-Fulkerson algorithm

Physics 240: Worksheet 16 Name

18.03SC Unit 3 Practice Exam and Solutions

CHAPTER 12 DIRECT CURRENT CIRCUITS

13.1 Circuit Elements in the s Domain Circuit Analysis in the s Domain The Transfer Function and Natural Response 13.

Selfish Routing and the Price of Anarchy. Tim Roughgarden Cornell University

Wrap up: Weighted, directed graph shortest path Minimum Spanning Tree. Feb 25, 2019 CSCI211 - Sprenkle

Computer-Aided Analysis of Electronic Circuits Course Notes 3

Math 2142 Exam 1 Review Problems. x 2 + f (0) 3! for the 3rd Taylor polynomial at x = 0. To calculate the various quantities:

Monochromatic Infinite Sumsets

Random Walk with Anti-Correlated Steps

T L. t=1. Proof of Lemma 1. Using the marginal cost accounting in Equation(4) and standard arguments. t )+Π RB. t )+K 1(Q RB

Topics in Combinatorial Optimization May 11, Lecture 22

Chapter 2. First Order Scalar Equations

Physics 235 Chapter 2. Chapter 2 Newtonian Mechanics Single Particle

20/20 20/20 0/5 0/5 20/20 20/20 5/5 0/5 0/5 5/5 0/20 25/30 20/20 30/30 20/20 0/5 5/5 20/20 0/5 0/5 15/20 15/25 20/20 10/10

7.5 Bipartite Matching. Chapter 7. Network Flow. Matching. Bipartite Matching

Exponential Sawtooth

Transcription:

Flow nework, flow, maximum flow Can inerpre direced graph a flow nework. Maerial coure hrough ome yem from ome ource o ome ink. Source produce maerial a ome eady rae, ink conume a ame rae. Example: waer hrough yem of pipe curren hrough elecrical nework daa hrough nework ruck from facory o warehoue Each edge ha given capaciy (pipe: x gallon of waer per minue; ree: y ruck per hour; nework: z kb per econd). Verice are juncion, for hoe oher han ource and ink, maerial flow hrough hem wihou collecing in hem (i.e., rae a which maerial ener verex equal rae a which i leave i; flow conervaion ). In maximum-flow problem, we wih o compue greae poible rae of ranporaion from ource o ink. Maximum Flow Some definiion Flow nework G =(V,E) i direced graph, each edge (u, v) 2 E ha non-negaive capaciy c(u, v) 0. If (u, v) 62 E, we aume c(u, v) =0. Two diinguihed verice: ource and ink. We aume ha every verex lie on ome pah from o, i.e., for each v 2 V, here i a pah ; v ; (implie ha G i conneced, E V ). A flow in G i a real-valued funcion f : V V! IR, ha aifie hee hree properie: Capaciy conrain: For all u, v 2 V, we require f(u, v) apple c(u, v). Flow from one verex o anoher mu no exceed given capaciy. Skew ymmery: For all u, v 2 V, we require f(u, v) = f(v, u). Flow from verex u o verex v i negaive of flow in revere direcion. Flow conervaion: For all u 2 V {, }, we require f(u, v) =0. Toal flow ou of a verex (oher han ource or ink) i 0. Can rewrie a 8v 2 V {, } : f(u, v) =0, i.e., oal flow ino averexi0. P u2v Maximum Flow 2 f(u, v) can be poiive, zero, or negaive i called flow from u o v. The value of flow f i defined a he oal flow leaving he ource (and hu enering he ink): f = f(, v) Noe: doe no mean abolue value or cardinaliy ). The oal poiive flow enering verex v i f(u, v) u2v : f(u,v)>0 Alo, oal poiive flow leaving verex u i f(u, v) The oal ne flow a a verex v i : f(u,v)>0 oal poiive flow leaving v oal poiive flow enering v Maximum Flow 3 Edmonon Vancouver 6 0 4 3 Calgary /6 8/3 Sakaoon 2 20 Winnipeg 9 7 4 4 Regina 2/2 a c 5/20 0 /4 4/9 7/7 4/4 b d /4 Second figure how flow f in G wih value f = 9. Maximum Flow 4

Cancellaion In general, cancellaion allow o repreen hipmen beween wo ciie by a flow ha i poiive along a mo one of he wo edge. Suppoe a company hip 8 crae per day from Edmonon o Calgary, and 3 crae per day from Calgary o Edmonon. Naural enough, bu we can repreen hee hipmen direcly by flow: keyymmery i violaed [mu have f(u, v) = f(v, u)]. However, he raegy i poinle anyway: why hip 8 crae from Edmonon o Calgary, and 3 creae back, inead of ju hipping 5 crae from Edmonon o Calgary? In effec, 3 of he 8 crae from Edmonon o Calgary are cancelled by he 3 crae from Calgary o Edmonon. We repreen hi wih a flow: we have f(e,c) =5and f(c, E) = 5. Cancellaion will arie implicily in he algorihm. Suppoe (u, v) ha flow of f(u, v). We may increae flow on edge (v, u) by ome amoun d. Mahemaically, hi mu decreae f(u, v) by d. We hink of hee d uni a cancelling d uni ha are already on (u, v) (increae in one direcion cancel flow in oher). Maximum Flow 5 Maximum Flow 6 Technical ool Implici ummaion. Le, Y V. Then f(, Y )= f(x, y) x2 y2y For example, flow-conervaion f(u, v) =0 8u 2 V {, } can be wrien imply a f(u, V )=0 8u 2 V {, } Commonly occuring ideniie. For all V, we have f(, ) =0 Becaue each f(u, v) cancel f(v, u), which = f(u, v) by kew ymmery. 2. For all, Y V, we have f(, Y )= f(y,) Generaliaion of f(, ) =0, ame reaoning. 3. For all, Y, Z V wih \ Y = ;, we have f( [ Y,Z)=f(, Z)+f(Y,Z) f(z, [ Y )=f(z, )+f(z, Y ) Spli ummaion ino um of wo ummaion: one over, one over Y. Maximum Flow 7 The Ford-Fulkeron mehod Three imporan idea:. reidual nework 2. augmening pah 3. cu Mehod i ieraive:. Sar wih f(u, v) =0for all u, v 2 V 2. A each ieraion, increae flow value by finding augmening pah a pah from ource o ink along which we can increae flow and hen augmen flow along hi pah. 3. Repea unil no augmening pah can be found. Peudocode: : iniialie flow f o 0 2: while here exi an augmening pah p do 3: augmen flow f along p 4: end while Maximum Flow 8

Reidual nework Idea: Reidual nework coni of edge ha can admi more flow. Given flow nework G =(V,E) and flow f, he reidual nework of G induced by f i G f =(V,E f ) wih E f = {(u, v) 2 V V : c f (u, v) > 0} i.e. each reidual edge ha can admi flow ha i ricly poiive. Formally: Conider verice u and v. Amoun of addiional flow we can puh from u o v before exceeding capaciy c(u, v) i reidual capaciy of (u, v): c f (u, v) =c(u, v) f(u, v). G u 3/5! v =) G f u 2! 4 v Noe: When flow i negaive, hen reidual capaciy c f (u, v) i greaer han c(u, v). Inerpreaion: flow of x from u o v implie flow of x from v o u can be cancelled by puhing x uni from u o v can hen puh anoher c(u, v) from u o v can hu puh oal of x + c(u, v) >c(u, v) from u o v Noe: E f apple 2 E. Maximum Flow 9 Maximum Flow 0 Relaionhip beween flow in reidual nework and flow in original nework. Lemma. Le G =(V,E) be a flow nework, f be a flow in G, G f be he reidual nework of G induced by f, and le f 0 be a flow in G f. Then flow um f + f 0 wih i a flow in G wih value (f + f 0 )(u, v) =f(u, v)+f 0 (u, v) f + f 0 = f + f 0. Proof. Mu verify ha kew ymmery, capaciy conrain, and conervaion are obeyed. Skew ymmery: (f + f 0 )(u, v) = f(u, v)+f 0 (u, v) = f(v, u) f 0 (v, u) = (f(v, u)+f 0 (v, u)) = (f + f 0 )(v, u) Capaciy conrain: Noe f 0 i flow in G f, o f 0 (u, v) apple c f (u, v). Since by def. c f (u, v) =c(u, v) f(u, v), (f + f 0 )(u, v) = f(u, v)+f 0 (u, v) apple f(u, v)+c f (u, v) = f(u, v)+(c(u, v) f(u, v)) = c(u, v) Flow conervaion: For all u 2 V {, }, (f(u, v)+f 0 (u, v)) Value: (f + f 0 )(u, v) = = f(u, v)+ = 0+0 = 0 f + f 0 = (f + f 0 )(, v) = (f(, v)+f 0 (, v)) f 0 (u, v) = f(, v)+ f 0 (, v) = f + f 0 Maximum Flow Maximum Flow 2

Augmening pah Given flow nework G =(V,E) and flow f, anaugmening pah p i a imple pah in reidual nework G f. Recall: each edge (u, v) in G f admi ome addiional poiive flow, obeying capaciy conrain. Flow value can be increaed by G c f (p) = min c f (u, v). (u,v)2p 3/5 2/6 5/5 2/3 2/4 Lemma. Le G =(V,E) be a flow nework, f be a flow in G, and le p be an augmening pah in G f. Define f p : V V! IR by 8 < c f (p) if (u, v) i on p f p(u, v) = c f (p) if (v, u) i on p : 0 oherwie Then f p i a flow in G f wih value f p = c f (p) > 0. G f 2 4 5 2 2 3 2 2 Corollary. Le G, f, p, f p be a above. Define f 0 : V V! IR by f 0 = f + f p. Then f 0 i a flow in G wih value f 0 = f + f p > f. Proof. From la wo lemma. In hi example, augmenaion by 2. Maximum Flow 3 Maximum Flow 4 Cu of flow nework Ne flow acro any cu i he ame: A cu of flow nework G =(V,E) i pariion of V ino S and T = V 2 S and 2 T. S uch ha Lemma. Le f be a flow in a flow nework G wih ource and ink, le(s, T ) be a cu of G. Then he flow acro (S, T ) i f(s, T )= f. If f i a flow in G, hen ne flow acro cu (S, T ) i defined o be f(s, T ), capaciy i c(s, T ). A minimum cu i a cu wih minimum capaciy over all cu. S /6 8/3 0 a b /4 2/2 4/9 /4 Flow: f(a, c)+f(b, c)+f(b, d) = 2 + ( 4) + = 9 Noe: can include negaive flow. c d 7/7 5/20 Capaciy: c(a, c)+c(b, d) = 2 + 4 = 26 Noe: only non-negaive value, only edge going from S o T are being accouned for. Maximum Flow 5 4/4 T Proof. Noe T = V S. f(s, T ) = f(s, V ) f(s, S) = f(s, V ) 0 = f(, V )+f(s, V ) = f(, V )+0 by flow con. = f by def. Corollary. The value of a flow f in a nework G i upper-bounded by he capaciy of any cu (S, T ) in G. Proof. f = f(s, T ) = f(u, v) u2s v2t apple c(u, v) u2s v2t = c(s, T ) Maximum Flow 6

We know: maximum flow in a nework i bounded by capaciy of minimum cu. Following heorem how equaliy. Theorem. (Max-flow min-cu heorem) If f i a flow in a flow nework G =(V,E) wih ource and ink, hen he following condiion are equivalen:. f i a maximum flow in G. 2. The reidual nework G f conain no augmening pah. 3. f = c(s, T ) for ome cu (S, T ) of G. Proof of heorem. () =) (2) Suppoe ha f i a maximum flow in G bu G f ha an augmening pah p. Then by earlier corollary oday (lide 4), flow um f + f p i flow in G w/ value ricly greaer han f, conradicion! (2) =) (3) Suppoe G f doen have augmening pah, i.e., G f conain no pah from o. Define S = {v 2 V : 9 pah from o v in G f } T = V S Pariion (S, T ) i a cu becaue 2 S and 62 S. For each u 2 S, v 2 T we have f(u, v) =c(u, v), becaue oherwie (u, v) 2 E f, v would be in S ( ; u! v). By earlier Lemma, f = f(s, T )=c(s, T ). Remark. By la corollary, value of any flow i a mo capaciy of any cu. In paricular, value of maximum flow i a mo capaciy of minimum cu. Thu, if value of maximum flow equal capaciy of ome cu, hen hi mu a minimum cu (can be greaer). (3) =) () By earlier corollary, f apple c(s, T ) for all cu (S, T ). ha f i maximum flow. Condiion f = c(s, T ) implie Maximum Flow 7 Maximum Flow 8 Baic Ford-Fulkeron algorihm An example: book page 659, figure 26.5 Inpu: G,, : for each edge (u, v) 2 E do 2: f[u, v] 0 3: f[v, u] 0 4: end for 5: while 9 pah p = ; in re. nework G f do 6: c f (p) min{c f (u, v) : (u, v) 2 p} 7: for each edge (u, v) 2 p do 8: f[u, v] f[u, v]+c f (p) 9: f[v, u] f[u, v] 0: end for : end while Maximum Flow 9 Maximum Flow 20

Running ime Depend on how augmening pah in line 5 are deermined. Aimpleanalyi Aume inegral capaciie. Simple bound O(E f ) for running ime when choing pah arbirarily, f being value of maximum flow: iniializaion in line 4 ake O(E) while loop in line 5 i execued a mo f ime (value of flow increae by a lea one uni in each ieraion) work done wihin while loop ake O(V + E) =O(E) if we ue DFS or BFS If choen poorly, algorihm migh no even erminae: value of flow increae wih each ieraion, bu need no even converge o maximum flow value (heoreically; problem arie wih irraional capaciie can be ored on finie-preciion compuer). If choen by uing BFS, running ime i polynomial. (We ll ee laer.) Maximum Flow 2 Maximum Flow 22 Problem cae: Alg. ake (E f ) becaue (u, v) i alway choen o be par of augmening pah. Here: f =2, 000, 000 An improvemen: Edmond-Karp u,000,000,000,000,000,000 v,000,000 Idea: compue augmening pah wih BFS, picking hore pah from ource o ink (hore w.r.. # edge) Thi varian ha running ime O(VE 2 ), no longer dependen on value of maximum flow, f. u,000,000 Def.: f(u, v) i hore-pah diance from u o v in G f (each edge ha uni diance).,000,000 v u v Lemma. If he Edmond-Karp (EK) algorihm i run in flow nework G =(V,E) wih ource and ink, hen 8v 2 V {, }, f(, v) in reidual nework increae monoonically wih each flow augmenaion. Maximum Flow 23 Maximum Flow 24

Proof (by conradicion). Aume for ome v 2 V {, }, here i a fir augmenaion ha caue hore-pah diance o decreae. Le f be flow before hi augmenaion, f 0 be flow aferward. Le v be verex wih minimum f 0(, v) whoe diance wa decreaed, o f 0(, v) < f(, v). Le p = ; u! v be a hore pah from o v in G f 0 o ha (u, v) 2 E f 0 and f 0(, u) = f 0(, v). By choice of v, diance of u did no decreae (v ha malle f 0(, u) f(, u). Claim: (u, v) 62 E f (noe: (u, v) 2 E f 0 by conr.) If we had (u, v) 2 E f, hen alo f(, v) ( ) apple f (, u)+apple f 0(, u)+= f 0(, v) f 0(, )), ha i, So far, o good...... bu how come (u, v) 62 E f and (u, v) 2 E f 0???... here wa no reidual capaciy before, bu here i aferward??? Mu be becaue algorihm ha increaed flow from v o u. EK alway augmen flow along hore pah, hu hore pah from o u in G f ha (v, u) a la edge, and f(, v) = f (, u) apple f 0(, u) = f 0(, v) 2 Conradicion o aumpion f 0(, v) < f (, v), ono uch verex v exi. q.e.d. Conradicion! ( ) Conider a hore pah p from o v, among cheape uch pah. In paricular, p i no more expenive han a hore pah from o v plu edge (u, v), which come wih weigh one. Maximum Flow 25 Maximum Flow 26 We now ue hi lemma o prove... Theorem. If EK i run on a flow nework G =(V,E) wih ource and ink, hen he oal # of flow augmenaion i O(VE). Proof. We call edge (u, v) in G f criical on augmening pah (AP) p if c f (p) = c f (u, v). Noe: afer augmening along AP, all criical edge diappear from reidual nework a lea one edge on any AP mu be criical We how ha each edge can become criical a mo V /2 Le u, v be conneced by ome edge in E. ime. AP are hore pah, hu when (u, v) i criical for he fir ime, we have f(, v) = f (, u)+. Once flow i augmened, (u, v) diappear from reidual nework. I canno reappear on anoher AP unil flow from u o v i decreaed, i.e.,(v, u) appear on an AP. Wih f 0 a flow in G a hi momen, f 0(, u) = f 0(, v)+. Wih f (, v) apple f 0(, v) by Lemma (hore-pah diance increae monoonically), f 0(, u) = f 0(, v)+ f(, v)+= f (, u)+2 Thu, from ime (u, v) become criical o ime when i nex become criical, diance of u from ource (in reidual nework!) increae by 2. Iniially, diance i 0. Inermediae verice on a hore pah ; u can conain, u, [(u, v) on AP implie u 6= ]. Maximum Flow 27 Maximum Flow 28

Thu, unil u become unreachable (if ever), diance i apple V become criical a mo ( V 2)/2 = V /2 =O(V ) ime. 2, and (u, v) can An applicaion of he FF mehod, oher han flow O(E) pair of verice wih edge beween hem in reidual nework, hu oal # of criical edge during enire execuion of KE i O(VE). Each PA ha a lea one criical edge =) q.e.d. Many (combinaorial) problem can be reduced o max-flow problem, for inance, maximum maching in biparie graph. Given undireced, biparie graph G =(L [ R, E) (all edge beween L and R). A maching i a ube M E.. 8v 2 L [ R, a mo one edge i inciden on v. Verex v i eiher mached (here i an edge inciden), or unmached. Each ieraion ake O(E) (find AP by BFS), hu oal running ime i O(VE 2 ). A maximum maching i a maching of maximum cardinaliy (a oppoed o a maximal maching, which i no exendable). Alhough no bad, oher algorihm (puh-relabel mehod) are beer, obain O(V 2 E), or even O(V 3 ). Maximum Flow 29 Maximum Flow 30 Can ue FF mehod o find a maximum maching (MM) in biparie, undireced G =(V,E) in ime polynomial in V and E. Idea: conruc flow nework where flow correpond o maching: More formally,given undireced, biparie G =(V,E), conruc correponding flow nework G 0 =(V 0,E 0 ): le ource and ink be new verice no in V,leV 0 = V [ {, } if verex pariion of G i V = L [ R, he direced edge of G 0 are edge of G, direced from L o R, along wih V new edge each edge in G 0 ha uni capaciy E 0 = {(, u) : u 2 L} [ {(u, v) : u 2 L, v 2 R, (u, v) 2 E} [ {(v, ) : v 2 R} If we aume ha each edge in G ha degree a lea one, we have E hu E apple E 0 = E + V apple 3 E, and o E 0 = (E). V /2 and L R L R Baically, direc edge from L o R add ource and ink + new edge each edge ha capaciy one L R edge ued in maching have flow one oher L R edge have flow zero Maximum Flow 3 Maximum Flow 32

Def.: Aflowf in flow nework G i ineger-valued if f(u, v) i an ineger for all (u, v) 2 V V. Lemma. Le G =(V,E) be biparie, direced graph, le G 0 be correponding flow nework.. If M i a maching in G, hen here i an ineger-valued flow f in G 0 wih value f = M. 2. If f i an ineger-valued flow in G 0, hen here i a maching M in G wih cardinaliy M = f. Proof. Very imple. (i) From maching M o IV flow in G 0. Define f: if (u, v) 2 M, hen f(, u) =f(u, v) =f(v, ) = and f(u, ) =f(v, u) =f(, v) = oher edge (u, v) 2 E 0, f(u, v) =0 f aifie kew ymmery, capaciy conrain, and flow conervaion (obviou, bu mu check!). Inuiion: each edge (u, v) 2 M in he maching correpond o one uni of flow in G 0 along! u! v!. Pah induced by edge in M are verex-dijoin (by def. of maching; excep &) Ne flow acro cu (L [ {}, R[ {}) i equal o M We know lemma flow acro any cu i equal o value of oal flow, o f = M Maximum Flow 33 Maximum Flow 34 (ii) From IV flow in G 0 o maching M. Le f be an IV flow in G 0,le M = {(u, v) : u 2 L, v 2 R, f(u, v) > 0} Each u 2 L ha exacly one enering edge, (, u) A mo one uni of po. flow ener each u 2 L If o, by flow conervaion, one uni mu leave Flow i IV, hu 8u 2 L, he one uni can ener on a mo one edge, and can leave on a mo one edge Thu, one uni of flow ener u 2 L iff here i exacly one verex v 2 R.. f(u, v) = A mo one edge leaving each u 2 L carrie po. flow Analogou argumen for for each v 2 R =) our M i a maching Wha abou M ize? f(, u) =for every mached u 2 L f(u, v) =0for every edge (u, v) 2 E Since V 0 = L [ R [ {, }, R = V 0 L {, }, we have M = f(l, R) = f(l, V 0 ) f(l, L) f(l, ) f(l, ) Oberve f(l, V 0 )=0 flow conervaion, P 0 f(u, v) =08u 2 V 0 {, } f(l, L) =0 kew-ymmery f(l, ) =f(, L) alo kew-ymmery f(l, ) =0 no edge from L o Thu M =0 0 ( f(, L)) 0=f(, L) = f M q.e.d. Maximum Flow 35 Maximum Flow 36

We would like o conclude ha maximum maching in ome biparie graph G correpond o maximum flow in correponding flow nework G 0 and ha we herefore can compue he maching by olving he flow problem... bu... max flow algorihm migh reurn flow wih f(u, v) no inegral for ome edge (u, v), even hough f mu be inegral (by lemma) Bu no all i lo: Theorem. If he capaciy funcion c ake only inegral value, hen he maximum flow f produced by he Ford-Fulkeron mehod ha he propery ha f i inegervalued. Moreover, for all verice u and v, he value of f(u, v) i an ineger. Proof. Homework. Maximum Flow 37