Advanced Algorithms & Data Structures
1
Department of CSE
ADVANCED ALGORITHMS AND DATA STRUCTURES
23CS03HF
Topic:
Max Flow Min Cut Theorem
Session
Session- -28
28
AIM OF THE SESSION
To familiarize students with the concept of the Max Flow Min Cut Theorem.
INSTRUCTIONAL OBJECTIVES
This Session is designed to:
1.Demonstrate :- Max Flow Min Cut Theorem.
2.Describe :- Theorem.
LEARNING OUTCOMES
At the end of this session, you should be able to:
1.Define :- Max Flow Min Cut Theorem.
2.Describe :- Theorem
3.Summarize:- The maximum value of the flow from a source to a sink is equal to the
minimum capacity of a cut that separates the source and the sink..
Maximum Flow
It is defined as the maximum amount of flow that the network would allow to flow
from source to sink.
Multiple algorithms exist in solving the maximum flow problem.
Two major algorithms to solve these kind of problems are Ford-Fulkerson algorithm
and Dinic's Algorithm.
Max Flow Min Cut Theorem
Theorem: (Optimality conditions for max flows). The following are equivalent.
1. A flow x is maximum.
2. There is no augmenting path in G(x).
3. There is an s-t cutset (S, T) whose capacity is the flow value of x.
Corollary: (Max-flow Min-Cut). The maximum flow value is the minimum value of a
cut.
Proof of Theorem:
1 2. (not 2 not 1)
Suppose that there is an augmenting path in G(x). Then x is not maximum.
Max Flow Min Cut Theorem
Contd.
3 1.
Let v = Fx(S, T) be the flow from s to t. By assumption, v = CAP(S, T). By weak
duality, the maximum flow is at most CAP(S, T). Thus the flow is maximum.
2 3.
Suppose there is no augmenting path in G(x).
Claim:
Let S be the set of nodes reachable from s in G(x).
Let T = N\S. Then there is no arc in G(x) from S to T.
Max Flow Min Cut Theorem Contd.
Thus i S and j T f(i, j) = c(i, j)
i T and j S f(i, j) = 0.
Saturated
S T
There is no arc from S
.s 0 .t to T in G(x)
Reachable Not Reachable
from s from s
It follows that
Fx(S,T) = iSjT f(i, j) - iSjT f(j, i)
= iSjT c(i, j) - iSjT 0 = CAP(S,T)
SUMMARY
• The maximum value of the flow in a flow network from a source s to a
sink t is equal to the capacity of the minimum cut that separates the
source and sink.
SELF-ASSESSMENT QUESTIONS
• What does the Max-Flow Min-Cut Theorem state?
• What does the Max-Flow Min-Cut Theorem state?
• • Which algorithm is commonly used to find the maximum flow in a network?
Which algorithm is commonly used to find the maximum flow in a network?
A. Dijkstra's Algorithm
B. Kruskal’s Algorithm
C. Ford-Fulkerson Algorithm
D. Bellman-Ford Algorithm
TERMINAL QUESTIONS
1. What is a flow network, and how is the concept of a cut defined in the context of the Max-Flow Min-Cut Theorem?
Provide an example of how a minimum cut is found in a simple network.
REFERENCES FOR FURTHER LEARNING OF THE SESSION
Reference Books :
1. Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest,
and Clifford Stein., 3rd, 2009, The MIT Press.
2 Algorithm Design Manual, Steven S. Skiena., 2nd, 2008, Springer.
3 Data Structures and Algorithms in Python, Michael T. Goodrich, Roberto Tamassia,
and Michael H. Goldwasser., 2nd, 2013, Wiley.
4 The Art of Computer Programming, Donald E. Knuth, 3rd, 1997, Addison-Wesley
Professiona.
MOOCS :
1. https://www.coursera.org/specializations/algorithms?=
2.https://www.coursera.org/learn/dynamic-programming-greedy-algorithms#modules
THANK YOU