Gomory-Hu Tree for representation of minimum cuts Elad Avni.

39
Gomory-Hu Tree for representation of minimum cuts Elad Avni
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    217
  • download

    0

Transcript of Gomory-Hu Tree for representation of minimum cuts Elad Avni.

  • Slide 1
  • Gomory-Hu Tree for representation of minimum cuts Elad Avni
  • Slide 2
  • Flow Definition Assume N to be a directional graph. Let every arc have an associated positive integer c called the capacity of the arc. There are two special nodes in the network. One is called the source, and one is called the sink.
  • Slide 3
  • Flow Definition A set of nonnegative integers f is called a flow in the network if they satisfy the following constrains:
  • Slide 4
  • Cut Definition (X,~X) is a cut if: X or ~X equals N X and ~X equals to an empty group. The capacity of a cut is defined to be the sum of the capacity of the edges that cross it A cut separates between v and u if v belongs to X and u belongs to ~X
  • Slide 5
  • Maximum Flow and Minimum Cut The maximum flow between s and t equals to the minimum cut that separates between them.
  • Slide 6
  • Multiterminal Maximal Flows We are interested in finding maximal flow/minimal cut values between all pairs of nodes in a network. Any pair of nodes can serve as the source and the sink. We shall consider only unidirectional networks. Only in this case are there simple and elegant answers.
  • Slide 7
  • Definitions Crossing cuts Condensing a subset of nodes into a single node Flow equivalent networks in respect to a set of nodes
  • Slide 8
  • Crossing Cuts Two cuts (X,~X) and (Y,~Y) are said to cross each other if each of the four sets (X Y, X ~Y, ~X Y, ~X ~Y) contains at lest one node.
  • Slide 9
  • Condensing a subset of nodes into a single node Between every pair of two nodes of the subset an arc of infinite capacity is added. The arcs directly connecting a node not in the subset to any node in the subset are replaced by a single arc having capacity equal to the sum of capacities of the connecting arcs.
  • Slide 10
  • Example :
  • Slide 11
  • Slide 12
  • Flow Equivalent Networks Suppose there is network N. Suppose there is another network N which consist of p nodes, and the maximal flow values between some p nodes of N are the same as the maximal flow values of the network N. Those two networks are said to be flow equivalent to each other with respect to that p nodes
  • Slide 13
  • Flow Equivalent Networks It turns out that there always exist an N which is a tree (Gomory Hu Tree). We will describe an algorithm to construct the tree N from a network N.
  • Slide 14
  • The Algorithm Step 1: Do a maximal flow computation for two nodes on a network which is usually smaller than the original network, since subsets are condensed into a single node. Based on the flow we get a minimum cut, which does not cross any of the previous cuts. Go to step 2.
  • Slide 15
  • The Algorithm Step 2: Use the minimum cut just obtained in step 1 and construct a link of the tree network N. Select a pair of nodes in the same side of the previous cut, which will serve as the source and sink in step 1, and condense certain subsets of the original network into a single nodes. This is the network that will be used to the maximal flow computation in step 1. Go to step 1.
  • Slide 16
  • The Algorithm The algorithm ends when n-1 links are constructed. The tree N that we constructed using the algorithm and the network N are flow equivalent with respect to all of the nodes.
  • Slide 17
  • Example:
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Lemma Let (X,~X) be a minimum cut separating nude i that belongs to X and some other node belong to ~X. Let e and k be any two nodes contained in ~X. Then there exists a minimum cut (Z,~Z) separating e and k, such as (Z,~Z) and (X,~X) do not cross each other.
  • Slide 24
  • Proof Assume there is a minimum cut (Y,~Y) separating e and k which does cross (X,~X).
  • Slide 25
  • Case 1:
  • Slide 26
  • Proof case 1 Since (X,~X) is a minimum cut, we have c(Q,P) + c(S,P) + c(Q,R) + c(S,R)
  • Proof case 1 Case 1: Let w belong to Y. Then (Y,~Y) separates between w and z. If so, c(Y,~Y) >= c(X,~X) because (X,~X) is the minimum cut between w and z. Also, c(X,~X) >= c(Y,~Y) because (Y,~Y) is the minimum cut between u and v.
  • Slide 35
  • Proof case 2 Case 2: Let w belong to ~Y and ~X. There is a cut (T,~T) which does not cross (X,~X) or (Y,~Y).
  • Slide 36
  • Slide 37
  • Proof case 2 Furthermore: u, v and z all belong to T. So, c(T,~T) >= c(X,~X) because (X,~X) is the minimum cut separates between w and z. Also, as (Y,~Y) is a cut separating between w and u. So, c(Y,~Y) >= c(T,~T). Now, we can surely say that c(Y,~Y) >= c(X,~X).
  • Slide 38
  • Proof case 2 Now, because (Y,~Y) is the minimum cut separating between u and v, we can also say that c(Y,~Y)
  • Algorithm Proof (not neighboring nodes) Let us define f(s,t) as the maximum flow between nodes s and t. Then, f(s,t) >= min[f(s,k),f(k,t)] By induction, we get: f(s,t) >= min[f(s,a),f(a,b),,f(j,k),f(k,t)]