Presentation is loading. Please wait.

Presentation is loading. Please wait.

3.5 Minimum Cuts in Undirected Graphs

Similar presentations


Presentation on theme: "3.5 Minimum Cuts in Undirected Graphs"β€” Presentation transcript:

1 3.5 Minimum Cuts in Undirected Graphs
3.5.1 Global Minimum Cuts Given connected undirected graph 𝐺=(𝑉,𝐸), capacity π‘’βˆˆπ‘…πΈ (𝑒𝑒>0), find π‘†βŠ†π‘‰ with βˆ…β‰ π‘†β‰ π‘‰ such that 𝑒((𝑆)) is minimum. (When each 𝑒 𝑒 =1, the minimum is β€œedge-connectivity” of 𝐺.) Def: 𝑣, 𝑀 of 𝐺 are separated by a cut (𝑆), or (𝑆) is a (𝑣, 𝑀)-cut if exactly one of 𝑣, 𝑀 is in 𝑆. To find min (𝑣, 𝑀)-cut in an undirected graph, we can replace each edge by two oppositely directed arcs and give same capacities as the edge, then solve max flow problem. (When 𝑒 𝑒 =1 οƒž edge connectivity of 𝐺) If we fix some node π‘Ÿ, then any cut is (π‘Ÿ, 𝑠)-cut for some node π‘ βˆˆπ‘‰βˆ–{π‘Ÿ} β‡’ Solve π‘›βˆ’1 min (π‘Ÿ, 𝑠)-cut problem for π‘ βˆˆπ‘‰βˆ–{π‘Ÿ} and take min of them. β‡’ 𝑂(𝑛4) But other direct method exists with 𝑂(𝑛3) running time. Combinatorial Optimization 2016

2 (𝐺) : capacity of a min cut of 𝐺.
Definition: (𝐺) : capacity of a min cut of 𝐺. (𝐺; 𝑣, 𝑀) : capacity of a minimum (𝑣, 𝑀)-cut of 𝐺 𝐺𝑣𝑀 is a graph obtained by identifying node 𝑣 with 𝑀. ( 𝑣, 𝑀 distinct nodes) ( 𝑉(𝐺𝑣𝑀)=(π‘‰βˆ–{𝑣, 𝑀})βˆͺ{π‘₯}, where π‘₯ is a new node, 𝐸(𝐺𝑣𝑀)=πΈβˆ–ο§({𝑣, 𝑀}); for each π‘’βˆˆπΈ and end 𝑝 of 𝑒 in 𝐺, 𝑝 is an end of 𝐺𝑣𝑀 if 𝑝≠𝑣, 𝑀, otherwise π‘₯ is an end of 𝑒 in 𝐺𝑣𝑀. capacities are the same) (If multiple edges created, may replace them with an edge with total capacities. For ease of exposition, we do not do this.) Combinatorial Optimization 2016

3 b b 3 3 5 5 c a c a 2 2 2 2 4 3 4 3 h h 1 d 3 1 d 3 e e 2 2 2 2 5 5 6 g f x Identifying nodes f, g Combinatorial Optimization 2016

4 Continue π‘›βˆ’2 times on smaller graphs.
Prop 3.35: Every cut of 𝐺𝑣𝑀 is a cut of 𝐺. Every cut of 𝐺 that does not separate 𝑣 from 𝑀 is a cut of 𝐺𝑣𝑀. In 𝐺𝑣𝑀, each cut corresponds to a cut in 𝐺 having 𝑣 and 𝑀 in one side of the cut. Hence, if we can find the min cut among the cuts that separate 𝑣 and 𝑀, we can compare the value with the min cut value in 𝐺𝑣𝑀. Straightforward implementation: solve min (𝑣, 𝑀)-cut for any 𝑣, 𝑀. Then identity 𝑣 with 𝑀 and solve min cut on 𝐺𝑣𝑀 again. Continue π‘›βˆ’2 times on smaller graphs. Small improvement, but not significant. make smart choice of 𝑣, 𝑀. Combinatorial Optimization 2016

5 Node Identification Algorithm
rationale: πœ†(𝐺)= min ((𝐺𝑣𝑀), (𝐺; 𝑣, 𝑀)) Need to find a min cut separating 𝑣, 𝑀 (using max flow algorithm after doubling arcs, need π‘›βˆ’1 times ). However, choosing 𝑣, 𝑀 carefully reduces the work. Def: A legal ordering of 𝐺 is an ordering 𝑣1, 𝑣2, …, 𝑣𝑛 of the nodes of 𝐺 such that, where 𝑉 𝑖 denotes {𝑣1, …, 𝑣 𝑖 } 𝑒 𝛿 𝑉 π‘–βˆ’1 βˆ©π›Ώ 𝑣 𝑖 β‰₯𝑒 𝛿 𝑉 π‘–βˆ’1 βˆ©π›Ώ 𝑣 𝑗 for 2≀𝑖<𝑗≀𝑛 Choose any node as 𝑣1 and at step 𝑖 choose 𝑣𝑖 that has the largest total capacity of edges joining it to the previously chosen nodes. Can be found in 𝑂(𝑛2) (refer Prim’s or Dijkstra’s algorithm) Thm 3.36: If 𝑣1, 𝑣2, …, 𝑣𝑛 is a legal ordering of 𝐺, then (𝑣𝑛) is a minimum ( 𝑣 𝑛 , 𝑣 π‘›βˆ’1 )-cut of 𝐺. Combinatorial Optimization 2016

6 Legal ordering beginning with a is : a, b, c, d, e, h, g, f
3 5 c a 2 2 4 3 h 1 d 3 e 2 2 5 6 g f Combinatorial Optimization 2016

7 Node Identification Minimum Cut Algorithm
Initialize 𝑀 to be ∞, 𝐴 to be undefined While 𝐺 has more than one node Find a legal ordering 𝑣1, 𝑣2, …, 𝑣𝑛 of 𝐺; If 𝑒((𝑣𝑛))<𝑀 Replace 𝑀 by 𝑒((𝑣𝑛)), 𝐴 by (𝑣𝑛); Replace 𝐺 by 𝐺 𝑣 π‘›βˆ’1 𝑣 𝑛 ; Return 𝐴. Combinatorial Optimization 2016

8 (𝐺;𝑝, π‘ž)β‰₯ min ((𝐺;π‘Ÿ, π‘ž), (𝐺;𝑝, π‘Ÿ))
In proving the theorem, we do not assume 𝐺 is connected. (β€œLegal ordering” does not assume this) Lemma 3.37: If 𝑝, π‘ž, π‘Ÿβˆˆπ‘‰, then (𝐺;𝑝, π‘ž)β‰₯ min ((𝐺;π‘Ÿ, π‘ž), (𝐺;𝑝, π‘Ÿ)) (pf) Choose a min (𝑝, π‘ž)-cut (𝑆) with π‘βˆˆπ‘†. If π‘Ÿβˆˆπ‘†, then (𝑆) is an (π‘Ÿ, π‘ž)-cut so 𝑒((𝑆))β‰₯(𝐺;π‘ž, π‘Ÿ). Otherwise, (𝑆) is a (𝑝, π‘Ÿ)-cut, so 𝑒((𝑆))β‰₯(𝐺;𝑝, π‘Ÿ). ο‚Ž Combinatorial Optimization 2016

9 (1) Let 𝐺′ denote 𝐺 with edge 𝑒 deleted. Then 𝑣1, …, 𝑣𝑛 still legal
(Proof of Thm 3.36) Need to show 𝑒((𝑣𝑛))≀(𝐺; 𝑣 π‘›βˆ’1 , 𝑣 𝑛 ). Use induction on the number of edges and nodes. (trivial if |𝑉|=2 or |𝐸|=0) Consider two cases: (1) 𝑣 𝑛 𝑣 π‘›βˆ’1 is an edge 𝑒 of 𝐺 (2) 𝑣 𝑛 , 𝑣 π‘›βˆ’1 not adjacent in 𝐺. (1) Let 𝐺′ denote 𝐺 with edge 𝑒 deleted. Then 𝑣1, …, 𝑣𝑛 still legal ordering of 𝐺′ 𝑒((𝑣𝑛))=𝑒(′(𝑣𝑛))+𝑒𝑒=( 𝐺 β€² ; 𝑣 π‘›βˆ’1 , 𝑣 𝑛 )+𝑒𝑒=(𝐺; 𝑣 π‘›βˆ’1 , 𝑣 𝑛 ) (2) In this case, (𝑣𝑛) is a ( 𝑣 𝑛 , 𝑣 π‘›βˆ’1 )-cut, need to show that it is min ( 𝑣 𝑛 , 𝑣 π‘›βˆ’1 )-cut. From lemma 3.37, enough to show that 𝑒((𝑣𝑛))≀(𝐺; 𝑣 π‘›βˆ’2 , 𝑣 𝑛 ) and 𝑒((𝑣𝑛))≀(𝐺; 𝑣 π‘›βˆ’2 , 𝑣 π‘›βˆ’1 ) For the first case, apply induction on 𝐺′=πΊβˆ– 𝑣 π‘›βˆ’1 . 𝑣1, .. , 𝑣 π‘›βˆ’2 , 𝑣𝑛 is a legal ordering of 𝐺′. Hence 𝑒((𝑣𝑛))=𝑒(′(𝑣𝑛))=( 𝐺 β€² ; 𝑣 π‘›βˆ’2 , 𝑣 𝑛 )≀(𝐺; 𝑣 π‘›βˆ’2 , 𝑣 𝑛 ) For the second case, apply induction on 𝐺′=πΊβˆ–π‘£π‘› 𝑣1, .. , 𝑣 π‘›βˆ’1 is a legal ordering of 𝐺′. Hence 𝑒((𝑣𝑛))≀𝑒(( 𝑣 π‘›βˆ’1 ))=𝑒(′( 𝑣 π‘›βˆ’1 ))=( 𝐺 β€² ; 𝑣 π‘›βˆ’2 , 𝑣 π‘›βˆ’1 )≀(𝐺; 𝑣 π‘›βˆ’2 , 𝑣 π‘›βˆ’1 )  Combinatorial Optimization 2016

10 Random Contraction Algorithm
randomized algorithm for minimum cut problem Random Contraction Algorithm While 𝐺 has more than two nodes Choose an edge 𝑒 of 𝐺 with probability 𝑒𝑒/𝑒(𝐸); Where 𝑒=𝑣𝑀, replace 𝐺 by 𝐺𝑣𝑀 (edge contraction); Return 𝐴, the unique cut of 𝐺. Combinatorial Optimization 2016

11 Then the probability that an edge from 𝐴 is chosen at step 𝑖+1 is
Thm 3.38: Let 𝐴 be a minimum cut of 𝐺. Then the random contraction algorithm returns 𝐴 with probability at least 2/𝑛(π‘›βˆ’1). (pf) Algorithm will return 𝐴 provided that none of its edges is chosen to be contracted. (some edges might be lost even though not contracted, but it causes no problem) Suppose 𝑖 edges have been chosen, none from 𝐴. Let the current graph be 𝐺′=(𝑉′, 𝐸′), with 𝑉 β€² =π‘›βˆ’π‘–. Since 𝐴 is min cut of 𝐺′, its capacity is at most the average of capacities 𝑒(′(𝑣)), π‘£βˆˆπ‘‰β€² ( 𝑒(𝐴)≀𝑒(′(𝑣)) ). Thus, 𝑒(𝐴)≀2𝑒(𝐸′)/(π‘›βˆ’π‘–). Then the probability that an edge from 𝐴 is chosen at step 𝑖+1 is 𝑒(𝐴)/𝑒(𝐸′)≀2𝑒(𝐸′)/(π‘›βˆ’π‘–)𝑒(𝐸′)=2/(π‘›βˆ’π‘–) β‡’ The probability that no edge of 𝐴 is chosen at step 𝑖+1 is at least 1βˆ’2/(π‘›βˆ’π‘–)=(π‘›βˆ’π‘–βˆ’2) / (π‘›βˆ’π‘–), so the probability that no edge of 𝐴 is ever chosen is at least π‘›βˆ’2 𝑛 β‹… π‘›βˆ’3 π‘›βˆ’1 β‹… π‘›βˆ’4 π‘›βˆ’2 β‹…β‹…β‹… 3 5 β‹… 2 4 β‹… 1 3 = 2 𝑛(π‘›βˆ’1) .  Combinatorial Optimization 2016

12 Cor 3.39: Let 𝐴 be a minimum cut of 𝐺 and let π‘˜ be a positive integer.
The probability that the random contraction algorithm does not return 𝐴 in one of π‘˜π‘›2 runs is at most 𝑒 βˆ’2π‘˜ . (pf) By thm 3.38, the probability is at most 1βˆ’ 2 𝑛(π‘›βˆ’1) π‘˜ 𝑛 2 ≀ 1βˆ’ 2 𝑛 2 π‘˜ 𝑛 2 ≀ 𝑒 βˆ’ 2 𝑛 π‘˜ 𝑛 2 = 𝑒 βˆ’2π‘˜ (since 1βˆ’π‘₯≀ 𝑒 βˆ’π‘₯ ) ex: run the algorithm for 10𝑛2 times : ( 1βˆ’ 𝑒 βˆ’20 )β‰₯ Reference: Randomized Algorithms, Rajeev Motwani and Prabhakar Raghavan, Cambridge, 1995 Combinatorial Optimization 2016

13 3.5.2 Cut-Trees Multiterminal Cut Problem:
Given an undirected graph 𝐺=(𝑉, 𝐸), 𝑒𝑒β‰₯0 for all π‘’βˆˆπΈ, and a set of terminals πΎβŠ†π‘‰, find a minimum (π‘Ÿ, 𝑠)-cut for each pair of nodes π‘Ÿ, π‘ βˆˆπΎ. Procedure: Choose some pair of terminal nodes π‘Ÿ, π‘ βˆˆπΎ. Find min (π‘Ÿ, 𝑠)-cut and denotes the two node sets in each side of the cut as 𝑅 and 𝑆. 𝑅 𝑃 𝑆 𝑆 p 𝑓(π‘Ÿ,𝑠) 𝑓(𝑝,π‘ž) 𝑓(π‘Ÿ,𝑠) q 𝑄 Combinatorial Optimization 2016

14 General Procedure B3 B3 B2 B1 C1 B2 B1 C1 f(y,z) A Y Z E2 E1 D1 E2 E1
Combinatorial Optimization 2016

15 Tree satisfying the first property: K-flow-equivalent to 𝐺.
Thm 3.40: For any π‘Ÿ, π‘ βˆˆπΎ, the capacity of min (π‘Ÿ, 𝑠)-cut equals the minimum label 𝑓𝑒 in the (π‘Ÿ, 𝑠)-path in tree 𝑇. Moreover, min (π‘Ÿ, 𝑠)-cut is obtained by the bipartition of the tree obtained after eliminating the minimum weight edge 𝑒 βˆ— from 𝑇. Tree satisfying the first property: K-flow-equivalent to 𝐺. Tree that also satisfies the second property : Gomory-Hu K-cut-tree ( Gomory-Hu cut-tree) Combinatorial Optimization 2016

16 Remarks Def: Let 𝑁 be a finite set, and let 𝑓 be a real-valued function on the subsets of 𝑁. Then 𝑓 is called submodular if 𝑓 𝑆 +𝑓 𝑇 β‰₯𝑓 𝑆βˆͺ𝑇 +𝑓(π‘†βˆ©π‘‡) for 𝑆,π‘‡βŠ†π‘. Prop: 𝑓 is submodular if and only if 𝑓 𝑆⋃ 𝑗 βˆ’π‘“ 𝑆 β‰₯𝑓 𝑆βˆͺ 𝑗,π‘˜ βˆ’π‘“(𝑆βˆͺ π‘˜ ), for 𝑗,π‘˜βˆˆπ‘, π‘—β‰ π‘˜, and π‘†βŠ†π‘βˆ– 𝑗,π‘˜ . (function of diminishing marginal returns) Cut function of a graph (also for directed graph), matroid rank function (no details here), etc are examples of submodular functions. Combinatorial Optimization 2016

17 (pf) Let (𝑋) be a min (𝑣, 𝑀)-cut. May assume that π‘ βˆˆπ‘‹.
Lemma 3.41: Let (𝑆) be a minimum (π‘Ÿ, 𝑠)-cut for some node π‘Ÿ, π‘ βˆˆπ‘‰, and let 𝑣, π‘€βˆˆπ‘†. Then there exists a minimum (𝑣, 𝑀)-cut (𝑇) such that π‘‡βŠ‚π‘†. (pf) Let (𝑋) be a min (𝑣, 𝑀)-cut. May assume that π‘ βˆˆπ‘‹. Consider 2 cases: (1) π‘Ÿβˆˆπ‘‹ (2) π‘Ÿβˆˆπ‘‰\X (1) From submodular inequality (Exercise 3.66), we have 𝑒((π‘†βˆ©(𝑉\X)))+𝑒((𝑆βˆͺ(𝑉\X)))≀𝑒((𝑆))+𝑒((𝑉\X)) Now 𝑒((𝑆βˆͺ(𝑉\X)))β‰₯𝑒((𝑆)) since (𝑆βˆͺ(𝑉\X)) is an (π‘Ÿ, 𝑠)-cut β‡’ 𝑒((π‘†βˆ©(𝑉\X)))≀𝑒((𝑉\X))=𝑒((𝑋)) So (π‘†βˆ©(𝑉\X)) is a min (𝑣, 𝑀)-cut. Similarly for (2), can show (π‘†βˆ©X) is a min (𝑣, 𝑀)-cut.  S w (2) r (1) r s v X Combinatorial Optimization 2016

18 (pf) True for the initial two node tree.
Let 𝑇 be a tree produced at some stage of Gomory-Hu procedure and 𝑒 is an edge joining the sets(identified nodes) 𝑅 and 𝑆. We say that terminal nodes π‘Ÿβˆˆπ‘… and π‘ βˆˆπ‘† are representatives for 𝑒 if 𝑓𝑒=𝑓(π‘Ÿ,𝑠). Lemma 3.42: At every stage of the Gomory-Hu procedure, there exists representatives for each edge of the tree 𝑇 (pf) True for the initial two node tree. Suppose we split a node 𝐴 into 𝑋 and π‘Œ, based on an (π‘₯, 𝑦)-cut. (π‘₯βˆˆπ‘‹, π‘¦βˆˆπ‘Œ) π‘₯ and 𝑦 are representatives for the edge joining 𝑋 and π‘Œ and other edges, except the ones incident to 𝐴 earlier, are not affected. Suppose 𝐡 is a node joined to 𝐴 (using edge β„Ž) before the iteration is executed and assume 𝐡 is joined to node 𝑋 in the new tree. Then there exist π‘Žβˆˆπ΄, π‘βˆˆπ΅ which are representatives for β„Ž such that π‘“β„Ž=𝑓(π‘Ž, 𝑏). Now consider 2 cases: (1) π‘Žβˆˆπ‘‹ (2) π‘Žβˆˆπ‘Œ. (1): π‘Ž and 𝑏 continue to be representatives for β„Ž. (2): can show that π‘₯ and 𝑏 are representatives for β„Ž in the new tree.  Combinatorial Optimization 2016

19 b a B y B h Y h A a x X Proof of Lemma 3.42
Combinatorial Optimization 2016

20 Hence, the second assertion follows from the first.
Thm 3.40: For any π‘Ÿ, π‘ βˆˆπΎ, the capacity of min (π‘Ÿ, 𝑠)-cut equals the minimum label 𝑓 𝑒 in the (π‘Ÿ, 𝑠)-path in tree 𝑇. Moreover, min (π‘Ÿ, 𝑠)-cut is obtained by the bipartition of the tree obtained after eliminating the minimum weight edge 𝑒 βˆ— from 𝑇. (Proof of Theorem 3.40) By construction of 𝑇, each edge 𝑒 in 𝑇 corresponds to a cut in 𝐺 specified by the bipartition of 𝑉 obtained by deleting 𝑒 from 𝑇, and this cut has capacity 𝑓𝑒. Hence, the second assertion follows from the first. Let 𝑉0, 𝑒1, 𝑉1, …, π‘’π‘˜, π‘‰π‘˜ be the path that joins π‘Ÿ and 𝑠. Then 𝑓(π‘Ÿ, 𝑠)≀ min ( 𝑓 𝑒 1 ,…, 𝑓 𝑒 π‘˜ ) since each of the cuts corresponding to the edges 𝑒1, …, π‘’π‘˜ separates π‘Ÿ and 𝑠. Let 𝑣𝑖 be the unique terminal node in 𝑉𝑖 for 𝑖=0, 1, …, π‘˜. Have 𝑣0=π‘Ÿ, π‘£π‘˜=𝑠. By Lemma 3.42, 𝑓 𝑒 𝑖 =𝑓( 𝑣 π‘–βˆ’1 , 𝑣 𝑖 ), for 𝑖=1, …, π‘˜ By Exercise 3.69, 𝑓(π‘Ÿ, 𝑠)β‰₯ min ( 𝑓 𝑒 1 ,…, 𝑓 𝑒 π‘˜ ) (𝑓( 𝑣 0 , 𝑣 π‘˜ )β‰₯π‘šπ‘–π‘›π‘–π‘šπ‘’π‘š(𝑓 𝑣 0 , 𝑣 1 ,𝑓 𝑣 1 , 𝑣 2 ,…,𝑓 𝑣 π‘˜βˆ’1 , 𝑣 π‘˜ ) for any choice of nodes 𝑣 0 , 𝑣 1 ,…, 𝑣 π‘˜ ) β‡’ 𝑓(π‘Ÿ, 𝑠)= min ( 𝑓 𝑒 1 ,…, 𝑓 𝑒 π‘˜ )  Combinatorial Optimization 2016

21 A variant of Gomory-Hu procedure can be used to identify the violated odd set constraint for the matching problem (Ref: M. W. Padberg and M. R. Rao (1982), Odd Minimum Cut-Sets and b-Matchings, Mathematics of Operations Research 7, ) More efficient implementation: D. Gusfield, "Very simple methods for all pairs network flow analysis," SIAM Journal on Computing 19 (1990) Combinatorial Optimization 2016


Download ppt "3.5 Minimum Cuts in Undirected Graphs"

Similar presentations


Ads by Google