Maximum Flow Neil Tang 4/8/2008

Slides:



Advertisements
Similar presentations
Maximum flow Main goals of the lecture:
Advertisements

1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
1 Maximum flow sender receiver Capacity constraint Lecture 6: Jan 25.
Network Optimization Models: Maximum Flow Problems
1 Augmenting Path Algorithm s t G: Flow value = 0 0 flow capacity.
Nick McKeown Spring 2012 Maximum Matching Algorithms EE384x Packet Switch Architectures.
CSC 2300 Data Structures & Algorithms April 17, 2007 Chapter 9. Graph Algorithms.
CSE 421 Algorithms Richard Anderson Lecture 22 Network Flow.
1 Augmenting Path Algorithm s t G: Flow value = 0 0 flow capacity.
Network Optimization Models: Maximum Flow Problems In this handout: The problem statement Solving by linear programming Augmenting path algorithm.
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.
CS541 Advanced Networking 1 Routing and Shortest Path Algorithms Neil Tang 2/18/2009.
MAX FLOW CS302, Spring 2013 David Kauchak. Admin.
CS774. Markov Random Field : Theory and Application Lecture 13 Kyomin Jung KAIST Oct
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)
CS223 Advanced Data Structures and Algorithms 1 Maximum Flow Neil Tang 3/30/2010.
15.082J and 6.855J March 4, 2003 Introduction to Maximum Flows.
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.
1 Network Flow CSC401 – Analysis of Algorithms Chapter 8 Network Flow Objectives: Flow networks –Flow –Cut Maximum flow –Augmenting path –Maximum flow.
Fall 2003Maximum Flow1 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 CPSC 320: Intermediate Algorithm Design and Analysis July 14, 2014.
Ford-Fulkerson Recap.
Network Flow.
The Maximum Network Flow Problem
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
Max-flow, Min-cut Network flow.
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.
CSCI 3160 Design and Analysis of Algorithms Tutorial 8
Network Flow.
Max Flow min Cut.
Unweighted Shortest Path Neil Tang 3/11/2010
CS223 Advanced Data Structures and Algorithms
Max-flow, Min-cut Network flow.
CMSC 341 Lecture 24 Max Flow Prof. Neary
Lecture 16 Maximum Matching
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
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
Lecture 10 Network flow Max-flow and Min-cut Ford-Fulkerson method
Introduction to Maximum Flows
Analysis of Algorithms
Dijkstra’s Shortest Path Algorithm Neil Tang 03/25/2008
Richard Anderson Lecture 21 Network Flow
Flow Networks General Characteristics Applications
Flow Networks and Bipartite Matching
Algorithms (2IL15) – Lecture 7
The Bellman-Ford Shortest Path Algorithm Neil Tang 03/27/2008
Network Flow CSE 373 Data Structures.
EE5900 Advanced Embedded System For Smart Infrastructure
Max Flow / Min Cut.
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
Network Flow.
Lecture 21 Network Flow, Part 1
Dijkstra’s Shortest Path Algorithm Neil Tang 3/2/2010
MAXIMUM flow by Eric Wengert.
Introduction to Maximum Flows
Prim’s Minimum Spanning Tree Algorithm Neil Tang 4/1/2008
Introduction to Maximum Flows
Network Flow.
Maximum Bipartite Matching
Richard Anderson Lecture 22 Network Flow
Advanced Graph Homer Lee 2013/10/31.
Maximum Flow Problems in 2005.
Presentation transcript:

Maximum Flow Neil Tang 4/8/2008 CS223 Advanced Data Structures and Algorithms

CS223 Advanced Data Structures and Algorithms Class Overview The maximum flow problem Applications A greedy algorithm which does not work The Ford-Fulkerson algorithm Implementation and time complexity CS223 Advanced Data Structures and Algorithms

The Maximum Flow Problem The weight of a link (a.k.a link capacity) indicates the maximum amount of flow allowed to pass through this link. The maximum flow problem: Given a weighted directed graph G, a source node s and sink t, find the maximum amount of flow that can pass from s to t and a corresponding feasible link flow allocation. Flow feasibility: Both the flow conservation constraint and the capacity constraint must be satisfied. CS223 Advanced Data Structures and Algorithms

The Maximum Flow Problem CS223 Advanced Data Structures and Algorithms

CS223 Advanced Data Structures and Algorithms Applications Computer networks: Data traffic routing for throughput maximization. Transportation networks: Road construction and traffic management. Graph theory: Matching, assignment problems. CS223 Advanced Data Structures and Algorithms

Flow Graph and Residual Graph CS223 Advanced Data Structures and Algorithms

CS223 Advanced Data Structures and Algorithms Basic Idea Keep finding s-t augmenting paths until no such paths can be found in the residual graph. Update the flow and residual graph according to the augmenting path in each step. CS223 Advanced Data Structures and Algorithms

A Greedy Algorithm which Does Not Work Find an augmenting path s-a-d-t with flow value 3 and update the flow and residual graphs as follows: CS223 Advanced Data Structures and Algorithms

The Ford-Fulkerson Algorithm Find an augmenting path s-a-d-t with flow value 3 and update the flow and residual graphs as follows: CS223 Advanced Data Structures and Algorithms

The Ford-Fulkerson Algorithm Find an augmenting path s-b-d-a-c-t with flow value 2 and update the flow and residual graphs as follows: CS223 Advanced Data Structures and Algorithms

CS223 Advanced Data Structures and Algorithms A Bad Example CS223 Advanced Data Structures and Algorithms

The Implementation and Time Complexity If all the link capacities are integers, then the time complexity of the Ford-Fulkerson algorithm is bounded by O(f|E|), where f is the max flow. In each step, find an augmenting path which allows largest the increase in flow using a modified Dijkstra’s algorithm. It has been proved that it terminates after O(|E|logCapmax) steps, so the time complexity is O(|E|2log|V|logCapmax). The Edmonds-Karp algorithm: In each step, find an augmenting path with minimum number of edges using BFS. It has been proved that it terminates after O(|E||V|) steps. So the time complexity is O(|E|2|V|). CS223 Advanced Data Structures and Algorithms