1 CPSC 320: Intermediate Algorithm Design and Analysis July 11, 2014.

Slides:



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

COMP 482: Design and Analysis of Algorithms
Maximum Flow and Minimum Cut Problems In this handout: Duality theory Upper bounds for maximum flow value Minimum Cut Problem Relationship between Maximum.
Max Flow Problem Given network N=(V,A), two nodes s,t of V, and capacities on the arcs: uij is the capacity on arc (i,j). Find non-negative flow fij for.
15.082J & 6.855J & ESD.78J October 14, 2010 Maximum Flows 2.
3/17/2003Tucker, Applied Combinatorics Section 4.2a 1 Network Flows Michael Duquette & Whitney Sherman Tucker, Applied Combinatorics, Section 4.2a, Group.
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)
1 Augmenting Path Algorithm s t G: Flow value = 0 0 flow capacity.
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.
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)
CSC 2300 Data Structures & Algorithms April 17, 2007 Chapter 9. Graph Algorithms.
CSE 421 Algorithms Richard Anderson Lecture 22 Network Flow.
1 Maximum flow problems. 2 - Introduction of: network, max-flow problem capacity, flow - Ford-Fulkerson method pseudo code, residual networks, augmenting.
1 Augmenting Path Algorithm s t G: Flow value = 0 0 flow capacity.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2001 Lecture 4 Tuesday, 10/2/01 Graph Algorithms: Part 2 Network.
Feasible Flow Network : A digraph with a nonnegative capacity c(e) on each edge e and a distinguished source node s and sink node t. Flow: A flow f assign.
Yangjun Chen 1 Network Flow What is a network? Flow network and flows Ford-Fulkerson method - Residual networks - Augmenting paths - Cuts of flow networks.
So far we have learned about:
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.
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.
Flow Networks Formalization Basic Results Ford-Fulkerson Edmunds-Karp Bipartite Matching Min-cut.
MAX FLOW CS302, Spring 2013 David Kauchak. Admin.
1 CPSC 320: Intermediate Algorithm Design and Analysis July 25, 2014.
Lecture 5: Network Flow Algorithms Single-Source Shortest-Path (SSSP) (Dijkstra's Algorithm) Max Flow - Min Cut (Ford-Fulkerson) Job Sequencing.
Maximization of Network Survivability against Intelligent and Malicious Attacks (Cont’d) Presented by Erion Lin.
Network Flow How to solve maximal flow and minimal cut problems.
Yangjun Chen 1 Network Flow What is a network? Flow network and flows Ford-Fulkerson method - Residual networks - Augmenting paths - Cuts of flow networks.
1 CPSC 320: Intermediate Algorithm Design and Analysis July 28, 2014.
1 CPSC 320: Intermediate Algorithm Design and Analysis July 21, 2014.
1 CPSC 320: Intermediate Algorithm Design and Analysis July 9, 2014.
1 COMMONWEALTH OF AUSTRALIA Copyright Regulations 1969 WARNING This material has been reproduced and communicated to you by or on behalf.
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)
1 CPSC 320: Intermediate Algorithm Design and Analysis July 16, 2014.
CS223 Advanced Data Structures and Algorithms 1 Maximum Flow Neil Tang 3/30/2010.
Chapter 7 April 28 Network Flow.
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.
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.
Exercise 6.1 Find the number of different shortest paths from point A to point B in a city with perfectly horizontal streets and vertical avenues as shown.
1 CPSC 320: Intermediate Algorithm Design and Analysis July 30, 2014.
CSCI 256 Data Structures and Algorithm Analysis Lecture 20 Some slides by Kevin Wayne copyright 2005, Pearson Addison Wesley all rights reserved, and some.
Network Analysis Maxflow. What is a Network? Directed connected graph Source node Sink (destination node) Arcs are weighted (costs) Represent a system.
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 
CSE 421 Algorithms Richard Anderson Lecture 22 Network Flow.
1 CPSC 320: Intermediate Algorithm Design and Analysis July 30, 2014.
1 CPSC 320: Intermediate Algorithm Design and Analysis July 14, 2014.
Maximum Flow Problem Definitions and notations The Ford-Fulkerson method.
11/21/02CSE Max Flow CSE Algorithms Max Flow Problems.
CSE 421 Algorithms Richard Anderson Lecture 21 Shortest Paths and Network Flow.
TU/e Algorithms (2IL15) – Lecture 8 1 MAXIMUM FLOW (part II)
Network Flow What is a network? Flow network and flows
CSCI 3160 Design and Analysis of Algorithms Tutorial 8
Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
Richard Anderson Lecture 21 Network Flow
Augmenting Path Algorithm
Algorithms (2IL15) – Lecture 7
Network Flow.
Lecture 21 Network Flow, Part 1
Augmenting Path Algorithm
Lecture 21 Network Flow, Part 1
Maximum Flow Neil Tang 4/8/2008
Richard Anderson Lecture 22 Network Flow
Presentation transcript:

1 CPSC 320: Intermediate Algorithm Design and Analysis July 11, 2014

2 Course Outline Introduction and basic concepts Asymptotic notation Greedy algorithms Graph theory Amortized analysis Recursion Divide-and-conquer algorithms Randomized algorithms Dynamic programming algorithms NP-completeness

3 Reviewing some proof concepts

4 Concepts related to proofs Hypothesis: what we assume is true Proposition: what we want to prove is true Definition: something that we name, that doesn’t need a proof Theorem: something that is not evident that we provide a proof Lemma: an intermediary step in a proof (a “mini-theorem”) Corollary: something that can be inferred from previous results very easily

5 Common types of proof Direct proof: from something known, extend until we reach the result Contradiction: negate the proposition, and extend until we reach something impossible Contraposition: negate the proposition, and extend until we reach a negation of the assumption Induction: prove for a base case, and prove that, if a smaller case is true, the next case is also true Example: to prove that something exists, just show one that works Exhaustion: prove for all possible cases

6 Maximum Flow Problem

7 Maximum Flow Assume a directed graph where each edge has a capacity Assume two nodes (source and sink) Problem: find a flow from source to sink that uses maximum possible value In any node (except source and sink) incoming flow equals outgoing flow Application: Flow of materials from a system to a client (e.g., water pipes) Flow of electrical current through a network Transportation of goods

8 Maximum Flow – Formal Definitions

9 Ford-Fulkerson Method

10 Residual Network

11 Flow augmentation

12 Augmenting path

13 Ford-Fulkerson Algorithm

14 Analysis Does this algorithm provide a valid flow? Does this algorithm provide the maximum flow? What is the time complexity of this algorithm? How many times does the main loop run? Does the algorithm always terminate?

15 Analysis

16 Minimum Cut Cut: partition of the nodes of a graph such that two nodes are in different subsets Capacity of the cut: sum of the capacities of all cut edges in one direction Minimum cut: cut with minimum capacity Applications: Network reliability evaluation

17 Minimum Cut – Formal Definitions

18 Relationship between flow and cut