Download presentation
Presentation is loading. Please wait.
1
Maximum Flows Lecture 4: Jan 19
2
Network transmission Given a directed graph G A source node s A sink node t Goal: To send as much information from s to t
3
Maximum flow sender receiver Capacity constraint (bits per second)
4
Flows An s-t flow is a function f which satisfies: (capacity constraint) (conservation of flows) An s-t flow is a function f which satisfies: (capacity constraint) (conservation of flows)
5
Value of the flow st 10 9 8 4 6 2 3 9 9 9 7 0 G: 6 Value = 19 Maximum flow problem: maximize this value
6
An upper bound sender receiver
7
Cuts An s-t cut is a set of edges whose removal disconnect s and t The capacity of a cut is defined as the sum of the capacity of the edges in the cut Minimum s-t cut problem: minimize this capacity of a s-t cut
8
Flows ≤ cuts Let C be a cut and S be the connected component of G-C containing s. Then:
9
Reverse? Value of max s-t flow ≤ capacity of min s-t cut Suppose every s-t cut has capacity at least 4, is it true that there is a max s-t flow of value 2?
10
Main result (Ford Fulkerson 1956) Max flow = Min cut A polynomial time algorithm
11
Greedy method? Find an s-t path where every edge has f(e) < c(e) Add this path to the flow Repeat until no such path can be found. Does it work?
12
A counterexample How to proceed? Hint: Find an augmenting path
13
Residual graph Key idea: allow flows to push back c(e) = 10 f(e) = 2 c(e) = 8 c(e) = 2
14
Finding an augmenting path Find an s-t path in the residual graph Add it to the current flow to obtain a larger flow. Why? 1.Flow conservations 2.More flow going out from s
15
Ford-Fulkerson Algorithm 1. Start from an empty flow f 2. While there is an s-t path in G G := G + P, and update f 3. Return f
16
Max-flow min-cut theorem Consider the set S of all vertices reachable from s So, s is in S, but t is not in S No incoming flow coming in S Achieve full capacity from S to T Min cut!
17
Complexity Assume edge capacity between 1 to C At most nC iterations Finding an s-t path can be done in O(m) time Total running time O(nmC)
18
Speeding up Find a shortest s-t path time Capacity scaling
19
Integrality theorem If every edge has integer capacity, then there is a flow of integer value.
20
Applications of the algorithm of the min-max theorem of the integrality theorem
21
Multi-source multi-sink Contrast with multicommodity flow which is NP-hard.
22
Bipartite matching and more Bipartite matching of size k max flow of size k Work even for d-matching
23
Edge disjoint paths Find the maximum number of edge disjoint s-t paths
24
Graph connectivity Minimum number of edges to disconnect a graph [Menger 1927] Max number of edge-disjoint s-t paths = Min size of an s-t cut.
25
Project selection Precedence constraints Each job has a revenus (can be negative) Goal: Choose a feasible subset to maximize revenue. Idea: minimize the jobs that lost money, and maximize the jobs that gain money.
26
Leaque winner See if your favorite team can still win the leaque
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.