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 - 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 connected 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. 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 ¯ of G = (V, E), with n Definition 0.8. Complement G vertices - obtained be deleting from Kn the edges of G. K¯n - null graph. Definition 0.9. G1 = (V1 , E1 ), G2 = (V2 , E2 ) are isomorphic if there is a function f : V1 → V2 such that (1) f is bijective, and (2) ∀(a, b) ∈ E1 , (f (a), f (b)) ∈ E2 Definition 0.10. G is undirected. deg(v) - number of edges incident with v. Date: 09 - 03 - 10. 1
2
SEBASTIAN VATTAMATTAM
Definition 0.11. Euler Circuit - a circuit that passes through every edge exactly once.Such an open trail is an Euler Trail. Definition 0.12. (1) Number of incoming edges - indegree - id(v) (2) Number of outgoing edges - outdegree - od(v) Definition 0.13. Planar graph. Definition 0.14. Bipartite Graph, and Complete Bipartite Graph Km,n Definition 0.15. Induced subgraph. Definition 0.16. (1) v ∈ V, V1 = V − v, E1 the set of edges 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 digraph is a network if (1) there is a unique a ∈ V , called the source, with id(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 function c : 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
MAX-FLOW
3
Figure 1. Network
(2) ∀v ∈ V, v 6= a, X
f (w, v) =
w∈V
X
f (v, w)
w∈V
(If (w, v) ∈ / E, f (w, v) = 0) In Figure 2 (a), c(a, b) = 5, f (a, b) = 3 X
f (v, g) = f (a, g) = 5,
v∈V
X
f (g, v) = f (g, b)+f (g, h) = 2+2 = 4
v∈V
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). P (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 saturated. X val(f ) = f (a, v) = f (a, b) + f (a, g) = 3 + 5 = 8 v∈V
4
SEBASTIAN VATTAMATTAM
Figure 2. Network
Definition 0.21. For a network a flow that attains the greatest possible value, is called a maximal flow. The Labeling Procedure Network N = (V, E). Step 1: Define f (e) = 0, ∀e ∈ E Step 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.
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 every vertex 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 the Max-flow. Case 2: z is not labeled. Then the network gets disconnected into two components. Let P be the set of ¯ vertices containing a and P¯ = V − P . Find c(P, P 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: vattamattam@gmail.com