This document introduces network flows and provides examples of networks where flows occur, such as liquids in pipes and goods transported on roads. It defines key concepts like sources, sinks, flows, and cuts. It describes how to find a maximum flow and minimum cut in a network and presents theorems relating feasible flows and cut capacities. The maximum flow problem is to determine the largest amount of flow that can pass from sources to sinks in a network respecting edge capacities.
3. Practical Examples of a Network
• liquids flowing through pipes
• parts through assembly lines
• current through electrical network
• information through communication network
• goods transported on the road…
5. Networks
• Network - A diagraph D with two disjoint non-empty distinct
subsets of vertices X and Y, and an integer-valued function c defined
on its set of directed edges E.
• Sources - Vertices in subsets X are the with in degree zero of
network N.
• Sinks – Vertices in subsets Y are with out-degree zero of network N.
• Intermediate vertices - Vertices which are neither sources nor
sinks.(set of intermediate vertices are denoted by I)
• Capacity – Value on directed edge e.(capacity of each directed edge
is non-negative)
7. Flows
A flow f in the network is an integer-valued function defined on its set of
directed edges E, such that
• Capacity Constraint- 0≤f (e)≤c (e) for all e εE
Integer f (e) is the flow along directed edge e.
• Conservation Condition- f⁺(v)=f⁻(v) for all v εI
where, f⁺(v) is sum of the flows along all the directed edges
directed to vertex v is the inflow into v, and f⁻(v) is sum of the
flows along all the directed edges directed from vertex v is
the outflow from v.
If f is feasible flow (i.e. f⁺(v)=f⁻(v) ) in a network N, then directed
edge e is
f-zero : f(e)=0
f-positive : f(e)>0
f-unsaturated : f(e)<f(c)
f-saturated : f(e)=f(c)
8. Maximum Flow Network
Consider a network and a feasible flow defined on its set of directed edges E, along
each directed edge-
first number represent flow along the directed edge and second is its capacity.
• Maximum Flow – A feasible flow in a network such that the value of the flow is as
large as possible.
• Maximum Flow Problem - The problem of finding the feasible flow in the network
such that its flow value is maximum.
• Resultant Flow out of S - f⁺(S)-f⁻(S)
• Resultant Flow into S - f⁻(S) -f⁺(S)
where, S is the subset of vertices in a network N and f is flow in network N.
10. Maximum Flow Network
Value of the flow- f⁺(X)-f⁻(Y)
as, resultant flow out of X is equal to the resultant flow into Y.
The problem of determining a maximum flow of an arbitrary network can be
reduced to the case of networks that have just one source and one sink.
Method is given as-
• Introduced two new vertex x and y in N.
• Draw a directed edge from x to all the vertices of vertex set X with
capacity ∞.
• Draw a directed edges from all the vertices of vertex set Y to vertex y with
capacity ∞.
• In the new network N’ obtained by the above operation and x becomes
source and y becomes sink.
New Network N’ :
11. Maximum Flow Problem
Flows in new network N’ -
This can be obtained from the network N in a simple way as if f is a
flow in N such that the resultant flow out of each source and into each
sink is non-negative then the function f’ is defined as:
• If e is an edge of N then f ’= f(e)
• If e=(x,v) then f ’= f⁺(v)-f⁻(v)
• If e=(v,y) then f ’= f⁻(v)-f⁺(v)
From above defined flow, we can easily verify that
val f’ = val f
12. Cuts in a Network
• Say, N be a network with a single source x and single sink y. A
cut in N is a set of directed edges of the form (S,S’), where x ε
S and y ε S’.
• If we delete all the edges of the cut from network then there
is no flow from source to sink.
• The capacity of the cut is the sum of the capacities of its
directed edges. We denote the cut by K and capacity of cut as
Cap K. Therefore,
Minimum Cut - If capacity of a cut K in N does not exceed the
capacity of any other cut.
𝐶𝑎𝑝 𝐾 =
𝑒∈𝐸
𝑐(𝑒)
13. Cuts in a Network
Consider the network
Let S={x,a,b} and S’={c,d,y}, cut is indicated by bold lines and
capacity of cut is 5.
Note: Cut includes only the edges directed from S to S’ and no
edges included in cut, which are directed from S’ to S.
14. Minimum cut in a network
A method of finding minimum cut in a network. Consider a
network with all cut which has 3 intermediate vertices.
S
• {x}
{x,a}
{x,b}
{x,c}
{x,a,b}
{x,b,c}
{x,a,c}
{x,a,b,c}
S’
• {a,b,c,y}
{b,c,y}
{a,c,y}
{a,b,y}
{c,y}
{a,y}
{b,y}
{y}
Capacity of (S,S’)
• 2+3+4=9
4+3+2+3=12
2+4+6=12
2+3+6+5+4=20
4+3+6=13
2+6+4+5=17
3+3+4+6+12=18
3+6+4=13
15. Theorems on Flow and Cuts
• Theorem1: If f is any feasible flow in network N and if (S,S’) is
any cut then
Val f = f⁺(S)-f⁻(S)
• Theorem2: If f is any feasible flow and if (S,S’)is any cut then
Val f ≤ CapK
• Theorem3: If f is a feasible flow and K be a cut such that Val f
= Cap K. Then f is maximum flow and K is a minimum cut.
16. References
• Saurabh pal, graph theory book
• https://www.google.co.in/search?q=network+flows&source=l
nms&tbm=isch&sa=X&ved=0ahUKEwiOstT9q7TMAhXOUY4KH
TtZCQcQ_AUICCgC&biw=1366&bih=667#imgrc=_
• https://en.wikipedia.org/wiki/Flow_network