Max Flow: Algorithms and Applications
|
|
- Kerry Lyons
- 5 years ago
- Views:
Transcription
1 Max Flow: Algorithms and Applications
2 Outline for today Quick review of the Max Flow problem Applications of Max Flow The Ford-Fulkerson (FF) algorithm for Max Flow Analysis of FF, and the Max Flow Min Cut Theorem
3 Review: Flow Network A (directed) flow network G=(V,E) has the following properties: A source node s with no incoming edges A sink node t with no outgoing edges A nonnegative integer capacity c(e) for each edge e. Assume that G has no isolated nodes. Then, if V =n and E = m, n m. Also assume that if (u,v) is in G then (v,u) is not in G. (If both are in G, replace (v,u) by (v,z), (z,u) where z is a new node, and let (v,z), (z,u) have the capacity c(v,u).
4 Review: (s,t)-flow An (s-t)-flow f that maps edges of G to nonnegative real numbers, with the following properties: Capacity condition: 0 f(e) c(e) Conservation condition: For any internal (i.e., not source or sink) node v, flow into v = flow out of v: e into v f(e) = e out of v f(e). The value of f is v(f) = e out of s f(e)
5 The Max Flow Problem Given a flow network, find a flow of maximum value. Today we ll look at an efficient algorithm for Max Flow, that finds an integral max flow. That is, the flow along any edge is an integer.
6 The Max Flow Problem
7 The Max Flow Problem Map of rail network linking Russia to Eastern Europe from the mid-1950 s. Weights represent the rate at which material could be shipped from one region to the next. Created by Theodore E. Harris and Frank S. Ross. From a survey of Alexander Schriver, and also in Erickson s notes (online).
8 An Application of Max Flow An efficient algorithm for Max Flow that produces an integral flow can also be used to find a maximum bipartite matching of a bipartite graph. Bipartite matching and its generalizations (when nodes and/or edges have weights) have applications in resource allocation: scheduling jobs to machines, cell phones to cell towers, etc. Exercise: How to use a Max Flow algorithm to find maximum bipartite matchings?
9 Reducing Maximum Bipartite Matching to Max Flow G = (U,V,E) à (G' = ({s,t} U V, E'), c()) where E' contains edges (s,u) for each u in U (v,t) for each v in V (u,v) for each {u,v} in E and the capacity c(e) = 1 for all e in E'.
10 Reducing Maximum Bipartite Matching to Max Flow From Jeff Erickson s notes
11 Towards an Algorithm for Max Flow
12 Towards an Algorithm for Max Flow We need to define: Residual graphs Augmenting flows
13 Residual Graphs The residual graph G f has node set V and for each edge e = (u,v) of E, If f(e) < c(e), then e = (u,v) is a "forwards" edge of G f, with residual capacity c f (e) = c(e)-f(e). If f(e) > 0, then e' = (v,u) is a "backwards" edge of G f, with residual capacity c f (e') = f(e). Note that all residual capacities are positive.
14 Augmenting Flows Let P be a simple s-t path in G f. Let bottleneck(p, f) be the minimum residual capacity on the edges of P. augment(f, P) // yields a new flow f' in G b := bottleneck(p, f) for each edge e = (u,v) in P IF (u,v) is a forwards edge THEN increase f(e) in G by b ELSE // e is a backwards edge decrease f(v,u) in G by b
15 Properties of f = augment(f, P) f' satisfies the capacity constraints on all edges of G f' satisfies the conservation constraints on all internal nodes of G f' is a flow of G, and v(f') > v(f) augment(f, P) can be implemented in O(m) time
16 The Ford-Fulkerson Algorithm (circa 1956) Exercise: With the augment procedure in hand, can you design an algorithm for Max Flow?
17 The Ford-Fulkerson Algorithm (circa 1956) FF(G) // given a flow network G, return its max (s,t)-flow initialize f(e)=0 for all e in G WHILE there is a simple s-t path P in in G f. f = augment(f, P) ENDWHILE return f
18 Termination and Running Time of FF Exercise: Can you explain why FF terminates? Can bound the running time of FF?
19 Termination and Running Time of FF Let C be the sum of the capacities of edges out of s. Claim: FF terminates within C iterations of the while loop, and thus runs in O(m C) time. Proof: On each iteration of FF, the flow f increases, and all flow values f(e) are integers. Moreover the max flow is bounded by C. Thus, the while loop executes at most C times. Each iteration of the loop can be implemented in O(m) time: constructing G f, finding P, augmenting the flow.
20 FF Produces a Max Flow To show this, we ll take one more detour to introduce (s,t)-cuts.
21 (s,t)-cuts and Min Cuts An (s,t)-cut is a pair (S, T) that partitions G's vertices, with s in S and t in T. (Note that S T = V, and S T =.) The capacity of (S,T) is c(s, T) = v in S w in T c(v,w). A min cut is an (s,t)-cut for which c(s, T) is minimum.
22 Relating Flows and Cuts Claim: The value of any flow f is at most the capacity of any cut (S, T). Proof: v(f) = w f(s,w) = w f(s,w) - u f(u,s) this is the flow into s, which is 0
23 Relating Flows and Cuts Claim (cut bound on flow): The value of any flow f is at most the capacity of any cut (S, T). Proof: v(f) = w f(s,w) = w f(s,w) - u f(u,s)
24 Relating Flows and Cuts Claim (cut bound on flow): The value of any flow f is at most the capacity of any cut (S, T). Proof: v(f) = w f(s,w) = w f(s,w) - u f(u,s) = v in S ( w f(v,w) - u f(u,v) )
25 Relating Flows and Cuts Claim (cut bound on flow): The value of any flow f is at most the capacity of any cut (S, T). Proof: v(f) = w f(s,w) = w f(s,w) - u f(u,s) = v in S ( w f(v,w) - u f(u,v) ) this is just the previous line, plus the sum of flows in and out of internal nodes which is 0 by conservation of flow
26 Relating Flows and Cuts Claim (cut bound on flow): The value of any flow f is at most the capacity of any cut (S, T). Proof: v(f) = w f(s,w) = w f(s,w) - u f(u,s) = v in S ( w f(v,w) - u f(u,v) )
27 Relating Flows and Cuts Claim (cut bound on flow): The value of any flow f is at most the capacity of any cut (S, T). Proof: v(f) = w f(s,w) = w f(s,w) - u f(u,s) = v in S ( w f(v,w) - u f(u,v) ) = v in S ( w in T f(v,w) - u in T f(u,v) )
28 Relating Flows and Cuts Claim (cut bound on flow): The value of any flow f is at most the capacity of any cut (S, T). Proof: v(f) = w f(s,w) = w f(s,w) - u f(u,s) = v in S ( w f(v,w) - u f(u,v) ) = v in S ( w in T f(v,w) - u in T f(u,v) ) we throw out all the terms that cancel in the previous line
29 Relating Flows and Cuts Claim (cut bound on flow): The value of any flow f is at most the capacity of any cut (S, T). Proof: v(f) = w f(s,w) = w f(s,w) - u f(u,s) = v in S ( w f(v,w) - u f(u,v) ) = v in S ( w in T f(v,w) - u in T f(u,v) )
30 Relating Flows and Cuts Claim (cut bound on flow): The value of any flow f is at most the capacity of any cut (S, T). Proof: v(f) = w f(s,w) = w f(s,w) - u f(u,s) = v in S ( w f(v,w) - u f(u,v) ) = v in S ( w in T f(v,w) - u in T f(u,v) ) v in S w in T f(v,w)
31 Relating Flows and Cuts Claim (cut bound on flow): The value of any flow f is at most the capacity of any cut (S, T). Proof: v(f) = w f(s,w) = w f(s,w) - u f(u,s) = v in S ( w f(v,w) - u f(u,v) ) = v in S ( w in T f(v,w) - u in T f(u,v) ) v in S w in T f(v,w) since flow is always positive
32 Relating Flows and Cuts Claim (cut bound on flow): The value of any flow f is at most the capacity of any cut (S, T). Proof: v(f) = w f(s,w) = w f(s,w) - u f(u,s) = v in S ( w f(v,w) - u f(u,v) ) = v in S ( w in T f(v,w) - u in T f(u,v) ) v in S w in T f(v,w)
33 Relating Flows and Cuts Claim (cut bound on flow): The value of any flow f is at most the capacity of any cut (S, T). Proof: v(f) = w f(s,w) = w f(s,w) - u f(u,s) = v in S ( w f(v,w) - u f(u,v) ) = v in S ( w in T f(v,w) - u in T f(u,v) ) v in S w in T f(v,w) v in S w in T c(v,w) = c(s, T)
34 Relating Flows and Cuts A corollary of the cut bound on flow claim is that v(f) = c(s,t) if and only if f saturates every edge from S to T and avoids every edge from T to S. Moreover, if we have a flow f and a cut (S, T ) that satisfies this equality condition, f must be a maximum flow, and (S, T ) must be a minimum cut.
35 Relating Flows and Cuts A corollary of the cut bound on flow claim is that v(f) = c(s,t) if and only if f saturates every edge from S to T and avoids every edge from T to S. Moreover, if we have a flow f and a cut (S, T ) that satisfies this equality condition, f must be a maximum flow, and (S, T ) must be a minimum cut. (Why? If f is not a max flow, then there is some flow f' with v(f') > c(s,t), contradicting the previous claim. Similarly, if (S,T) is not a min cut, then there is some smaller cut (S',T') with v(f) > c(s,t), again contradicting the previous claim.)
36 The Max Flow Min Cut Theorem Theorem (max flow min cut): In any flow network the value of the max flow is equal to the capacity of the min cut. Proof: Let f be a max flow. We will find a cut (S,T) such that f saturates all edges from S to T, and avoids all edges from T to S. By the previous corollary, v(f) = c(s,t), and (S,T) must be a min cut.
37 Summary: Max Flow The Max Flow problem has many applications in transportation of goods, matching, resource allocation and more. The Ford-Fulkerson (FF) algorithm for Max Flow uses an augmenting paths approach
38 Summary: Max Flow Correctness of FF relies on the Max Flow Min Cut Theorem, the max flow min cut theorem is an example of duality, where two seemingly different optimization problems one a maximization problem and the other a minimization problem have the same solution Next time: Application of Min Cut, and a faster variant of FF
directed weighted graphs as flow networks the Ford-Fulkerson algorithm termination and running time
Network Flow 1 The Maximum-Flow Problem directed weighted graphs as flow networks the Ford-Fulkerson algorithm termination and running time 2 Maximum Flows and Minimum Cuts flows and cuts max flow equals
More informationWe say that a flow is feasible for G (or just feasible if the graph and capacity function in question are obvious) if
CS787: Advanced Algorithms Lecture 4: Network Flow We devote this lecture to the network flow problem and the max-flow min-cut theorem. A number of other problems can be cast into a maximum flow or minimum
More informationTwo Applications of Maximum Flow
Two Applications of Maximum Flow The Bipartite Matching Problem a bipartite graph as a flow network maximum flow and maximum matching alternating paths perfect matchings 2 Circulation with Demands flows
More informationAlgorithms: Lecture 12. Chalmers University of Technology
Algorithms: Lecture 1 Chalmers University of Technology Today s Topics Shortest Paths Network Flow Algorithms Shortest Path in a Graph Shortest Path Problem Shortest path network. Directed graph G = (V,
More informationFlows and Cuts. 1 Concepts. CS 787: Advanced Algorithms. Instructor: Dieter van Melkebeek
CS 787: Advanced Algorithms Flows and Cuts Instructor: Dieter van Melkebeek This lecture covers the construction of optimal flows and cuts in networks, their relationship, and some applications. It paves
More informationTypes of Networks. Internet Telephone Cell Highways Rail Electrical Power Water Sewer Gas
Flow Networks Network Flows 2 Types of Networks Internet Telephone Cell Highways Rail Electrical Power Water Sewer Gas 3 Maximum Flow Problem How can we maximize the flow in a network from a source or
More informationToday. Flow review. Augmenting paths. Ford-Fulkerson Algorithm. Intro to cuts (reason: prove correctness)
Today Flow review Augmenting path Ford-Fulkeron Algorithm Intro to cut (reaon: prove correctne) Flow Network = ource, t = ink. c(e) = capacity of edge e Capacity condition: f(e) c(e) Conervation condition:
More informationMaximum flow problem CE 377K. February 26, 2015
Maximum flow problem CE 377K February 6, 05 REVIEW HW due in week Review Label setting vs. label correcting Bellman-Ford algorithm Review MAXIMUM FLOW PROBLEM Maximum Flow Problem What is the greatest
More informationRunning Time. Assumption. All capacities are integers between 1 and C.
Running Time Assumption. All capacities are integers between and. Invariant. Every flow value f(e) and every residual capacities c f (e) remains an integer throughout the algorithm. Theorem. The algorithm
More informationAgenda. Soviet Rail Network, We ve done Greedy Method Divide and Conquer Dynamic Programming
Agenda We ve done Greedy Method Divide and Conquer Dynamic Programming Now Flow Networks, Max-flow Min-cut and Applications c Hung Q. Ngo (SUNY at Buffalo) CSE 531 Algorithm Analysis and Design 1 / 52
More informationAlgorithm Design and Analysis
Algorithm Design and Analysis LETURE 28 Network Flow hoosing good augmenting paths apacity scaling algorithm A. Smith /4/2008 A. Smith; based on slides by K. Wayne and S. Raskhodnikova Pre-break: Ford-Fulkerson
More informationGraph Algorithms -2: Flow Networks. N. H. N. D. de Silva Dept. of Computer Science & Eng University of Moratuwa
CS4460 Advanced d Algorithms Batch 08, L4S2 Lecture 9 Graph Algorithms -2: Flow Networks Dept. of Computer Science & Eng University of Moratuwa Announcement Assignment 2 is due on 18 th of November Worth
More informationCS 1501 Recitation. Xiang Xiao
CS 1501 Recitation Xiang Xiao Network Flow A flow network G=(V,E): a directed graph, where each edge (u,v) E has a nonnegative capacity c(u,v)>=0. If (u,v) E, we assume that c(u,v)=0. two distinct vertices
More informationAlgorithms and Theory of Computation. Lecture 11: Network Flow
Algorithms and Theory of Computation Lecture 11: Network Flow Xiaohui Bei MAS 714 September 18, 2018 Nanyang Technological University MAS 714 September 18, 2018 1 / 26 Flow Network A flow network is a
More informationFlow Network. The following figure shows an example of a flow network:
Maximum Flow 1 Flow Network The following figure shows an example of a flow network: 16 V 1 12 V 3 20 s 10 4 9 7 t 13 4 V 2 V 4 14 A flow network G = (V,E) is a directed graph. Each edge (u, v) E has a
More informationMaximum Flow. Jie Wang. University of Massachusetts Lowell Department of Computer Science. J. Wang (UMass Lowell) Maximum Flow 1 / 27
Maximum Flow Jie Wang University of Massachusetts Lowell Department of Computer Science J. Wang (UMass Lowell) Maximum Flow 1 / 27 Flow Networks A flow network is a weighted digraph G = (V, E), where the
More information1 Review for Lecture 2 MaxFlow
Comp 260: Advanced Algorithms Tufts University, Spring 2009 Prof. Lenore Cowen Scribe: Wanyu Wang Lecture 13: Back to MaxFlow/Edmonds-Karp 1 Review for Lecture 2 MaxFlow A flow network showing flow and
More informationUndirected Graphs. V = { 1, 2, 3, 4, 5, 6, 7, 8 } E = { 1-2, 1-3, 2-3, 2-4, 2-5, 3-5, 3-7, 3-8, 4-5, 5-6 } n = 8 m = 11
Undirected Graphs Undirected graph. G = (V, E) V = nodes. E = edges between pairs of nodes. Captures pairwise relationship between objects. Graph size parameters: n = V, m = E. V = {, 2, 3,,,, 7, 8 } E
More informationMaximum Flow. Reading: CLRS Chapter 26. CSE 6331 Algorithms Steve Lai
Maximum Flow Reading: CLRS Chapter 26. CSE 6331 Algorithms Steve Lai Flow Network A low network G ( V, E) is a directed graph with a source node sv, a sink node tv, a capacity unction c. Each edge ( u,
More informationAlgorithm Design and Analysis
Algorithm Deign and Analyi LECTURES 1-1 Network Flow Flow, cut Ford-Fulkeron Min-cut/max-flow theorem Adam Smith // A. Smith; baed on lide by E. Demaine, C. Leieron, S. Rakhodnikova, K. Wayne Detecting
More informationAlgorithms: COMP3121/3821/9101/9801
NEW SOUTH WALES Algorithms: COMP32/382/90/980 Aleks Ignjatović School of Computer Science and Engineering University of New South Wales LECTURE 7: MAXIMUM FLOW COMP32/382/90/980 / 24 Flow Networks A flow
More informationCSE 326: Data Structures Network Flow. James Fogarty Autumn 2007
CSE 36: Data Structures Network Flow James Fogarty Autumn 007 Network Flows Given a weighted, directed graph G=(V,E) Treat the edge weights as capacities How much can we flow through the graph? A 1 B 7
More information10 Max-Flow Min-Cut Flows and Capacitated Graphs 10 MAX-FLOW MIN-CUT
10 Max-Flow Min-Cut 10.1 Flows and Capacitated Graphs Previously, we considered weighted graphs. In this setting, it was natural to thinking about minimizing the weight of a given path. In fact, we considered
More informationLecture 2: Network Flows 1
Comp 260: Advanced Algorithms Tufts University, Spring 2011 Lecture by: Prof. Cowen Scribe: Saeed Majidi Lecture 2: Network Flows 1 A wide variety of problems, including the matching problems discussed
More informationGraphs and Network Flows IE411. Lecture 12. Dr. Ted Ralphs
Graphs and Network Flows IE411 Lecture 12 Dr. Ted Ralphs IE411 Lecture 12 1 References for Today s Lecture Required reading Sections 21.1 21.2 References AMO Chapter 6 CLRS Sections 26.1 26.2 IE411 Lecture
More information6.046 Recitation 11 Handout
6.046 Recitation 11 Handout May 2, 2008 1 Max Flow as a Linear Program As a reminder, a linear program is a problem that can be written as that of fulfilling an objective function and a set of constraints
More informationThe max flow problem. Ford-Fulkerson method. A cut. Lemma Corollary Max Flow Min Cut Theorem. Max Flow Min Cut Theorem
The max flow problem Ford-Fulkerson method 7 11 Ford-Fulkerson(G) f = 0 while( simple path p from s to t in G f ) 10-2 2 1 f := f + f p output f 4 9 1 2 A cut Lemma 26. + Corollary 26.6 Let f be a flow
More informationAlgorithm Design and Analysis
Algorithm Design and Analysis LETURE 2 Network Flow Finish bipartite matching apacity-scaling algorithm Adam Smith 0//0 A. Smith; based on slides by E. Demaine,. Leiserson, S. Raskhodnikova, K. Wayne Marriage
More informationLecture 21 November 11, 2014
CS 224: Advanced Algorithms Fall 2-14 Prof. Jelani Nelson Lecture 21 November 11, 2014 Scribe: Nithin Tumma 1 Overview In the previous lecture we finished covering the multiplicative weights method and
More informationProblem set 1. (c) Is the Ford-Fulkerson algorithm guaranteed to produce an acyclic maximum flow?
CS261, Winter 2017. Instructor: Ashish Goel. Problem set 1 Electronic submission to Gradescope due 11:59pm Thursday 2/2. Form a group of 2-3 students that is, submit one homework with all of your names.
More informationSoviet Rail Network, 1955
Ch7. Network Flow Soviet Rail Network, 955 Reference: On the history of the transportation and maximum flow problems. Alexander Schrijver in Math Programming, 9: 3, 2002. 2 Maximum Flow and Minimum Cut
More informationAlgorithm Design and Analysis
Algorithm Design and Analysis LECTURE 7 Network Flow Application: Bipartite Matching Adam Smith 0//008 A. Smith; based on slides by S. Raskhodnikova and K. Wayne Recently: Ford-Fulkerson Find max s-t flow
More informationCMPSCI 611: Advanced Algorithms
CMPSCI 611: Advanced Algorithms Lecture 12: Network Flow Part II Andrew McGregor Last Compiled: December 14, 2017 1/26 Definitions Input: Directed Graph G = (V, E) Capacities C(u, v) > 0 for (u, v) E and
More informationCSC 373: Algorithm Design and Analysis Lecture 12
CSC 373: Algorithm Design and Analysis Lecture 12 Allan Borodin February 4, 2013 1 / 16 Lecture 12: Announcements and Outline Announcements Term test 1 in tutorials. Need to use only two rooms due to sickness
More informationChapter 7. Network Flow. CS 350: Winter 2018
Chapter 7 Network Flow CS 3: Winter 1 1 Soviet Rail Network, Reference: On the hitory of the tranportation and maximum flow problem. Alexander Schrijver in Math Programming, 1: 3,. Maximum Flow and Minimum
More information2.13 Maximum flow with a strictly positive initial feasible flow
ex-.-. Foundations of Operations Research Prof. E. Amaldi. Maximum flow and minimum cut iven the following network with capacities on the arcs find a maximum (feasible) flow from node to node, and determine
More information5 Flows and cuts in digraphs
5 Flows and cuts in digraphs Recall that a digraph or network is a pair G = (V, E) where V is a set and E is a multiset of ordered pairs of elements of V, which we refer to as arcs. Note that two vertices
More informationMathematics for Decision Making: An Introduction. Lecture 13
Mathematics for Decision Making: An Introduction Lecture 13 Matthias Köppe UC Davis, Mathematics February 17, 2009 13 1 Reminder: Flows in networks General structure: Flows in networks In general, consider
More informationC&O 355 Mathematical Programming Fall 2010 Lecture 18. N. Harvey
C&O 355 Mathematical Programming Fall 2010 Lecture 18 N. Harvey Network Flow Topics Max Flow / Min Cut Theorem Total Unimodularity Directed Graphs & Incidence Matrices Proof of Max Flow / Min Cut Theorem
More informationNetwork Flows made simple
Network Flows made simple A mild but rigorous introduction to Network Flows Periklis A. Papakonstantinou York University Network Flows is the last algorithmic paradigm we consider. Actually, we only address
More informationChapter 7. Network Flow. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.
Chapter 7 Network Flow Slide by Kevin Wayne. Copyright 5 Pearon-Addion Weley. All right reerved. Soviet Rail Network, 55 Reference: On the hitory of the tranportation and maximum flow problem. Alexander
More informationMaximum flow problem (part I)
Maximum flow problem (part I) Combinatorial Optimization Giovanni Righini Università degli Studi di Milano Definitions A flow network is a digraph D = (N,A) with two particular nodes s and t acting as
More informationPreliminaries. Graphs. E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)}
Preliminaries Graphs G = (V, E), V : set of vertices E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) 1 2 3 5 4 V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)} 1 Directed Graph (Digraph)
More informationCSCE423/823. Introduction. Flow Networks. Ford-Fulkerson Method. Edmonds-Karp Algorithm. Maximum Bipartite Matching 2/35 CSCE423/823.
1/35 2pt 0em Computer Science & Engineering 423/823 Design and s Lecture 07 (Chapter 26) Stephen Scott (Adapted from Vinodchandran N. Variyam) 2/35 Can use a directed graph as a flow network to model:
More informationChapter 7. Network Flow. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.
Chapter 7 Network Flow Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 7.5 Bipartite Matching Matching Matching. Input: undirected graph G = (V, E). M E is a matching
More informationComputer Science & Engineering 423/823 Design and Analysis of Algorithms
Bipartite Matching Computer Science & Engineering 423/823 Design and s Lecture 07 (Chapter 26) Stephen Scott (Adapted from Vinodchandran N. Variyam) 1 / 36 Spring 2010 Bipartite Matching 2 / 36 Can use
More informationInternet Routing Example
Internet Routing Example Acme Routing Company wants to route traffic over the internet from San Fransisco to New York. It owns some wires that go between San Francisco, Houston, Chicago and New York. The
More informationMathematical Programs Linear Program (LP)
Mathematical Programs Linear Program (LP) Integer Program (IP) Can be efficiently solved e.g., by Ellipsoid Method Cannot be efficiently solved Cannot be efficiently solved assuming P NP Combinatorial
More informationBipartite Matchings and Stable Marriage
Bipartite Matchings and Stable Marriage Meghana Nasre Department of Computer Science and Engineering Indian Institute of Technology, Madras Faculty Development Program SSN College of Engineering, Chennai
More informationParallel Graph Algorithms (con4nued)
Parallel Graph Algorithms (con4nued) MaxFlow A flow network G=(V,E): a directed graph, where each edge (u,v) E has a nonnega4ve capacity c(u,v)>=0. If (u,v) E, we assume that c(u,v)=0. Two dis4nct ver4ces
More information7.5 Bipartite Matching
7. Bipartite Matching Matching Matching. Input: undirected graph G = (V, E). M E is a matching if each node appears in at most edge in M. Max matching: find a max cardinality matching. Bipartite Matching
More informationParallel Graph Algorithms (con4nued)
Parallel Graph Algorithms (con4nued) MaxFlow A flow network G=(V,E): a directed graph, where each edge (u,v) E has a nonnega4ve capacity c(u,v)>=0. If (u,v) E, we assume that c(u,v)=0. Two dis4nct ver4ces
More informationLecture 1. 1 Overview. 2 Maximum Flow. COMPSCI 532: Design and Analysis of Algorithms August 26, 2015
COMPSCI 532: Design and Analysis of Algorithms August 26, 205 Lecture Lecturer: Debmalya Panigrahi Scribe: Allen Xiao Oeriew In this lecture, we will define the maximum flow problem and discuss two algorithms
More informationNetwork Flows. CS124 Lecture 17
C14 Lecture 17 Network Flows uppose that we are given the network in top of Figure 17.1, where the numbers indicate capacities, that is, the amount of flow that can go through the edge in unit time. We
More informationThe min cost flow problem Course notes for Search and Optimization Spring 2004
The min cost flow problem Course notes for Search and Optimization Spring 2004 Peter Bro Miltersen February 20, 2004 Version 1.3 1 Definition of the min cost flow problem We shall consider a generalization
More informationThe min cost flow problem Course notes for Optimization Spring 2007
The min cost flow problem Course notes for Optimization Spring 2007 Peter Bro Miltersen February 7, 2007 Version 3.0 1 Definition of the min cost flow problem We shall consider a generalization of the
More informationEnergy minimization via graph-cuts
Energy minimization via graph-cuts Nikos Komodakis Ecole des Ponts ParisTech, LIGM Traitement de l information et vision artificielle Binary energy minimization We will first consider binary MRFs: Graph
More informationDiscrete Optimization 2010 Lecture 3 Maximum Flows
Remainder: Shortest Paths Maximum Flows Discrete Optimization 2010 Lecture 3 Maximum Flows Marc Uetz University of Twente m.uetz@utwente.nl Lecture 3: sheet 1 / 29 Marc Uetz Discrete Optimization Outline
More information- Well-characterized problems, min-max relations, approximate certificates. - LP problems in the standard form, primal and dual linear programs
LP-Duality ( Approximation Algorithms by V. Vazirani, Chapter 12) - Well-characterized problems, min-max relations, approximate certificates - LP problems in the standard form, primal and dual linear programs
More informationCS4800: Algorithms & Data Jonathan Ullman
CS800: Algorithm & Data Jonathan Ullman Lecture 17: Network Flow Chooing Good Augmenting Path Mar 0, 018 Recap Directed graph! = #, % Two pecial node: ource & and ink = ' Edge capacitie ( ) 9 5 15 15 ource
More informationRecall: Matchings. Examples. K n,m, K n, Petersen graph, Q k ; graphs without perfect matching
Recall: Matchings A matching is a set of (non-loop) edges with no shared endpoints. The vertices incident to an edge of a matching M are saturated by M, the others are unsaturated. A perfect matching of
More informationCSC2420: Algorithm Design, Analysis and Theory Spring (or Winter for pessimists) 2017
CSC2420: Algorithm Design, Analysis and Theory Spring (or Winter for pessimists) 2017 Allan Borodin January 30, 2017 1 / 32 Lecture 4 Announcements: I have posted all 7 questions for assignment 1. It is
More informationIntroduction 1.1 PROBLEM FORMULATION
Introduction. PROBLEM FORMULATION This book deals with a single type of network optimization problem with linear cost, known as the transshipment or minimum cost flow problem. In this section, we formulate
More informationCS675: Convex and Combinatorial Optimization Fall 2014 Combinatorial Problems as Linear Programs. Instructor: Shaddin Dughmi
CS675: Convex and Combinatorial Optimization Fall 2014 Combinatorial Problems as Linear Programs Instructor: Shaddin Dughmi Outline 1 Introduction 2 Shortest Path 3 Algorithms for Single-Source Shortest
More informationLecture 3. 1 Polynomial-time algorithms for the maximum flow problem
ORIE 633 Network Flows August 30, 2007 Lecturer: David P. Williamson Lecture 3 Scribe: Gema Plaza-Martínez 1 Polynomial-time algorithms for the maximum flow problem 1.1 Introduction Let s turn now to considering
More informationBasics on the Graphcut Algorithm. Application for the Computation of the Mode of the Ising Model
Basics on the Graphcut Algorithm. Application for the Computation of the Mode of the Ising Model Bruno Galerne bruno.galerne@parisdescartes.fr MAP5, Université Paris Descartes Master MVA Cours Méthodes
More informationStandard Diraphs the (unique) digraph with no vertices or edges. (modulo n) for every 1 i n A digraph whose underlying graph is a complete graph.
5 Directed Graphs What is a directed graph? Directed Graph: A directed graph, or digraph, D, consists of a set of vertices V (D), a set of edges E(D), and a function which assigns each edge e an ordered
More informationCSC2420: Algorithm Design, Analysis and Theory Fall 2017
CSC2420: Algorithm Design, Analysis and Theory Fall 2017 Allan Borodin and Nisarg Shah October 11, 2017 1 / 32 Lecture 5 Announcements: The first assignment is due next week, October 18, at 1:00 PM The
More informationMAS210 Graph Theory Exercises 5 Solutions (1) v 5 (1)
MAS210 Graph Theor Exercises 5 Solutions Q1 Consider the following directed network N. x 3 (3) v 1 2 (2) v 2 5 (2) 2(2) 1 (0) 3 (0) 2 (0) 3 (0) 3 2 (2) 2(0) v v 5 1 v 6 The numbers in brackets define an
More informationLecture 2: Just married
COMP36111: Advanced Algorithms I Lecture 2: Just married Ian Pratt-Hartmann Room KB2.38: email: ipratt@cs.man.ac.uk 2017 18 Outline Matching Flow networks Third-year projects The stable marriage problem
More informationAdvanced Algorithms Lecture Notes. Periklis A. Papakonstantinou
Advanced Algorithms Lecture Notes Periklis A. Papakonstantinou Fall 2011 Preface This is a set of lecture notes for the 3rd year course Advanced Algorithms which I gave in Tsinghua University for Yao-class
More informationThe Maximum Flows in Planar Dynamic Networks
INTERNATIONAL JOURNAL OF COMPUTERS COMMUNICATIONS & CONTROL ISSN 1841-9836, 11(2):282-291, April 2016. The Maximum Flows in Planar Dynamic Networks C. Schiopu, E. Ciurea Camelia Schiopu* 1. Transilvania
More informationCS 170 DISCUSSION 10 MAXIMUM FLOW. Raymond Chan raychan3.github.io/cs170/fa17.html UC Berkeley Fall 17
7 IUION MXIMUM FLOW Raymond han raychan.github.io/cs7/fa7.html U erkeley Fall 7 MXIMUM FLOW Given a directed graph G = (V, E), send as many units of flow from source node s to sink node t. Edges have capacity
More informationChapter 7 Network Flow Problems, I
Chapter 7 Network Flow Problems, I Network flow problems are the most frequently solved linear programming problems. They include as special cases, the assignment, transportation, maximum flow, and shortest
More informationCS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018
CS 580: Algorithm Design and Analysis Jeremiah Blocki Purdue University Spring 2018 Recap Network Flow Problems Max-Flow Min Cut Theorem Ford Fulkerson Augmenting Paths Residual Flow Graph Integral Solutions
More informationFlows. Chapter Circulations
Chapter 4 Flows For a directed graph D = (V,A), we define δ + (U) := {(u,v) A : u U,v / U} as the arcs leaving U and δ (U) := {(u,v) A u / U,v U} as the arcs entering U. 4. Circulations In a directed graph
More informationOn shredders and vertex connectivity augmentation
On shredders and vertex connectivity augmentation Gilad Liberman The Open University of Israel giladliberman@gmail.com Zeev Nutov The Open University of Israel nutov@openu.ac.il Abstract We consider the
More informationThe maximum flow problem
The maximum flow problem A. Agnetis 1 Basic properties Given a network G = (N, A) (having N = n nodes and A = m arcs), and two nodes s (source) and t (sink), the maximum flow problem consists in finding
More informationMidterm Exam 2 Solutions
Algorithm Design and Analysis November 12, 2010 Pennsylvania State University CSE 565, Fall 2010 Professor Adam Smith Exam 2 Solutions Problem 1 (Miscellaneous). Midterm Exam 2 Solutions (a) Your friend
More informationp 3 p 2 p 4 q 2 q 7 q 1 q 3 q 6 q 5
Discrete Fréchet distance Consider Professor Bille going for a walk with his personal dog. The professor follows a path of points p 1,..., p n and the dog follows a path of points q 1,..., q m. We assume
More informationAn example of LP problem: Political Elections
Linear Programming An example of LP problem: Political Elections Suppose that you are a politician trying to win an election. Your district has three different types of areas: urban, suburban, and rural.
More informationLexicographic Flow. Dexter Kozen Department of Computer Science Cornell University Ithaca, New York , USA. June 25, 2009
Lexicographic Flow Dexter Kozen Department of Computer Science Cornell University Ithaca, New York 14853-7501, USA June 25, 2009 Abstract The lexicographic flow problem is a flow problem in which the edges
More informationMaximum flow problem
Maximum flow problem 7000 Network flows Network Directed graph G = (V, E) Source node s V, sink node t V Edge capacities: cap : E R 0 Flow: f : E R 0 satisfying 1. Flow conservation constraints e:target(e)=v
More information22 Max-Flow Algorithms
A process cannot be understood by stopping it. Understanding must move with the flow of the process, must join it and flow with it. The First Law of Mentat, in Frank Herbert s Dune (965) There s a difference
More informationAlgorithm Theory - Exercise Class
Algorithm Theory - Exercise Class Exercise Lesson 3 Albert-Ludwigs-Universität Freiburg Philipp Schneider Algorithms and Complexity - Professor Dr. Fabian Kuhn Organizational Matters English Tutorial in
More informationCS599: Convex and Combinatorial Optimization Fall 2013 Lecture 17: Combinatorial Problems as Linear Programs III. Instructor: Shaddin Dughmi
CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 17: Combinatorial Problems as Linear Programs III Instructor: Shaddin Dughmi Announcements Today: Spanning Trees and Flows Flexibility awarded
More informationGRAPH ALGORITHMS Week 7 (13 Nov - 18 Nov 2017)
GRAPH ALGORITHMS Week 7 (13 Nov - 18 Nov 2017) C. Croitoru croitoru@info.uaic.ro FII November 12, 2017 1 / 33 OUTLINE Matchings Analytical Formulation of the Maximum Matching Problem Perfect Matchings
More information6. Linear Programming
Linear Programming 6-1 6. Linear Programming Linear Programming LP reduction Duality Max-flow min-cut, Zero-sum game Integer Programming and LP relaxation Maximum Bipartite Matching, Minimum weight vertex
More informationIII. Linear Programming
III. Linear Programming Thomas Sauerwald Easter 2017 Outline Introduction Standard and Slack Forms Formulating Problems as Linear Programs Simplex Algorithm Finding an Initial Solution III. Linear Programming
More informationCSC Design and Analysis of Algorithms. LP Shader Electronics Example
CSC 80- Design and Analysis of Algorithms Lecture (LP) LP Shader Electronics Example The Shader Electronics Company produces two products:.eclipse, a portable touchscreen digital player; it takes hours
More informationCS261: Problem Set #3
CS261: Problem Set #3 Due by 11:59 PM on Tuesday, February 23, 2016 Instructions: (1) Form a group of 1-3 students. You should turn in only one write-up for your entire group. (2) Submission instructions:
More informationThe partial inverse minimum cut problem with L 1 -norm is strongly NP-hard. Elisabeth Gassner
FoSP Algorithmen & mathematische Modellierung FoSP Forschungsschwerpunkt Algorithmen und mathematische Modellierung The partial inverse minimum cut problem with L 1 -norm is strongly NP-hard Elisabeth
More informationNetwork Flows. CTU FEE Department of control engineering. March 28, 2017
Network Flows Zdeněk Hanzálek, Přemysl Šůcha hanzalek@fel.cvut.cz CTU FEE Department of control engineering March 28, 2017 Z. Hanzálek (CTU FEE) Network Flows March 28, 2017 1 / 44 Table of contents 1
More informationBreadth-First Search of Graphs
Breadth-First Search of Graphs Analysis of Algorithms Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Applications of Breadth-First Search of Graphs a) Single Source
More information1 Matchings in Non-Bipartite Graphs
CS 598CSC: Combinatorial Optimization Lecture date: Feb 9, 010 Instructor: Chandra Chekuri Scribe: Matthew Yancey 1 Matchings in Non-Bipartite Graphs We discuss matching in general undirected graphs. Given
More informationAlgorithms. Algorithms 6.4 MAXIMUM FLOW
Algorithms ROBERT SEDGEWICK KEVIN WAYNE 6.4 MAXIMUM FLOW Algorithms F O U R T H E D I T I O N ROBERT SEDGEWICK KEVIN WAYNE http://algs4.cs.princeton.edu introduction Ford Fulkerson algorithm maxflow mincut
More informationFriday, September 21, Flows
Flows Building evacuation plan people to evacuate from the offices corridors and stairways capacity 10 10 5 50 15 15 15 60 60 50 15 10 60 10 60 15 15 50 For each person determine the path to follow to
More informationMaximum Integer Flows in Directed Planar Graphs with Multiple Sources and Sinks and Vertex Capacities
Maximum Integer Flows in Directed Planar Graphs with Multiple Sources and Sinks and Vertex Capacities Yipu Wang University of Illinois at Urbana-Champaign ywang298@illinois.edu July 12, 2018 Abstract We
More informationCS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018
CS 580: Algorithm Design and Analysis Jeremiah Blocki Purdue University Spring 208 Midterm Exam Anticipate having midterm graded at this point Look for comments on Piazza Common Mistakes Average, Max,
More informationThe Budget-Constrained Maximum Flow Problem
9 The Budget-Constrained Maximum Flow Problem In this chapter we consider the following problem which is called the constrained maximum flow problem ( Cmfp) [AO95]: We are given a budget B and we seek
More information