� ����� �� � � ���� ��� ����� ��� � ����������� ������� ��������� �� �!���"#��� �$�%&����
O UTLINE � Basic definitions � Why needed? � Gomory�Hu Construction Algorithm � Gomory�Hu Construction Algorithm � A Complete GH Tree Construction Example � Proof Of Correctness � Minimum K�Cut Problem � Implementation
' ���� � �(��������
C UT D EFINITION � Let G = (V,E) denote a graph and c(e) a weight function on its edges. � A ��� is a partition of the vertices V into two sets S and T. S and T. � Any edge (u,v) ∈ E with u ∈ S and v ∈ T is said to be �������% the cut and is a ��� # %# . � ��# ��)����$ �* � ��� is the sum of weights of the edges crossing the cut.
U � V C UT � A u�v cut is a split of the nodes into two disjoint sets U and V, such that u ∈ U, v ∈ V. � ��������+��������!����� ��������+��������!����� Given a graph G = (V,E) and two terminals u,v ∈ V, find the minimum u�v cut.
F LOW D EFINITION � Given a directed graph G(V,E) in which every edge (u,v) ∈ E has a �����#%���,# , �#�"�,�"�# capacity c(u,v). � We distinguish two vertices: a �����# � and a ���& � . We distinguish two vertices: a �����# � and a ���& � . � A flow network is a real function f: V×V → � with the following properties for all nodes u and v: ��)����$ ����������� : f(u,v) ≤ c(u,v) 1. �&#- �$..#��$ : f(u,v) = � f(v,u) 2. ("�- ����#�,����� : ,unless u=s or u=t 3.
M AX �F LOW � The maximum flow problem is to find a feasible flow through a single�source, single�sink flow network that is maximum. � Max�Flow can be computed in polynomial time � Max�Flow can be computed in polynomial time (e.g. Edmonds�Karp algorithm). � ��/�(��+ ������� ������� � The maximum amount of flow is equal to the capacity of the minimal cut. � Thus, the min s�t cut is also computed in polynomial time.
I MPORTANT P UBLICATIONS O N M AX �F LOW M IN �C UT P ROBLEMS � Ford and Fulkerson, Maximal Flow through a network (1956). Introduction of basic concepts of flow and cut. Max flow min�cut theorem . flow min�cut theorem . � Mayeda, Terminal and Branch Capacity Matrices of a Communication Net (1960). Multiterminal problem. � Chien, Synthesis of a Communication Net (1960). Synthesis of multiterminal flow network.
+ �� � ����� 0
B ASIC P ROPERTIES O F C UTS � We are interested in finding maximal flow/minimal cut values between all pairs of nodes in a graph G = (V,E), where n = |V|. Any pair of nodes can serve as the source and the sink. � How many min�cut computations are needed? � You would think � But in fact, n�1 computations are enough!! why? ( ����� �� )
F LOW E QUIVALENT G RAPHS � Two graphs G = (V, E) and G’ = (V, E’) are said to be flow equivalent iff for each pair of vertices u,v ∈ V, the minimum u�v cut (maximal u�v flow) in G is the same as in G’. � It turns out that there always exist a G’ which is a tree (Gomory Hu Tree)!! � Notice that the n�1 edges of the tree correspond to the n�1 distinct min�cuts in G.
G OMORY �H U (GH) T REE R.E. G OMORY AND T.C. H U , M ULTI � TERMINAL NETWORK FLOWS (1961). � Given a graph G = (V,E) with a capacity function c, a cut�tree T = (V,F) obtained from G is a tree having the same set of vertices V and an edge set F F with with a a capacity capacity function function c’ c’ verifying verifying the the following properties: �3��,�"#�� 4�- ��## : for any pair of vertices s 12 and t, f s,t in G is equal to f s,t in T , i.e., the smallest capacity of the edges on the path between s and t in T. ��� )��)#��$ : a minimum cut C s,t in T is also a 52 minimum cut in G.
� ����� �� � � ����������� � ��������
O UTLINE � The algorithm maintains a partition of V, (S 1 , S 2 , …, S t ) and a spanning tree T on the vertex set { S 1 , S 2 , …, S t }. � Let w’ be the function assigning weights to the � Let w’ be the function assigning weights to the edges of T. � On each iteration, T satisfies the following invariant : For any edge (S i , S j ) in T, there are vertices a and b in S i and S j respectively such that w’ (S i , S j ) = f(a,b) and the cut defined by edge (S i , S j ) is a minimum a�b cut in G.
I NITIAL S TEP � The algorithm starts with a trivial partition V. � Proceeds in n�1 iterations. b b 7 c c 16 8 5 7 5 d : a 5 9 ; f e : Initial Partition = (V={a,b,c,d,e,f})
I TERATION (1) � Select a set S i in the partition such that |S i |≥ 2. � Let u and v be two distinct vertices of S i . Select d and e Select d and e c 8 < 7 b = 16 d 1; 1; 5 a < ; 19 1: 9 11 9 8 f e Partition 3 = ({a}, {b}, {c,d,e}, {f})
I TERATION (2) � Root the current tree at S i and consider the subtrees rooted at the children of S i . � Collapse each of the subtrees into a single vertex to obtain graph G’ (G’ also contains all vertices of to obtain graph G’ (G’ also contains all vertices of S i ). Collapse all other sub� c trees to supernodes 8 < 7 d 5 9 8 e
I TERATION (3) � Find a minimum u�v cut in G’. � Let (A, B) the partition of the vertices of G’ defining the cut, with u ∈ A, v ∈ B. Compute min d�e cut c 8 < 7 d 5 9 8 e
I TERATION (4) u = S i ∩ A and S i v = S i ∩ B. � Compute S i � Refine the current partition by replacing S i with u and S i the two sets S i v . � The new tree has an edge (S u , S v ) with weight � The new tree has an edge (S i u , S i v ) with weight equal to the weight of the cut. Create new Gomory�Hu edge c < 8 7 d 5 17 8 9 e
I TERATION (5) � How are the other nodes aranged at the tree after the splitting? � Consider a subtree T’ incident at S in T. Assume � Consider a subtree T’ incident at S i in T. Assume that the collapsed node corresponding to T’ lies in A. � We connect T’ by an edge with S i u . � The weight of the edge is the same as the weight of the edge connecting T’ to S i . � All the other edges retain their weights.
I TERATION (6) Attach the previous sub� tree to the cut that it tree to the cut that it c c belongs < 8 7 1; 19 1: 5 17 8 9 e
T ERMINATION � The algorithm terminates when the partition consists of singleton vertices. � Thus, after exactly n�1 iterations!
��� ������� ���� ��� � ����������� � /�����
I NITIALIZATION > 7 c 16 8 5 7 7 5 d : a 5 9 ; e f : Initial Partition = (V={a,b,c,d,e,f})
I TERATION 1 > 7 c 16 8 5 7 5 d : 5 a 9 ; f e : Select b and f
I TERATION 1 c 7 7 8 > 7 = 5 d 16 5 19 5 ; a 9 11 f e : Partition 1 = ({a,b}, {c,d,e,f})
I TERATION 2 Select a,b c 7 7 8 > 7 = 5 d 16 5 19 5 ; a 9 11 f e : Partition 1 = ({a,b}, {c,d,e,f})
I TERATION 2 c 7 7 8 8 > 7 16 = 5 d 1; 1; 5 a ; 19 5 9 11 Partition 2 = ({a}, {b}, {c,d,e,f}) f e :
I TERATION 3 Select c and f c 7 8 > 7 16 = 5 d 1; 1; 5 a ; 19 5 9 11 f e : Partition 2 = ({a}, {b}, {c,d,e,f})
I TERATION 3 c 8 < < 7 > 16 = d 1; 1; a 5 < ; 19 1: 9 11 9 f 8 e Partition 3 = ({a}, {b}, {c,d,e}, {f})
I TERATION 4 Select d and e c 8 < 7 7 > > 16 16 = = d 1; 1; a 5 < ; 19 1: 9 11 9 8 f e Partition 3 = ({a}, {b}, {c,d,e}, {f})
I TERATION 4 c 8 < 7 7 16 > = 1; 1; 17 17 5 a d < ; 19 1: 11 9 f 8 9 e Partition 4 = ({a}, {b}, {c, e}, {d}, {f})
I TERATION 5 Select c and e c 8 < 7 7 > 16 = 1; 1; 17 17 5 a d < ; 19 1: 11 9 8 f 9 e Partition 4 = ({a}, {b}, {c, e}, {d}, {f})
I TERATION 5 c 18 18 > > 16 16 = = 1; 1; 1; 1; 17 17 17 17 a < d ; 19 1: 9 < 11 8 f 7 5 8 9 e Partition 5 = ({a}, {b}, {c}, {e}, {d}, {f})
F INAL GH T REE 17 1; 19 1: 18 Final Gomory�Hu Tree
� ���( � ( � ����������
B ASIC L EMMAS (1) � Let f(u,v) denote the weight of a minimum ��, ��� in G. � For u, v, w ∈ V, the following inequality holds: f(u,v) ≥ min { f(u,w), f(w,v) } � Generalization: For u, v, w 1 , w 2 , .., w r ∈ V: f(u,v) ≥ min { f(u, w 1 ), f(w 1 , w 2 ), …, f(w r , v) } ����� ��
Recommend
More recommend