Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.

Slides:



Advertisements
Similar presentations
Lecture 7. Network Flows We consider a network with directed edges. Every edge has a capacity. If there is an edge from i to j, there is an edge from.
Advertisements

1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11.
Single Source Shortest Paths
Prof. Swarat Chaudhuri COMP 482: Design and Analysis of Algorithms Spring 2012 Lecture 19.
CSCI 256 Data Structures and Algorithm Analysis Lecture 18 Some slides by Kevin Wayne copyright 2005, Pearson Addison Wesley all rights reserved, and some.
Chapter 10: Iterative Improvement The Maximum Flow Problem The Design and Analysis of Algorithms.
1 Maximum Flow w s v u t z 3/33/3 1/91/9 1/11/1 3/33/3 4/74/7 4/64/6 3/53/5 1/11/1 3/53/5 2/22/2 
1 Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
1 Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
1 COMMONWEALTH OF AUSTRALIA Copyright Regulations 1969 WARNING This material has been reproduced and communicated to you by or on behalf.
Advanced Algorithms Piyush Kumar (Lecture 2: Max Flows) Welcome to COT5405 Slides based on Kevin Wayne’s slides.
048866: Packet Switch Architectures Dr. Isaac Keslassy Electrical Engineering, Technion MSM.
The max flow problem
Lecture 11. Matching A set of edges which do not share a vertex is a matching. Application: Wireless Networks may consist of nodes with single radios,
Lecture 11. Matching A set of edges which do not share a vertex is a matching. Application: Wireless Networks may consist of nodes with single radios,
1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11.
Pipelined Two Step Iterative Matching Algorithms for CIOQ Crossbar Switches Deng Pan and Yuanyuan Yang State University of New York, Stony Brook.
Advanced Algorithms Piyush Kumar (Lecture 5: Weighted Matching) Welcome to COT5405 Based on Kevin Wayne’s slides.
WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example.
Advanced Algorithms Piyush Kumar (Lecture 5: Weighted Matching) Welcome to COT5405 Based on Kevin Wayne’s slides.
1 COMMONWEALTH OF AUSTRALIA Copyright Regulations 1969 WARNING This material has been reproduced and communicated to you by or on behalf.
CS223 Advanced Data Structures and Algorithms 1 Maximum Flow Neil Tang 3/30/2010.
Chapter 7 April 28 Network Flow.
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 25.
and 6.855J March 6, 2003 Maximum Flows 2. 2 Network Reliability u Communication Network u What is the maximum number of arc disjoint paths from.
CS38 Introduction to Algorithms Lecture 10 May 1, 2014.
10/11/10 A. Smith; based on slides by E. Demaine, C. Leiserson, S. Raskhodnikova, K. Wayne Adam Smith Algorithm Design and Analysis L ECTURE 21 Network.
Chapter 7 May 3 Ford-Fulkerson algorithm Step-by-step walk through of an example Worst-case number of augmentations Edmunds-Karp modification Time complexity.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 23.
Theory of Computing Lecture 12 MAS 714 Hartmut Klauck.
Input buffered switches (1)
1 Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
Maximum Flow c v 3/3 4/6 1/1 4/7 t s 3/3 w 1/9 3/5 1/1 3/5 u z 2/2
Maximum Flow Chapter 26.
CS4234 Optimiz(s)ation Algorithms
Algorithms and Networks
Algorithm Design and Analysis
Lectures on Network Flows
Maximum Flow 9/13/2018 6:12 PM Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015.
Chapter 5. Optimal Matchings
Chapter 4 Greedy Algorithms
Network Flow 2016/04/12.
Instructor: Shengyu Zhang
Edmonds-Karp Algorithm
Maximum Flow c v 3/3 4/6 1/1 4/7 t s 3/3 w 1/9 3/5 1/1 3/5 u z 2/2
CSE Algorithms Max Flow Problems 11/21/02 CSE Max Flow.
Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
Packet Scheduling/Arbitration in Virtual Output Queues and Others
Network Flow and Connectivity in Wireless Sensor Networks
Analysis of Algorithms
Chapter 6 Dynamic Programming
Algorithms (2IL15) – Lecture 5 SINGLE-SOURCE SHORTEST PATHS
Lecture 13 Algorithm Analysis
Lecture 13 Algorithm Analysis
Chapter 6 Dynamic Programming
Lecture 13 Algorithm Analysis
Max Flow Min Cut, Bipartite Matching Yin Tat Lee
Flow Networks and Bipartite Matching
Lecture 13 Algorithm Analysis
Algorithms (2IL15) – Lecture 7
Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
EE5900 Advanced Embedded System For Smart Infrastructure
and 6.855J March 6, 2003 Maximum Flows 2
離散數學 DISCRETE and COMBINATORIAL MATHEMATICS
Maximum Flow c v 3/3 4/6 1/1 4/7 t s 3/3 w 1/9 3/5 1/1 3/5 u z 2/2
Scheduling Crossbar Switches
Maximum Flow Neil Tang 4/8/2008
Data Structures and Algorithm Analysis Lecture 8
Presentation transcript:

Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.

* 7.13 Assignment Problem

Assignment Problem Assignment problem. Input: weighted, complete bipartite graph G = (L  R, E) with |L| = |R|. Goal: find a perfect matching of min weight. 1' 2' 3' 4' 5' 3 8 9 15 10 Min cost perfect matching M = { 1-2', 2-3', 3-5', 4-1', 5-4' } cost(M) = 8 + 7 + 10 + 8 + 11 = 44 Note: no min cost perfect matching takes the cheapest edge 5-1' replacing 1-2' and 4-1' with 1-1' and 4-2' yields another min cost perfect matching 1 4 10 7 16 14 2 9 13 11 19 10 3 8 13 12 20 13 4 1 7 5 11 9 5

Applications Natural applications. Match jobs to machines. Match personnel to tasks. Match PU students to writing seminars. Non-obvious applications. Vehicle routing. Signal processing. Virtual output queueing. Multiple object tracking. Approximate string matching. Enhance accuracy of solving linear systems of equations. linear systems: http://www.imm.dtu.dk/~jw/para04/Abstracts/roellin_schenk/roellin_schenk.html approximate string matching: http://www.math.ucsd.edu/~sbuss/ResearchWeb/stringmatching/submit.pdf

Bipartite Matching Bipartite matching. Can solve via reduction to max flow. Flow. During Ford-Fulkerson, all capacities and flows are 0/1. Flow corresponds to edges in a matching M. Residual graph GM simplifies to: If (x, y)  M, then (x, y) is in GM. If (x, y)  M, the (y, x) is in GM. Augmenting path simplifies to: Edge from s to an unmatched node x  X. Alternating sequence of unmatched and matched edges. Edge from unmatched node y  Y to t. 1 1 1 s t X Y

Alternating Path Alternating path. Alternating sequence of unmatched and matched edges, from unmatched node x  X to unmatched node y  Y. y y y x x x matching M alternating path matching M'

Assignment Problem: Successive Shortest Path Algorithm Cost of an alternating path. Pay c(x, y) to match x-y; receive c(x, y) to unmatch x-y. Shortest alternating path. Alternating path from any unmatched node x  X to any unmatched node y  Y with smallest cost. Successive shortest path algorithm. Start with empty matching. Repeatedly augment along a shortest alternating path. 1 10 1' 6 cost(2 - 1') = 7 cost(2 - 2'- 1 - 1') = 2 - 6 + 10 = 6 7 2 2 2'

Finding The Shortest Alternating Path Shortest alternating path. Corresponds to shortest s-t path in GM. Concern. Edge costs can be negative. Fact. If always choose shortest alternating path, then GM contains no negative cycles  compute using Bellman-Ford. Our plan. Use duality to avoid negative edge costs (and negative cost cycles)  compute using Dijkstra. 1 10 1' -6 s t 7 2 2 2' we won't explicitly use the Fact

Equivalent Assignment Problem Duality intuition. Adding (or subtracting) a constant to every entry in row x or column y does not change the min cost perfect matching(s). c(x, y) cp(x, y) 3 8 9 15 10 3 8 9 4 10 4 10 7 16 14 4 10 7 2 14 subtract 11 from column 4 9 13 11 19 10 9 13 11 8 10 8 13 12 20 13 8 13 12 9 13 1 7 5 11 9 1 7 5 9 11

Equivalent Assignment Problem Duality intuition. Adding p(x) to row x and subtracting p(y) from row y does not change the min cost perfect matching(s). c(x, y) cp(x, y) 3 8 9 15 10 3 1 2 5 4 10 7 16 14 1 1 5 4 9 13 11 19 10 4 3 3 3 3 8 13 12 20 13 1 1 1 7 5 11 9 1 2 2 4 8 8 13 11 19 13 9 + 8 - 13

Reduced Costs Reduced costs. For x  X, y  Y, define cp(x, y) = p(x) + c(x, y) - p(y). Observation 1. Finding a min cost perfect matching with reduced costs is equivalent to finding a min cost perfect matching with original costs. c(x, y) cp(x, y) 3 8 9 15 10 3 1 2 5 4 10 7 16 14 1 1 5 4 9 13 11 19 10 4 3 3 3 3 8 13 12 20 13 1 1 1 7 5 11 9 1 2 2 4 8 8 13 11 19 13 9 + 8 - 13

Compatible Prices Compatible prices. For each node v, maintain prices p(v) such that: (i) cp(x, y)  0 for for all (x, y)  M. (ii) cp(x, y) = 0 for for all (x, y)  M. Observation 2. If p are compatible prices for a perfect matching M, then M is a min cost perfect matching. c(x, y) cp(x, y) 3 8 9 15 10 3 1 2 5 4 10 7 16 14 1 1 5 4 9 13 11 19 10 4 3 3 3 3 8 13 12 20 13 1 1 1 7 5 11 9 1 2 2 4 8 8 13 11 19 13 cost(M) = (x, y)  M c(x, y) = (8+7+10+8+11) = 44 cost(M) = y Y p(y)  x X p(x) = (8+13+11+19+13) - (5+4+3+0+8) = 44

Successive Shortest Path Algorithm Successive-Shortest-Path(X, Y, c) { M   foreach x  X: p(x)  0 foreach y  Y: p(y)  min e into y c(e) while (M is not a perfect matching) { Compute shortest path distances d P  shortest alternating path using costs cp M  updated matching after augmenting along P foreach v  X  Y: p(v)  p(v) + d(v) } return M p is compatible with M = 

Maintaining Compatible Prices Lemma 1. Let p be compatible prices for matching M. Let d be shortest path distances in GM with costs cp. All edges (x, y) on shortest path have cp+d(x, y) = 0. Pf. Let (x, y) be some edge on shortest path. If (x, y)  M, then (y, x) on shortest path and d(x) = d(y) - cp(x, y). If (x, y)  M, then (x, y) on shortest path and d(y) = d(x) + cp(x, y). In either case, d(x) + cp(x, y) - d(y) = 0. By definition, cp(x, y) = p(x) + c(x, y) - p(y). Substituting for cp(x, y) yields: (p(x) + d(x)) + c(x, y) - (p(y) + d(y)) = 0. In other words, cp+d(x, y) = 0. ▪ forward or reverse edges Reduced costs: cp(x, y) = p(x) + c(x, y) - p(y).

Maintaining Compatible Prices Lemma 2. Let p be compatible prices for matching M. Let d be shortest path distances in GM with costs cp. Then p' = p + d are also compatible prices for M. Pf. (x, y)  M (y, x) is the only edge entering x in GM. Thus, (y, x) on shortest path. By Lemma 1, cp+d(x, y) = 0. Pf. (x, y)  M (x, y) is an edge in GM  d(y)  d(x) + cp(x, y). Substituting cp(x, y) = p(x) + c(x, y) - p(y)  0 yields (p(x) + d(x)) + c(x, y) - (p(y) + d(y))  0. In other words, cp+d(x, y)  0. ▪ Compatible prices. For each node v: (i) cp(x, y)  0 for for all (x, y)  M. (ii) cp(x, y) = 0 for for all (x, y)  M.

Maintaining Compatible Prices Lemma 3. Let M' be matching obtained by augmenting along a min cost path with respect to cp+d. Then p' = p + d is compatible with M'. Pf. By Lemma 2, the prices p + d are compatible for M. Since we augment along a min cost path, the only edges (x, y) that swap into or out of the matching are on the shortest path. By Lemma 1, these edges satisfy cp+d(x, y) = 0. Thus, compatibility is maintained. ▪ Compatible prices. For each node v: (i) cp(x, y)  0 for for all (x, y)  M. (ii) cp(x, y) = 0 for for all (x, y)  M.

Successive Shortest Path: Analysis Invariant. The algorithm maintains a matching M and compatible prices p. Pf. Follows from Lemmas 2 and 3 and initial choice of prices. ▪ Theorem. The algorithm returns a min cost perfect matching. Pf. Upon termination M is a perfect matching, and p are compatible prices. Optimality follows from Observation 2. ▪ Theorem. The algorithm can be implemented in O(n3) time. Pf. Each iteration increases the cardinality of M by 1  n iterations. Bottleneck operation is computing shortest path distances d. Since all costs are nonnegative, each iteration takes O(n2) time using (dense) Dijkstra. ▪

Weighted Bipartite Matching Weighted bipartite matching. Given weighted bipartite graph, find maximum cardinality matching of minimum weight. Successive shortest path algorithm. O(mn log n) time using heap-based version of Dijkstra's algorithm. Best known bounds. O(mn1/2) deterministic; O(n2.376) randomized. Planar weighted bipartite matching. O(n3/2 log5 n). m edges, n nodes planar case assumes Euclidean distances (Varadarajan, FOCS 1998) http://portal.acm.org/citation.cfm?id=796458

Input Queued Switching

Input-Queued Switching n inputs and n outputs in an n-by-n crossbar layout. At most one cell can depart an input at a time. At most one cell can arrive at an output at a time. Cell arrives at input x and must be routed to output y. x1 inputs x2 x3 y1 y2 y3 outputs

Input-Queued Switching FIFO queueing. Each input x maintains one queue of cells to be routed. Head-of-line blocking (HOL). A cell can be blocked by a cell queued ahead of it that is destined for a different output. Can limit throughput to 58%, even when arrivals are uniform. x1 y2 y1 y2 FIFO x2 y2 x3 y1 y3 y3 y1 y2 y3 outputs

Input-Queued Switching Virtual output queueing (VOQ). Each input x maintains n queue of cells, one for each output y. Maximum size matching. Find a max cardinality matching. Achieves 100% when arrivals are uniform. Can starve input-queues when arrivals are non-uniform. y1 x1 y2 y2 y2 y3 y3 VOQ x2 y2 y2 y2 y3 y3 y3 y3 x3 y2 y2 y2 y3 y1 y2 y3 outputs

Input-Queued Switching Max weight matching. Find a min cost perfect matching between inputs x and outputs y, where c(x, y) equals: [LQF] The number of cells waiting to go from input x to output y. [OCF] The waiting time of the cell at the head of VOQ from x to y. Theorem. LQF and OCF achieve 100% throughput if arrivals are independent. Practice. Too slow in practice for this application; difficult to implement in hardware. Provides theoretical framework. Use maximal (weighted) matching  2-approximation. LQF = longest queue first OCF = oldest cell first LQF can starve an non-empty queue, but OCF fixes this problem Reference: http://robotics.eecs.berkeley.edu/~wlr/Papers/AMMW.pdf