the max-flow min-cut theorem

5
THE MAX-FLOW MIN-CUT THEOREM SEBASTIAN VATTAMATTAM Definition 0.1. E V × V,G =(V,E )- directed graph. Definition 0.2. x, y V.x = x 0 ,e 1 ,x 1 ,e 2 , ...e n ,x n = y - an x - y walk. Definition 0.3. (1) x - y walk is a trail if no edge is repeated. A closed trail is a circuit. (2) x - y walk is a path if no vertex is repeated. A closed path is a cycle. Definition 0.4. An undirected graph G =(V,E ) is con- nected if any two vertices are joined by a path. Definition 0.5. Multigraph - having more than one edge joining a pair of vertices. Definition 0.6. G 1 =(V 1 ,E 1 ) is a subgraph of G =(V,E ) if V 1 V,E 1 E and every edge in E 1 joins vertices in V 1 Definition 0.7. Complete graph K n Definition 0.8. Complement ¯ G of G =(V,E ), with n vertices - obtained be deleting from K n the edges of G. ¯ K n - null graph. Definition 0.9. G 1 =(V 1 ,E 1 ),G 2 =(V 2 ,E 2 ) are isomor- phic if there is a function f : V 1 V 2 such that (1) f is bijective, and (2) (a, b) E 1 , (f (a),f (b)) E 2 Definition 0.10. G is undirected. deg (v ) - number of edges incident with v. Date : 09 - 03 - 10. 1

Upload: sebastian-vattamattam

Post on 03-Apr-2015

430 views

Category:

Documents


1 download

DESCRIPTION

Theory of MAX-FLOW MIN-CUT, with Examples

TRANSCRIPT

Page 1: THE MAX-FLOW MIN-CUT THEOREM

THE MAX-FLOW MIN-CUT THEOREM

SEBASTIAN VATTAMATTAM

Definition 0.1. E ⊆ V × V,G = (V,E) - directed graph.

Definition 0.2. x, y ∈ V.x = x0, e1, x1, e2, ...en, xn = y - anx− y walk.

Definition 0.3. (1) x − y walk is a trail if no edge isrepeated. A closed trail is a circuit.

(2) x−y walk is a path if no vertex is repeated. A closedpath is a cycle.

Definition 0.4. An undirected graph G = (V,E) is con-nected if any two vertices are joined by a path.

Definition 0.5. Multigraph - having more than one edgejoining a pair of vertices.

Definition 0.6. G1 = (V1, E1) is a subgraph of G = (V,E)if V1 ⊆ V,E1 ⊆ E and every edge in E1 joins vertices in V1

Definition 0.7. Complete graph Kn

Definition 0.8. Complement G of G = (V,E), with nvertices - obtained be deleting from Kn the edges of G. Kn

- null graph.

Definition 0.9. G1 = (V1, E1), G2 = (V2, E2) are isomor-phic if there is a function f : V1 → V2such that

(1) f is bijective, and(2) ∀(a, b) ∈ E1, (f(a), f(b)) ∈ E2

Definition 0.10. G is undirected. deg(v) - number ofedges incident with v.

Date: 09 - 03 - 10.

1

Page 2: THE MAX-FLOW MIN-CUT THEOREM

2 SEBASTIAN VATTAMATTAM

Definition 0.11. Euler Circuit - a circuit that passes throughevery edge exactly once.Such an open trail is an Euler Trail.

Definition 0.12. (1) Number of incoming edges - inde-gree - id(v)

(2) Number of outgoing edges - outdegree - od(v)

Definition 0.13. Planar graph.

Definition 0.14. Bipartite Graph, and Complete BipartiteGraph Km,n

Definition 0.15. Induced subgraph.

Definition 0.16. (1) v ∈ V, V1 = V − v, E1 the set ofedges not incident with v. Then G− v = (V1, E1)

(2) e ∈ E,E1 = E − e, V1 = V,G− e = (V1, E1)

Definition 0.17. κ(G) - the number of components of G.

Definition 0.18. N = (V,E), a loop-free connected di-graph is a network if

(1) there is a unique a ∈ V , called the source, withid(a) = 0,

(2) there is a unique z ∈ V , called the sink, with od(z) =0, and

(3) there is a function c : E → {0, 1, 2, ...}. If e = (v, w) ∈E, c(e) = c(v, w) is called the capacity of e. 1

Example 0.1. Example 13.5 in the Book [1].

In Figure 1,

c(a, b) = 5, c(d, z) = 5

Definition 0.19. If N = (V,E) is a network, a functionc : E → {0, 1, 2, ...} is called a flow for N , if

(1) f(e) ≤ c(e),∀e ∈ E, and

1id is indegree, od is outdegree

Page 3: THE MAX-FLOW MIN-CUT THEOREM

MAX-FLOW 3

Figure 1. Network

(2) ∀v ∈ V, v 6= a,∑w∈V

f(w, v) =∑w∈V

f(v, w)

(If (w, v) /∈ E, f(w, v) = 0)

In Figure 2 (a), c(a, b) = 5, f(a, b) = 3∑v∈V

f(v, g) = f(a, g) = 5,∑v∈V

f(g, v) = f(g, b)+f(g, h) = 2+2 = 4

So, f is not a flow.In Figure 2 (b) f is a flow.

Definition 0.20. Let f be a flow for the network N =(V, e).

(1) e ∈ E is saturated if f(e) = c(e).(2) If a is the source, then val(f) =

∑v∈V f(a, v) is called

the value of the flow.

In Figure 2 (b), c(h, d) = f(h, d) = 2. So, (h, d) is satu-rated.

val(f) =∑v∈V

f(a, v) = f(a, b) + f(a, g) = 3 + 5 = 8

Page 4: THE MAX-FLOW MIN-CUT THEOREM

4 SEBASTIAN VATTAMATTAM

Figure 2. Network

Definition 0.21. For a network a flow that attains thegreatest possible value, is called a maximal flow.

The Labeling Procedure Network N = (V,E).

Step 1: Define f(e) = 0,∀e ∈ EStep 2: Label the source a→ a(−,∞)Step 3: ∀(a, x) ∈ E label x as follows:

(1) If c(a, x) > f(a, x), define ∆(x) = c(a, x)−f(a, x)and label x→ x(a+,∆(x))

(2) If c(a, x) = f(a, x) leave x unlabeled.Step 4: If a 6= x ∈ V and x is labeled, and there is

(x, y) ∈ E where y is not labeled, label y as follows:(1) If c(x, y) > f(x, y), define ∆(y) = min{∆(x), c(x, y)−

f(x, y)} and label y → y(x+,∆(y))(2) If c(x, y) = f(x, y) leave y unlabeled.

Page 5: THE MAX-FLOW MIN-CUT THEOREM

MAX-FLOW 5

Step 5: If a 6= x ∈ V and x is labeled, and there is(y, x) ∈ E where y is not labeled, label y as follows:(1) If f(y, x) > 0, define ∆(y) = min{∆(x), f(y, x)}

and label y → y(x−,∆(y))(2) If f(y, x) = 0 leave y unlabeled.

Whenever z is labeled, find the a− z path in which everyvertex is labeled and add 4(z) to each of its edges.

When the algorithm is over there may arise two cases:

Case 1: z is labeled. The resulting network gives theMax-flow.

Case 2: z is not labeled. Then the network gets dis-connected into two components. Let P be the set ofvertices containing a and P = V −P . Find c(P, P ) =∑

x∈P,y∈P c(x, y) and check whether it equals∑

x∈V f(x, z).

References[1] Ralph P. Grimaldi,Discrete and Combinaorial Mathmatics,Fourth Edition, Pearson Eucation

Asia, 1999

E-mail address: [email protected]