SlideShare a Scribd company logo
1 of 19
1
Review of some graph algorithms
• Graph G(V,E) (Chapter 22)
– Directed, undirected
– Representation
• Adjacency-list, adjacency-matrix
• Breadth-first search (BFS), O(V+E)
• Depth-first search (DFS), O(V+E), recursive
– Topological Sort
– Strong connected components
2
Review of some graph algorithms
• Minimum Spanning Tree (Chapter 23)
– Greedy algorithm
– Kruskal’s algorithm: O(ElgV)
• Using disjoint set algorithm, similar to connected components
– Prim’s algorithm: O(E+VlgV)
• Similar to Dijkstra, using min-priority QUEUE
• Single-source shortest paths (Chapter 24)
– Bellman-Ford algorithm: O(VE)
• dj=min{dj,dk+w(j,k)} where k is j’s neighbor
– Dijkstra’s algorithm: O(E+VlgV)
• Find the closest node n1 which is s’s neighbor, modify other nodes distance
• Find the second closest node n2 which is the neighbor of s or n1, modify the
distance
• Find the third closest node n3, which is the neighbor of s, n1, or n2, ,….
3
Graph algorithms (cont.)
• All-pairs shortest paths (Chapter 25)
– Floyd-Warshall algorithms: O(V3).
– Dynamic programming, similar to Matrix
Chain Multiplications
– dij
(0)=wij
– For k1 to n
• for i1 to n
– for j1 to n
» dij
(k)=min(dij
(k-1),dik
(k-1)+dkj
(k-1))
4
Maximum Flow (chap. 26)
• Max-flow problem:
– A directed graph G=<V,E>, a capacity function on
each edge c(u,v) 0 and a source s and a sink t. A
flow is a function f : VVR that satisfies:
• Capacity constraints: for all u,vV, f(u,v) c(u,v).
• Skew symmetry: for all u,vV, f(u,v)= -f(v,u).
• Flow conservation: for all uV-{s,t}, vV f(u,v)=0, or to say,
total flow out of a vertex other s or t is 0, or to say, how much
comes in, also that much comes out.
– Find a maximum flow from s to t.
– Denote the value of f as |f|=vVf(s,v), i.e., the total
flow out of the source s.
• |f|=uVf(u,t), i.e., the total flow into the sink t.
5
Example of max-flow problem
6
Ford-Fulkerson method
• Contains several algorithms:
– Residue networks
– Augmenting paths
7
Residual Networks
• Given a flow network G=<V,E> and a flow
f,
– the residual network of G induced by f is
Gf=<V,Ef> where Ef={(u,v)VV:
cf(u,v)=c(u,v)-f(u,v), and cf(u,v)>0}
– a network with left capacity >0, also a flow
network.
8
Residual network and augmenting path
9
Residual network and flow theorem
• Lemma 26.2 (page 653):
– Let G=<V,E> be a flow network with source s and sink
t, and let f be a flow,
– Let Gf be the residual network of G induced by f, and
let f' be a flow of Gf.
– Define the flow sum: f+f' as:
– (f+f')(u.v)=f(u.v)+f'(u.v), then
– f+f' is a flow in G with value |f+f'|=|f|+|f'|.
• Proof:
– Capacity constraint, skew symmetry, and flow
conservation and finally |f+f'|=|f|+|f'|.
10
Augmenting paths
• Let G=<V,E> be a flow network with source s and
sink t, and let f be a flow,
• An augmenting path p in G is a simple path from s
to t in Gf, the residual network of G induced by f.
• Each edge (u,v) on an augmenting path admits
some additional positive flow from u to v without
violating the capacity constraint.
• Define residual capacity of p is the maximum
amount we can increase the flow:
– cf(p)=min{cf(u,v): (u,v) is on p.}
11
Augmenting path
• Lemma 26.3 (page 654):
– Let G=<V,E> be a flow network with source s and sink
t, let f be a flow, and let p be an augmenting path in
Gf. Define fp: VVR by:
• fp(u,v)= cf(p) if (u,v) is on p.
• -cf(p) if (v,u) is on p.
• 0 otherwise
– Then fp is a flow in Gf with value |fp|=cf(p) >0.
• Corollary 26.4 (page 654):
– Define f'=f+fp, then f' is a flow in G with value
|f'|=|f|+|fp|>|f|.
12
Basic Ford-Fulkerson algorithm
Running time: if capacities are in irrational numbers, the algorithm may not terminate.
Otherwise, O(|E||f*|) where f* is the maximum flow found by the algorithm: while loop
runs f* times, increasing f* by one each loop, finding an augmenting path using depth-
first search or breadth-first search costs |E|.
13
Execution of Ford-Fulkerson
14
An example of loop |f*| times
Note: if finding an augmenting path uses breadth-first search, i.e., each augmenting
path is a shortest path from s to t in the residue network, while loop runs
at most O(|V||E|) times (in fact, each edge can become critical at most |V|/2-1 times),
so the total cost is O(|V||E|2). Called Edmonds-Karp algorithm.
15
Network flows with multiple sources and sinks
• Some problems can be reduced to maximum
flow problem. Here give two examples.
• Reduce to network flow with single source and
single sink
• Introduce a supersource s which is directly
connected to each of the original sources si with
a capacity c(s,si)=
• Introduce a supersink t which is directly
connected from each of the original sinks ti with
a capacity c(si,s)=
16
Maximum bipartite matching
• Matching in a undirected graph G=(V,E)
– A subset of edges ME, such that for all vertices vV,
at most one edge of M is incident on v.
• Maximum matching M
– For any matching M′, |M|| M′|.
• Bipartite: V=LR where L and R are distinct and
all the edges go between L and R.
• Practical application of bipartite matching:
– Matching a set L of machines with a set R of tasks to
be executed simultaneously.
– The edge means that a machine can execute a task.
17
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
18
Finding a maximum bipartite matching
• Construct a flow network G′=(V′,E′,C) from
G=(V,E) as follows where =LR:
– V′=V{s,t}, introducing a source and a sink
– E′={(s,u): uL}  E {(v,t): vR}
– For each edge, its capacity is unit 1.
• As a result, the maximum flow in G′ is a
maximum matching in G.
19
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

More Related Content

Similar to MaximumFlow.ppt

aads_assignment1_answer-1.pdf
aads_assignment1_answer-1.pdfaads_assignment1_answer-1.pdf
aads_assignment1_answer-1.pdfNanaKoori
 
Sequential and parallel algorithm to find maximum flow on extended mixed netw...
Sequential and parallel algorithm to find maximum flow on extended mixed netw...Sequential and parallel algorithm to find maximum flow on extended mixed netw...
Sequential and parallel algorithm to find maximum flow on extended mixed netw...csandit
 
SEQUENTIAL AND PARALLEL ALGORITHM TO FIND MAXIMUM FLOW ON EXTENDED MIXED NETW...
SEQUENTIAL AND PARALLEL ALGORITHM TO FIND MAXIMUM FLOW ON EXTENDED MIXED NETW...SEQUENTIAL AND PARALLEL ALGORITHM TO FIND MAXIMUM FLOW ON EXTENDED MIXED NETW...
SEQUENTIAL AND PARALLEL ALGORITHM TO FIND MAXIMUM FLOW ON EXTENDED MIXED NETW...cscpconf
 
22 - Max Flow Porblem Ford Fulkerson Method.pdf
22 - Max Flow Porblem Ford Fulkerson Method.pdf22 - Max Flow Porblem Ford Fulkerson Method.pdf
22 - Max Flow Porblem Ford Fulkerson Method.pdfabeedmaleek
 
Lecture_10_Parallel_Algorithms_Part_II.ppt
Lecture_10_Parallel_Algorithms_Part_II.pptLecture_10_Parallel_Algorithms_Part_II.ppt
Lecture_10_Parallel_Algorithms_Part_II.pptWahyuAde4
 
Minimum cost maximum flow
Minimum cost maximum flowMinimum cost maximum flow
Minimum cost maximum flowSaruarChowdhury
 
Networks and flows2.pptx
Networks and flows2.pptxNetworks and flows2.pptx
Networks and flows2.pptxIzukuMidoriya32
 
bellman-ford Theorem.ppt
bellman-ford Theorem.pptbellman-ford Theorem.ppt
bellman-ford Theorem.pptSaimaShaheen14
 
Max flow min cut
Max flow min cutMax flow min cut
Max flow min cutMayank Garg
 
Design and Analysis of Algorithms Assignment Help
Design and Analysis of Algorithms Assignment HelpDesign and Analysis of Algorithms Assignment Help
Design and Analysis of Algorithms Assignment HelpProgramming Homework Help
 
Markov Chain Monitoring - Application to demand prediction in bike sharing sy...
Markov Chain Monitoring - Application to demand prediction in bike sharing sy...Markov Chain Monitoring - Application to demand prediction in bike sharing sy...
Markov Chain Monitoring - Application to demand prediction in bike sharing sy...Harshal Chaudhari
 
04 greedyalgorithmsii 2x2
04 greedyalgorithmsii 2x204 greedyalgorithmsii 2x2
04 greedyalgorithmsii 2x2MuradAmn
 
Problem Solving with Algorithms and Data Structure - Graphs
Problem Solving with Algorithms and Data Structure - GraphsProblem Solving with Algorithms and Data Structure - Graphs
Problem Solving with Algorithms and Data Structure - GraphsYi-Lung Tsai
 

Similar to MaximumFlow.ppt (20)

aads_assignment1_answer-1.pdf
aads_assignment1_answer-1.pdfaads_assignment1_answer-1.pdf
aads_assignment1_answer-1.pdf
 
Sequential and parallel algorithm to find maximum flow on extended mixed netw...
Sequential and parallel algorithm to find maximum flow on extended mixed netw...Sequential and parallel algorithm to find maximum flow on extended mixed netw...
Sequential and parallel algorithm to find maximum flow on extended mixed netw...
 
SEQUENTIAL AND PARALLEL ALGORITHM TO FIND MAXIMUM FLOW ON EXTENDED MIXED NETW...
SEQUENTIAL AND PARALLEL ALGORITHM TO FIND MAXIMUM FLOW ON EXTENDED MIXED NETW...SEQUENTIAL AND PARALLEL ALGORITHM TO FIND MAXIMUM FLOW ON EXTENDED MIXED NETW...
SEQUENTIAL AND PARALLEL ALGORITHM TO FIND MAXIMUM FLOW ON EXTENDED MIXED NETW...
 
Network flows
Network flowsNetwork flows
Network flows
 
22 - Max Flow Porblem Ford Fulkerson Method.pdf
22 - Max Flow Porblem Ford Fulkerson Method.pdf22 - Max Flow Porblem Ford Fulkerson Method.pdf
22 - Max Flow Porblem Ford Fulkerson Method.pdf
 
Lecture_10_Parallel_Algorithms_Part_II.ppt
Lecture_10_Parallel_Algorithms_Part_II.pptLecture_10_Parallel_Algorithms_Part_II.ppt
Lecture_10_Parallel_Algorithms_Part_II.ppt
 
Lecture13
Lecture13Lecture13
Lecture13
 
Minimum cost maximum flow
Minimum cost maximum flowMinimum cost maximum flow
Minimum cost maximum flow
 
Max Flow Problem
Max Flow ProblemMax Flow Problem
Max Flow Problem
 
Networks and flows2.pptx
Networks and flows2.pptxNetworks and flows2.pptx
Networks and flows2.pptx
 
bellman-ford Theorem.ppt
bellman-ford Theorem.pptbellman-ford Theorem.ppt
bellman-ford Theorem.ppt
 
Max flow min cut
Max flow min cutMax flow min cut
Max flow min cut
 
Design and Analysis of Algorithms Assignment Help
Design and Analysis of Algorithms Assignment HelpDesign and Analysis of Algorithms Assignment Help
Design and Analysis of Algorithms Assignment Help
 
L21-MaxFlowPr.ppt
L21-MaxFlowPr.pptL21-MaxFlowPr.ppt
L21-MaxFlowPr.ppt
 
Network flows
Network flowsNetwork flows
Network flows
 
Markov Chain Monitoring - Application to demand prediction in bike sharing sy...
Markov Chain Monitoring - Application to demand prediction in bike sharing sy...Markov Chain Monitoring - Application to demand prediction in bike sharing sy...
Markov Chain Monitoring - Application to demand prediction in bike sharing sy...
 
04 greedyalgorithmsii 2x2
04 greedyalgorithmsii 2x204 greedyalgorithmsii 2x2
04 greedyalgorithmsii 2x2
 
Problem Solving with Algorithms and Data Structure - Graphs
Problem Solving with Algorithms and Data Structure - GraphsProblem Solving with Algorithms and Data Structure - Graphs
Problem Solving with Algorithms and Data Structure - Graphs
 
maxflow.ppt
maxflow.pptmaxflow.ppt
maxflow.ppt
 
Algorithms Design Exam Help
Algorithms Design Exam HelpAlgorithms Design Exam Help
Algorithms Design Exam Help
 

More from KrishanPalSingh39

More from KrishanPalSingh39 (7)

Relational Algebra.ppt
Relational Algebra.pptRelational Algebra.ppt
Relational Algebra.ppt
 
flows.ppt
flows.pptflows.ppt
flows.ppt
 
presentation_data_types_and_operators_1513499834_241350.pptx
presentation_data_types_and_operators_1513499834_241350.pptxpresentation_data_types_and_operators_1513499834_241350.pptx
presentation_data_types_and_operators_1513499834_241350.pptx
 
presentation_c_basics_1589366177_381682.pptx
presentation_c_basics_1589366177_381682.pptxpresentation_c_basics_1589366177_381682.pptx
presentation_c_basics_1589366177_381682.pptx
 
HardwareIODevice.ppt
HardwareIODevice.pptHardwareIODevice.ppt
HardwareIODevice.ppt
 
fdocuments.in_unit-2-foc.ppt
fdocuments.in_unit-2-foc.pptfdocuments.in_unit-2-foc.ppt
fdocuments.in_unit-2-foc.ppt
 
wang.ppt
wang.pptwang.ppt
wang.ppt
 

Recently uploaded

A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityMorshed Ahmed Rahath
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueBhangaleSonal
 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...soginsider
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projectssmsksolar
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayEpec Engineered Technologies
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapRishantSharmaFr
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptMsecMca
 
22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf203318pmpc
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756dollysharma2066
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptxJIT KUMAR GUPTA
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaOmar Fathy
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfRagavanV2
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 

Recently uploaded (20)

A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
 

MaximumFlow.ppt

  • 1. 1 Review of some graph algorithms • Graph G(V,E) (Chapter 22) – Directed, undirected – Representation • Adjacency-list, adjacency-matrix • Breadth-first search (BFS), O(V+E) • Depth-first search (DFS), O(V+E), recursive – Topological Sort – Strong connected components
  • 2. 2 Review of some graph algorithms • Minimum Spanning Tree (Chapter 23) – Greedy algorithm – Kruskal’s algorithm: O(ElgV) • Using disjoint set algorithm, similar to connected components – Prim’s algorithm: O(E+VlgV) • Similar to Dijkstra, using min-priority QUEUE • Single-source shortest paths (Chapter 24) – Bellman-Ford algorithm: O(VE) • dj=min{dj,dk+w(j,k)} where k is j’s neighbor – Dijkstra’s algorithm: O(E+VlgV) • Find the closest node n1 which is s’s neighbor, modify other nodes distance • Find the second closest node n2 which is the neighbor of s or n1, modify the distance • Find the third closest node n3, which is the neighbor of s, n1, or n2, ,….
  • 3. 3 Graph algorithms (cont.) • All-pairs shortest paths (Chapter 25) – Floyd-Warshall algorithms: O(V3). – Dynamic programming, similar to Matrix Chain Multiplications – dij (0)=wij – For k1 to n • for i1 to n – for j1 to n » dij (k)=min(dij (k-1),dik (k-1)+dkj (k-1))
  • 4. 4 Maximum Flow (chap. 26) • Max-flow problem: – A directed graph G=<V,E>, a capacity function on each edge c(u,v) 0 and a source s and a sink t. A flow is a function f : VVR that satisfies: • Capacity constraints: for all u,vV, f(u,v) c(u,v). • Skew symmetry: for all u,vV, f(u,v)= -f(v,u). • Flow conservation: for all uV-{s,t}, vV f(u,v)=0, or to say, total flow out of a vertex other s or t is 0, or to say, how much comes in, also that much comes out. – Find a maximum flow from s to t. – Denote the value of f as |f|=vVf(s,v), i.e., the total flow out of the source s. • |f|=uVf(u,t), i.e., the total flow into the sink t.
  • 6. 6 Ford-Fulkerson method • Contains several algorithms: – Residue networks – Augmenting paths
  • 7. 7 Residual Networks • Given a flow network G=<V,E> and a flow f, – the residual network of G induced by f is Gf=<V,Ef> where Ef={(u,v)VV: cf(u,v)=c(u,v)-f(u,v), and cf(u,v)>0} – a network with left capacity >0, also a flow network.
  • 8. 8 Residual network and augmenting path
  • 9. 9 Residual network and flow theorem • Lemma 26.2 (page 653): – Let G=<V,E> be a flow network with source s and sink t, and let f be a flow, – Let Gf be the residual network of G induced by f, and let f' be a flow of Gf. – Define the flow sum: f+f' as: – (f+f')(u.v)=f(u.v)+f'(u.v), then – f+f' is a flow in G with value |f+f'|=|f|+|f'|. • Proof: – Capacity constraint, skew symmetry, and flow conservation and finally |f+f'|=|f|+|f'|.
  • 10. 10 Augmenting paths • Let G=<V,E> be a flow network with source s and sink t, and let f be a flow, • An augmenting path p in G is a simple path from s to t in Gf, the residual network of G induced by f. • Each edge (u,v) on an augmenting path admits some additional positive flow from u to v without violating the capacity constraint. • Define residual capacity of p is the maximum amount we can increase the flow: – cf(p)=min{cf(u,v): (u,v) is on p.}
  • 11. 11 Augmenting path • Lemma 26.3 (page 654): – Let G=<V,E> be a flow network with source s and sink t, let f be a flow, and let p be an augmenting path in Gf. Define fp: VVR by: • fp(u,v)= cf(p) if (u,v) is on p. • -cf(p) if (v,u) is on p. • 0 otherwise – Then fp is a flow in Gf with value |fp|=cf(p) >0. • Corollary 26.4 (page 654): – Define f'=f+fp, then f' is a flow in G with value |f'|=|f|+|fp|>|f|.
  • 12. 12 Basic Ford-Fulkerson algorithm Running time: if capacities are in irrational numbers, the algorithm may not terminate. Otherwise, O(|E||f*|) where f* is the maximum flow found by the algorithm: while loop runs f* times, increasing f* by one each loop, finding an augmenting path using depth- first search or breadth-first search costs |E|.
  • 14. 14 An example of loop |f*| times Note: if finding an augmenting path uses breadth-first search, i.e., each augmenting path is a shortest path from s to t in the residue network, while loop runs at most O(|V||E|) times (in fact, each edge can become critical at most |V|/2-1 times), so the total cost is O(|V||E|2). Called Edmonds-Karp algorithm.
  • 15. 15 Network flows with multiple sources and sinks • Some problems can be reduced to maximum flow problem. Here give two examples. • Reduce to network flow with single source and single sink • Introduce a supersource s which is directly connected to each of the original sources si with a capacity c(s,si)= • Introduce a supersink t which is directly connected from each of the original sinks ti with a capacity c(si,s)=
  • 16. 16 Maximum bipartite matching • Matching in a undirected graph G=(V,E) – A subset of edges ME, such that for all vertices vV, at most one edge of M is incident on v. • Maximum matching M – For any matching M′, |M|| M′|. • Bipartite: V=LR where L and R are distinct and all the edges go between L and R. • Practical application of bipartite matching: – Matching a set L of machines with a set R of tasks to be executed simultaneously. – The edge means that a machine can execute a task.
  • 17. 17 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
  • 18. 18 Finding a maximum bipartite matching • Construct a flow network G′=(V′,E′,C) from G=(V,E) as follows where =LR: – V′=V{s,t}, introducing a source and a sink – E′={(s,u): uL}  E {(v,t): vR} – For each edge, its capacity is unit 1. • As a result, the maximum flow in G′ is a maximum matching in G.
  • 19. 19 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.