Download presentation
Presentation is loading. Please wait.
Published byΞΞ΅Ο ΞΊΞΏΞΈΞΞ± ΞΞ±ΟΞ¬ΟΟΞ± ΞΞ±ΟιλικΟΟ Modified over 6 years ago
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.