Presentation on theme: "Network Flow CS494/594 – Graph Theory Alexander Sayers."— Presentation transcript:
Network Flow CS494/594 – Graph Theory Alexander Sayers
Contents Definitions History Examples/Algorithms Applications Open Problems References Homework
Maximum Flow Image from West
Min Cut Image from West
History A. N. Tolstoi (1930) – “Methods of finding the minimal total kilometrage in cargo-transportation planning in space.” – Soviet rail networks – Optimum solution does not have any negative-cost cycle in its residual graph.
History Image from Schrijver
History T. E. Harris and General F. S. Ross (1955) – “Fundamentals of a Method for Evaluating Rail Net Capacities” – Formulated the network flow problem. – “Consider a rail network connecting two cities by way of a number of intermediate cities, where each link of the network has a number assigned to it representing its capacity. Assuming a steady state condition, find a maximal flow from one given city to the other.”
History L. R. Ford and D. R. Fulkerson (1956) – “Maximal Flow through a Network” – Proposed the Ford-Fulkerson Algorithm that works in the “cases of most practical interest” by taking advantage of the network planarity.
Ford-Fulkerson Algorithm Algorithm – Begin with edges initialized to a flow of 0. – While there is a path (no specific path choosing method) from source to sink with capacity remaining. Increase the flow on each edge, by the amount equal to the minimum of the residual capacities of the edges on the path. Establish edges in the reverse direction of equal flow. – Continue until there is no such path remaining. – The flow into the sink is the maximum flow.
Failures of FF Algorithm Pathological scenarios Failure to halt – Ford and Fulkerson gave as an example a network with 10 vertices and 48 edges on which their algorithm may fail to halt. – Zwick proved that the smallest possible example of failing to halt is a network that has only 6 vertices and 8 edges. Image from Wiki
Failures of FF Algorithm
StepAugment. pathSent Flowe1e2e Image from Wiki Residual Values
History E. A. Dinitz (1970) – “Algorithm for solution of a problem of maximum flow in a network with power estimation.” – First publication of the Edmonds-Karp Algorithm. – Created Dinitz’s Algorithm. Image from
History J. Edmonds and R. M. Karp (1972) – “Theoretical improvements in algorithmic efficiency for network flow problems.” – Independently published the Edmonds-Karp Algorithm. Image from UC BerkleyImage from
History R. K. Ahuja, T. L. Magnanti and J. B. Orlin (1993) – “Network Flow: Theory, Algorithms, and Applications.” – Developed a faster algorithm (a strongly polynomial running time algorithm) to solve network problems.
History Image from Asano
Applications Edge Disjoint Paths Bipartite Matching Baseball Elimination Problem Project Selection Image Segmentation Open Pit Mining Survey Design And many more (Ahuja, Magnanti, Orlin and Reddy came up with a very complete list of applications).
Baseball Elimination Problem Goal: – Calculate which teams can still win given all possible outcomes of remaining games. – Winning involves having won the most (or equal most) games at the conclusion of all games.
Baseball Elimination Problem Example: Based on the above information, which teams can still win (most, or tied most number of wins)? Atlanta83718 Philly80793 New York78 6 Montreal77823
Baseball Elimination Problem Let’s add some information: Based on the above new information, which teams can still win (most, or tied most number of wins)? Atl.PhillyNYMont. Atlanta Philly New York Montreal
Baseball Elimination Problem
Calculating whether New York can win: If all the games flow through, then they can. AP PM PAM M A st
Baseball Elimination Problem st
Project Selection Goal: – Choose a feasible subset of projects to maximize revenue.
Illustration of feasibility: Image from Wayne
Project Selection Image from Wayne
Project Selection Image from Wayne
Image Segmentation Goal: – Identify foreground and background in a complex scene.
Objective is to maximize the following: Turn this into a minimization problem: Image from Wayne
Image Segmentation Image from Wayne
References Ahuja, R. K.; Magnanti, T. L.; Orlin, J. B. (1993). “Network flow: theory, algorithms, and applications”. Prentice Hall. Ahuja, R. K.; Magnanti, T. L.; Orlin, J. B.; Reddy, M.R. (June 1994). “Applications of network optimization”. Asano, T.; Asano, Y. (2000) “Recent developments in maximum flow algorithms”. Journal of the Operations Research. Society of Japan 43 (2). Biedl, T. C.; Brejova, B.; Vinar, T. (2000). “Simplifying flow networks”. Department of Computer Science, University of Waterloo. Dinic, E. A. (1970). "Algorithm for solution of a problem of maximum flow in a network with power estimation". Soviet Math. Doklady (Doklady) 11: 1277–1280. Edmonds, Jack; Karp, Richard M. (1972). "Theoretical improvements in algorithmic efficiency for network flow problems". Journal of the ACM (Association for Computing Machinery) 19 (2): 248–264. Ford, L. R.; Fulkerson, D. R. (1956). "Maximal flow through a network". Canadian Journal of Mathematics 8: 399. Schrijver, Alexander (2002). “On the history of the transportation and maximum flow problems.”  Schrijver,A. West, Douglas B. (2001). “Introduction to Graph Theory (2 nd Edition).” Pearson Education.
References Zwick, Uri (21 August 1995). "The smallest networks on which the Ford-Fulkerson maximum flow procedure may fail to terminate". Theoretical Computer Science 148 (1): 165–170.
2)Given a directed graph where the vertices are assigned maximum capacities as well as the edges. Describe/illustrate how you would calculate maximum flow of this graph using established network flow theory/algorithms?