UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2001 Lecture 4 Tuesday, 10/2/01 Graph Algorithms: Part 2 Network.

Slides:



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

1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
1 Review of some graph algorithms Graph G(V,E) (Chapter 22) –Directed, undirected –Representation Adjacency-list, adjacency-matrix Breadth-first search.
Introduction To Algorithms CS 445 Discussion Session 8 Instructor: Dr Alon Efrat TA : Pooja Vaswani 04/04/2005.
MAXIMUM FLOW Max-Flow Min-Cut Theorem (Ford Fukerson’s Algorithm)
The Maximum Network Flow Problem. CSE Network Flows.
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 Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
1 The Max Flow Problem. 2 Flow networks Flow networks are the problem instances of the max flow problem. A flow network is given by 1) a directed graph.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2001 Lecture 1 (Part 1) Introduction/Overview Tuesday, 9/4/01.
CS138A Network Flows Peter Schröder. CS138A Flow Networks Definitions a flow network G=(V,E) is a directed graph in which each edge (u,v)
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Spring, 2001 Lecture 4 Tuesday, 2/19/02 Graph Algorithms: Part 2 Network.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2001 Lectures 3 Tuesday, 9/25/01 Graph Algorithms: Part 1 Shortest.
1 Maximum flow problems. 2 - Introduction of: network, max-flow problem capacity, flow - Ford-Fulkerson method pseudo code, residual networks, augmenting.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Spring, 2003 Review Lecture Tuesday, 5/6/03.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2002 Lecture 1 (Part 1) Introduction/Overview Tuesday, 9/3/02.
The max flow problem
Yangjun Chen 1 Network Flow What is a network? Flow network and flows Ford-Fulkerson method - Residual networks - Augmenting paths - Cuts of flow networks.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2002 Review Lecture Tuesday, 12/10/02.
Flows sourcesink s t Flows sourcesink edge-weights = capacities.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2008 Lecture 5 Tuesday, 10/7/08 Graph Algorithms: Part 2.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2006 Lecture 5 Wednesday, 10/4/06 Graph Algorithms: Part 2.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2004 Lecture 5 Wednesday, 10/6/04 Graph Algorithms: Part 2.
CSE 421 Algorithms Richard Anderson Lecture 22 Network Flow.
Assignment 4. (Due on Dec 2. 2:30 p.m.) This time, Prof. Yao and I can explain the questions, but we will NOT tell you how to solve the problems. Question.
Flow Networks Formalization Basic Results Ford-Fulkerson Edmunds-Karp Bipartite Matching Min-cut.
Maximum Flow Chapter 26.
Yangjun Chen 1 Network Flow What is a network? Flow network and flows Ford-Fulkerson method - Residual networks - Augmenting paths - Cuts of flow networks.
Single Source Shortest-Path: The General Case (with negative edges) Bellman-Ford algorithm. Iteratively relax all edges |V|-1 times Running time? O(VE).
1 COMMONWEALTH OF AUSTRALIA Copyright Regulations 1969 WARNING This material has been reproduced and communicated to you by or on behalf.
CS 473Lecture ?1 CS473-Algorithms I Lecture ? Network Flows Finding Max Flow.
Max Flow – Min Cut Problem. Directed Graph Applications Shortest Path Problem (Shortest path from one point to another) Max Flow problems (Maximum material.
CS 473Lecture ?1 CS473-Algorithms I Lecture ? Network Flows Flow Networks & Flows.
Maximum Flow Chapter 26. Flow Concepts Source vertex s – where material is produced Sink vertex t – where material is consumed For all other vertices.
CS223 Advanced Data Structures and Algorithms 1 Maximum Flow Neil Tang 3/30/2010.
Chapter 7 April 28 Network Flow.
Algorithm Design and Analysis (ADA)
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.
Data Structures & Algorithms Network Flow Richard Newman based on book by R. Sedgewick.
Flow Networks Ching-Chen Huang Hsi-Yue Hsiao. CONTENTS Network flows on directed acyclic graphs Ford-fulkerson Algorithms -Residual networks.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2001 Review Lecture Tuesday, 12/11/01.
CSE 421 Algorithms Richard Anderson Lecture 22 Network Flow.
Theory of Computing Lecture 12 MAS 714 Hartmut Klauck.
A directed graph G consists of a set V of vertices and a set E of arcs where each arc in E is associated with an ordered pair of vertices from V. V={0,
Maximum Flow Problem Definitions and notations The Ford-Fulkerson method.
Instructor Neelima Gupta Edited by Divya Gaur(39, MCS '09) Thanks to: Bhavya(9), Deepika(10), Deepika Bisht(11) (MCS '09)
The Maximum Network Flow Problem
TU/e Algorithms (2IL15) – Lecture 8 1 MAXIMUM FLOW (part II)
Network Flow What is a network? Flow network and flows
The Maximum Network Flow Problem
Maximum Flow Chapter 26.
Data Structures and Algorithms (AT70. 02) Comp. Sc. and Inf. Mgmt
Network flow problem [Adapted from M.Chandy].
Instructor: Shengyu Zhang
Lecture 10 Network flow Max-flow and Min-cut Ford-Fulkerson method
Flow Networks Topics Flow Networks Residual networks
Richard Anderson Lecture 23 Network Flow
Richard Anderson Lecture 23 Network Flow
Richard Anderson Lecture 21 Network Flow
Lecture 5 Tuesday, 3/2/10 Graph Algorithms: Part 2
Flow Networks and Bipartite Matching
Algorithms (2IL15) – Lecture 7
Text Book: Introduction to algorithms By C L R S
Lecture 21 Network Flow, Part 1
Richard Anderson Lecture 22 Network Flow
Richard Anderson Lecture 22 Network Flow
Advanced Graph Homer Lee 2013/10/31.
Presentation transcript:

UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2001 Lecture 4 Tuesday, 10/2/01 Graph Algorithms: Part 2 Network Flows, Case Study

Chapter Dependencies Ch 1-6 Math Review: Asymptotics, Recurrences, Summations, Sets, Graphs, Counting, Probability, Calculus, Proofs Techniques (e.g. Inductive) Logarithms Ch 7-10 Sorting Ch 11-14, 15 Data Structures Ch 16, 17, 18 Advanced Design & Analysis Techniques Ch Advanced Data Structures Ch 23-25,26,27 Graph Algorithms Ch 28, 29 Parallel Comparison-Based Sorting Networks, Arithmetic Circuits Ch 30 Parallel Comparison-Based Sorting Networks Ch 31 Matrix Operations Math: Linear Algebra Ch 35 Computational Geometry Math: Geometry (High School Level) Ch 36 NP-Completeness Ch 37 Approximation Algorithms

Network Flow Chapter 27

Basic Network Flow Concepts

Network Flow source: Sedgewick, Graph Algorithms weighted network edge weights Goal: compute second set of edge weights <= capacities. flow direction source sink flow in = flow out (except at source, sink)

Network Flow Applications ä Distribution Problems ä move objects from place to place within network ä examples: ä merchandise ä communications ä traffic flow source: Sedgewick, Graph Algorithms

Network Flow Applications (continued) ä Matching Problems ä network represents ways to connect vertices ä goal: choose connections to ä cover vertex set ä only touch each vertex once ä examples: ä job placement ä minimum-distance point matching (2 point sets) source: Sedgewick, Graph Algorithms

Network Flow Applications (continued) ä Cut Problems ä remove edges to cut network into >= 2 pieces ä examples: ä network reliability ä cutting supply lines source: Sedgewick, Graph Algorithms

Flow Definitions ä Flow network G = (V,E) ä directed graph ä each edge (u,v) in E has capacity c(u,v) >= 0 ä every vertex is on some path from source s to sink t ä G is connected ä |E| >= |V| - 1 source: textbook Cormen et al.

Flow Properties ä Flow in G is f: VxV -> R satisfying: ä Capacity Constraint: ä Skew Symmetry: ä Flow Conservation: ä f(u,v) is net flow from vertex u to vertex v ä positive net flow entering vertex v: ä positive net flow entering a vertex other than source or sink must = positive net flow leaving the vertex ä Value of a flow f is total net flow out of source: source: textbook Cormen et al.

Flow Properties (continued) ä Lemma 27.1 ä Let G=(V,E) be a flow network, and let f be a flow in G. Then: ä Implicit summation notation: source: textbook Cormen et al. Exercise: show

source: Sedgewick, Graph Algorithms Flow Properties (continued) Flow Equilibrium A = amount of flow into left set from outside right set B = amount of flow out of left set (and not into right set) C = amount of flow into right set from outside left set D = amount of flow out of right set (and not into left set) y = amount of flow into left set from right set x = amount of flow into right set from left set EQUILIBRIUM requires A + x = B + y C + y = D + x A + C = B + D

Controlling Network Flow source: Sedgewick, Graph Algorithms open switches along path open switches along path change switch at 1 to redirect flow to fill 1-4; add flow on (maxflow results)

Augmenting Paths

Augmenting Flow on a Path source: Sedgewick, Graph Algorithms increase flow in decrease flow in divert to, flow increases from 3 to 4

Augmenting Path Sequences source: Sedgewick, Graph Algorithms

Residual Networks

source: textbook Cormen et al. flow network G and flow f residual network G f and augmenting path augmented flow in G augmented flow in G f min capacity on augmenting path

Residual Networks source: Sedgewick, Graph Algorithms

Cuts

s-t Cut source: Sedgewick, Graph Algorithms Disconnects source from sink

MaxFlow MinCut Theorem ä If f is a flow in a flow network G=(V,E) with source s and sink t, then, equivalently: ä 1. f is a maximum flow in G ä 2. The residual network G f contains no augmenting paths ä 3. |f| = c(S,T) for some cut (S,T) of G source: textbook Cormen et al.

MaxFlow MinCut Theorem Proof Layout Lemma 27.1 Lemma 27.2 Lemma 27.3 Corollary 27.4 Lemma 27.5 Corollary 27.6 Eq 27.6 Eq 27.4 MaxFlow MinCut (3) -> (1) (1) -> (2) (2) -> (3)

Ford-Fulkerson MaxFlow Method

General Approach source: textbook Cormen et al.

With Residual Networks source: textbook Cormen et al.

Analysis source: textbook Cormen et al. Time depends on method termination?  (E) time  ( | max f | ) iterations, assuming integral capacities Each iteration of while loop can be executed in O(E) time = time to find path in residual network using BFS or DFS Each iteration of while loop can be executed in O(E) time = time to find path in residual network using BFS or DFS Total time =  ( E | max f | ) assuming integral capacities Total time =  ( E | max f | ) assuming integral capacities

Shortest Augmenting Paths Edmonds-Karp source: Sedgewick, Graph Algorithms

Shortest Augmenting Paths Edmonds-Karp ä Time is in O(VE 2 ): ä Each iteration of while loop takes time in O(E) ä Number of iterations is in O(VE) ä Shortest-path distance in residual network increases monotonically with each flow augmentation ä Total number of augmentations is in O(VE) ä Proof Sketch: ä Edge in residual network is critical on augmenting path if residual capacity of path is residual capacity of (u,v) ä Critical edge disappears from residual network ä Critical edge reappears only if net flow from u to v is decreased; happens only if (v,u) appears later on another augmenting path ä From time (u,v) becomes critical to time it next becomes critical, distance of u from source increases by >= 2 ä (u,v) becomes critical at most O(V) times

Graph Algorithms Research Case Study

Case Study Literature Wu, Li [1999]

ä Board work ä In-class exercise

Backup Slides

source: Sedgewick, Graph Algorithms