15.082J & 6.855J & ESD.78J October 14, 2010 Maximum Flows 2.

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

Min Cost Flow: Polynomial Algorithms. Overview Recap: Min Cost Flow, Residual Network Potential and Reduced Cost Polynomial Algorithms Approach Capacity.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
1 Maximum flow sender receiver Capacity constraint Lecture 6: Jan 25.
15.082J & 6.855J & ESD.78J Shortest Paths 2: Bucket implementations of Dijkstra’s Algorithm R-Heaps.
Chapter 6 Maximum Flow Problems Flows and Cuts Augmenting Path Algorithm.
15.082J, 6.855J, and ESD.78J Sept 16, 2010 Lecture 3. Graph Search Breadth First Search Depth First Search Intro to program verification Topological Sort.
Piyush Kumar (Lecture 6: MaxFlow MinCut Applications)
Network Optimization Models: Maximum Flow Problems
MAXIMUM FLOW Max-Flow Min-Cut Theorem (Ford Fukerson’s Algorithm)
Prof. Swarat Chaudhuri COMP 482: Design and Analysis of Algorithms Spring 2012 Lecture 19.
Chapter 10: Iterative Improvement The Maximum Flow Problem The Design and Analysis of Algorithms.
1 Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
Advanced Algorithm Design and Analysis (Lecture 8) SW5 fall 2004 Simonas Šaltenis E1-215b
Lectures on Network Flows
1 Maximum Flow Networks Suppose G = (V, E) is a directed network. Each edge (i,j) in E has an associated ‘capacity’ u ij. Goal: Determine the maximum amount.
1 Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
Chapter 7 Maximum Flows: Polynomial Algorithms
1 COMMONWEALTH OF AUSTRALIA Copyright Regulations 1969 WARNING This material has been reproduced and communicated to you by or on behalf.
Network Optimization Models: Maximum Flow Problems In this handout: The problem statement Solving by linear programming Augmenting path algorithm.
The max flow problem
Maximum Flows Lecture 4: Jan 19. Network transmission Given a directed graph G A source node s A sink node t Goal: To send as much information from s.
15.082J and 6.855J and ESD.78J November 2, 2010 Network Flow Duality and Applications of Network Flows.
15.082J, 6.855J, and ESD.78J September 21, 2010 Eulerian Walks Flow Decomposition and Transformations.
Advanced Algorithms Piyush Kumar (Lecture 4: MaxFlow MinCut Applications) Welcome to COT5405.
15.082J and 6.855J and ESD.78J October 19, 2010 Max Flows 3 Preflow-Push Algorithms.
1 COMMONWEALTH OF AUSTRALIA Copyright Regulations 1969 WARNING This material has been reproduced and communicated to you by or on behalf.
15.082J & 6.855J & ESD.78J September 23, 2010 Dijkstra’s Algorithm for the Shortest Path Problem.
CS 4407, Algorithms University College Cork, Gregory M. Provan Network Optimization Models: Maximum Flow Problems In this handout: The problem statement.
Max Flow – Min Cut Problem. Directed Graph Applications Shortest Path Problem (Shortest path from one point to another) Max Flow problems (Maximum material.
Maximum Flow Problem (Thanks to Jim Orlin & MIT OCW)
& 6.855J & ESD.78J Algorithm Visualization The Ford-Fulkerson Augmenting Path Algorithm for the Maximum Flow Problem.
and 6.855J The Goldberg-Tarjan Preflow Push Algorithm for the Maximum Flow Problem.
Chapter 7 April 28 Network Flow.
15.082J & 6.855J & ESD.78J October 7, 2010 Introduction to Maximum Flows.
15.082J and 6.855J March 4, 2003 Introduction to Maximum Flows.
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 25.
15.082J and 6.855J and ESD.78J The Successive Shortest Path Algorithm and the Capacity Scaling Algorithm for the Minimum Cost Flow Problem.
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.
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.
15.082J & 6.855J & ESD.78J September 30, 2010 The Label Correcting Algorithm.
EMIS 8374 The Ford-Fulkerson Algorithm (aka the labeling algorithm) Updated 4 March 2008.
Prof. Swarat Chaudhuri COMP 382: Reasoning about Algorithms Fall 2015.
Theory of Computing Lecture 12 MAS 714 Hartmut Klauck.
Iterative Improvement for Domain-Specific Problems Lecturer: Jing Liu Homepage:
15.082J and 6.855J and ESD.78J October 21, 2010 Max Flows 4.
1 Maximum Flows CONTENTS Introduction to Maximum Flows (Section 6.1) Introduction to Minimum Cuts (Section 6.1) Applications of Maximum Flows (Section.
TU/e Algorithms (2IL15) – Lecture 8 1 MAXIMUM FLOW (part II)
Cycle Canceling Algorithm
Algorithm Design and Analysis
Chapter 5. Optimal Matchings
James B. Orlin Presented by Tal Kaminker
Instructor: Shengyu Zhang
The Shortest Augmenting Path Algorithm for the Maximum Flow Problem
Introduction to Maximum Flows
Introduction to Maximum Flows
Dijkstra’s Algorithm for the Shortest Path Problem
Max Flow Min Cut, Bipartite Matching Yin Tat Lee
Primal-Dual Algorithm
Piyush Kumar (Lecture 6: MaxFlow MinCut Applications)
Algorithms (2IL15) – Lecture 7
EE5900 Advanced Embedded System For Smart Infrastructure
and 6.855J March 6, 2003 Maximum Flows 2
The Shortest Augmenting Path Algorithm for the Maximum Flow Problem
The Shortest Augmenting Path Algorithm for the Maximum Flow Problem
Introduction to Minimum Cost Flows
Max Flows 3 Preflow-Push Algorithms
Class 11 Max Flows Obtain a network, and use the same network to illustrate the shortest path problem for communication networks, the max flow.
Presentation transcript:

15.082J & 6.855J & ESD.78J October 14, 2010 Maximum Flows 2

2 Review of the Ford-Fulkerson Algorithm x := 0; create the residual network G(x); while there is some directed path from s to t in G(x) do let P be a path from s to t in G(x);  * :=  (P); send  * units of flow along P; update the r's; Max-Flow Min-Cut. Let x* be the final flow with flow value v*. Let S* = {j ∈ N : s ➔ j in G(x*)}. Let T* = N\S*. Then x* is a max flow, and (S*, T*) is a minimum cut, and v* = CAP(S*, T*)

Overview of this lecture 1. Applications of max flow and min cut 2. Speedups of the max flow augmenting path algorithm 3

4 Matchings An undirected network G = (N, A) is bipartite if N can be partitioned into N 1 and N 2 so that for every arc (i,j), i ∈ N 1 and j ∈ N 2. A matching in N is a set of arcs no two of which are incident to a common node. Matching Problem: Find a matching of maximum cardinality PersonsTasks

5 Node Covers A node cover is a subset S of nodes such that each arc of G is incident to a node of S. Node Cover Problem: Find a node cover of minimum cardinality PersonsTasks

Matching Duality Theorem 6 Theorem. König- Egerváry. The maximum cardinality of a matching is equal to the minimum cardinality of a node cover. (Proof in 4 slides) Note. Every node cover has at least as many nodes as any matching because each matched edge is incident to a different node of the node cover PersonsTasks

How to find a minimum node cover 7 INPUT: original problem Transform into a max flow problem Solve the max flow problem Find the minimum cut Use the cut to find the minimum node cover

8 Solving the Matching Problem as a Max Flow Problem st Each arc (s, i) has a capacity of 1. Each arc (j, t) has a capacity of 1. Replace original arcs by directed arcs with infinite capacity.

9 Find a max flow st The maximum s-t flow is 4. The max matching has cardinality 4.

10 Determine the minimum cut st S = {s, 1, 3, 4, 6, 8}. T = {2, 5, 7, 9, 10, t}. There is no arc from {1, 3, 4} to {7, 9, 10} or from {6, 8} to {2, 5}. Any such arc would have an infinite capacity s

11 Find the min node cover st The minimum node cover is the set of nodes incident to the arcs across the cut. Max-Flow Min-Cut implies the duality theorem for matching s sst

12 Philip Hall’s Theorem Theorem. Hall’s Theorem. If there is no perfect matching, then there is a set S of nodes of N 1 such that |S| > |T| where T are the nodes of N 2 adjacent to S

Generalization of Hall’s Theorem: Feasibility for min cost flows Let G = (N, A) be a network b j = supply/demand for node i. ∑ i b i = 0. u ij = upper bound on flow in (i, j) assume that all lower bounds are 0 13 Theorem: Either there is a feasible flow in G or else there is a subset S of nodes such that ∑ i ∈ S b i > CAP(S, T). ST T = N\S

14 Network Reliability u Communication Network u What is the maximum number of arc disjoint paths from s to t? How can we determine this number? Theorem. Let G = (N,A) be a directed graph. Then the maximum number of arc-disjoint paths from s to t is equal to the minimum number of arcs upon whose deletion there is no directed s-t path.

15 There are 3 arc-disjoint s-t paths s t

16 Deleting 3 arcs disconnects s and t t s 3 48 Let S = {s, 3, 4, 8}. The only arcs from S to T = N\S are the 3 deleted arcs.

17 Node disjoint paths Two s-t paths P and P' f are said to be node- disjoint if the only nodes in common to P and P' are s and t). How can one determine the maximum number of node disjoint s-t paths? Answer: node splitting Theorem. Let G = (N,A) be a network with no arc from s to t. The maximum number of node- disjoint paths from s to t equals the minimum number of nodes in N\{s,t} whose removal from G disconnects all paths from nodes s to node t.

18 There are 2 node disjoint s-t paths. s t

19 Deleting 5 and 6 disconnects t from s. t s Let S = {s, 1, 2, 3, 4, 8} Let T = {7, 9, 10, 11, 12, t} There is no arc directed from S to T.

Mental Break What did ancient Egyptians shave to mourn the death of their cats? Their eyebrows. In what country are the ruins of Troy located? Turkey At the height of its power (around 400 BCE), Sparta had 25,000 citizens. How many slaves did it have? 500,000.

In ancient Rome, being born with a crooked nose was considered a sign. What was it a sign of? Leadership. The Roman emperor Caligula gave a special honor to his horse. What was the honor? He made his horse a senator. How long did it take for the great wall of China to be built. Around 1900 years. From 5th century BC to the 16th century. The wall is around 3900 miles long. It is not visible to the human eye from space. Mental Break

Speedups of the augmenting path algorithm 1. Shortest augmenting path algorithm: always augment along the path in G(x) with the fewest number of arcs.- 2. Largest augmenting path algorithm: always augment along a path in G(x) with the greatest capacity. 22

The shortest augmenting path algorithm x := 0; create the residual network G(x); while there is some directed path from s to t in G(x) do let P be a path from s to t in G(x) with the fewest number of arcs;  * :=  (P); send  * units of flow along P; update the r's; 23 Theorem. The shortest augmenting path algorithm determines a maximum flow in O(nm) augmentations. This algorithm can be implemented to run in O(n 2 m) time.

Distance Labels: Let d(i) be the length of the shortest path from i to t in G(x) st FACT 1: If (i, j) ∈ G(x), then d(i) ≤ d(j) + 1. FACT 2: Arc (i, j) is on a shortest path from i to t if and only if d(i) = d(j) + 1. FACT 3: d(t) = 0; d(i) < n for all i s.t. i ➔ t in G(x).

Valid Arcs and Saturating Pushes 25 An arc (i, j) ∈ G(x) is valid if d(i) = d(j) s t FACT: If P is an augmenting path, then every arc of P is valid. Suppose δ units of flow are sent along P. The augmentation saturates arc (i, j) ∈ P if r ij = δ.

The number of augmenting paths Theorem. The number of augmenting paths for the shortest augmenting path algorithm is O(nm). 26 Fact. In every augmenting path, at least one arc (i, j) is saturated. Proof of theorem. Let a ij be the number of times that arc (i, j) is saturated. Let A be the number of augmentations. Then A ≤ ∑ (i,j) ∈ A 2a ij ≤ ∑ (i,j) ∈ A n ≤ nm. Lemma 1. Arc (i, j) and its reversal (j, i) can be saturated at most n/2 times each. (To be proved later.)

Proof of Lemma 1. Each arc (i, j) is saturated fewer than n times. Lemma 2. Let d be the distance labels an iteration where arc (i, j) is saturated. Suppose that d’ is the vector of distance labels at a subsequent iteration where (i, j) is saturated. Then n > d’(i) ≥ d(i) + 2. (to be proved on next slide). Proof of Lemma 1 from Lemma 2. Before (i, j) can be saturated again, its distance label will increase by at least 2. Since 0 < d(i) < n, the distance label can increase at most n/2 times. 27

Proof of Lemma 2. Lemma 3. Let d be the distance labels at some iteration, and let d’ be the distance labels at a subsequent iteration. Then d’(i) ≥ d(i) for all i ∈ N. (to be proved on next slide) 28 Proof of Lemma 2 from Lemma 3. Suppose that (i, j) is saturated when d(i) = k. There is no more flow in (i, j) until flow is sent in (j, i) at which point the distance label of j is k+1. But flow cannot be returned in (i, j) until it is valid again, and the distance label is at least k+2. ji kk-1 ji k k+1 ji k+2k+1

Proof of Lemma 3. Assume that Lemma 3 is false. Let d be the distance labels at some iteration. Let P be the augmenting path. After the augmentation, the reversals of arcs in P are in the residual network. But adding these arcs to G(x) does not decrease any distance. And deleting arcs of P cannot decrease a distance label stt s Augmenting path: s t

Largest Augmenting Path Algorithm Theorem. (Edmonds-Karp). Suppose that one augments along the augmentation with the largest residual capacity. Then the maximum flow is determined after O(m log U) augmenting paths. Running time: The time to find the maximum augmenting path is O(m log m). (Why?) Thus the total running time is O(m 2 log m log U) 30

Finding the largest augmenting path Step 1. Sort the capacities in the residual network. Suppose that sorted capacities are c 1, c 2, …, c 2m. Step 2. Let G j (x’) be the residual network as restricted to arcs with capacity at least c j. Step 3. Use binary search to find the largest value j so that there is a path from s to t in G j (x’). 31 Notation for the proof of the theorem: Let v* be the maximum flow value out of s. Let v k be the amount of flow out of s immediately prior to the k-th augmentation. Let a k be the capacity of the k-th augmentation.

Lemma 4 and Lemma 5. Proof of Theorem from Lemma 5. The largest initial augmentation is at most U. Then a k ≤ U/2 for some k ≤ 2m. Then a k ≤ U/4 for some k ≤ 4m. One can show using induction that a k < 1 for some k ≤ 2m(log U+1). But capacities are always integer valued. So, there are at most 2m (log U+1) augmentations. 32 Lemma 5. For all k, there exists k’ < k + 2m such that a k’ < a k /2. Lemma 4. For all k, a k ≥ (v* - v k )/m.

Proofs of Lemmas 4 and 5 33 Proof of Lemma 4. Let x’ be the arc flows prior to the k-th iteration. Then the max flow out of s in G(x’) is (v* - v’). Let y be the maximum flow in G(x’). The flow decomposition of y has most m paths from s to t. The sum of these flows is (v* - v’) and so the maximum of the capacities of these paths is at least (v* - v’)/m. Proof of Lemma 5. Suppose that the theorem is false. Suppose that a j > a k /2 for j = k to k+2m. The total amount of flow sent from s during these iterations is greater than 2m(a k /2) > v* - v k. This is impossible, and so the lemma is true.

Geometric convergence arguments Lemma 5. Suppose that any algorithm for a maximization problem has objective value v k at iteration k, and let v* be the optimum value. Suppose there is some positive integer B such that for all k, (v k+1 – v k ) ≥ (v* - v k )/B. Then for all k: (v k+2B – v k ) > (v* - v k )/2. 34 Proof by contradiction. Let a k = v k+1 – v k. Suppose that (v k+2B – v k ) ≤ (v* - v k )/2. By assumption: for each j from k to k+2B, a j = (v j+1 – v j ) ≥ (v* - v j )/B ≥ (v* - v k )/2B. Then

Summary Applications of max-flow min-cut Analysis of Shortest Augmenting Path Algorithm Distance labels Analysis of Largest Augmenting Path Algorithm Geometric convergence arguments. 35

MITOpenCourseWare J / 6.855J / ESD.78J Network Optimization Fall 2010 For information about citing these materials or our Terms of Use, visit: