GomoryHu Tree for representation of minimum cuts - PowerPoint PPT Presentation

1 / 39
About This Presentation
Title:

GomoryHu Tree for representation of minimum cuts

Description:

Assume N to be a directional graph. Let every arc have an associated positive integer c called the ... sets (X Y, X ~Y, ~X Y, ~X ~Y) contains at lest one node. ... – PowerPoint PPT presentation

Number of Views:425
Avg rating:3.0/5.0
Slides: 40
Provided by: elad2
Category:

less

Transcript and Presenter's Notes

Title: GomoryHu Tree for representation of minimum cuts


1
Gomory-Hu Tree for representation of minimum cuts
  • Elad Avni

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.

3
Flow Definition
  • A set of nonnegative integers f is called a flow
    in the network if they satisfy the following
    constrains

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

5
Maximum Flow and Minimum Cut
  • The maximum flow between s and t equals to the
    minimum cut that separates between them.

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.

7
Definitions
  • Crossing cuts
  • Condensing a subset of nodes into a single node
  • Flow equivalent networks in respect to a set of
    nodes

8
Crossing Cuts
  • Two cuts (X,X) and (Y,Y) are said to cross each
    other if each of the four sets (X n Y, X n Y, X
    n Y, X n Y) contains at lest one node.

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.

10
Example
11
(No Transcript)
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

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.

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.

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.

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.

17
Example
18
(No Transcript)
19
(No Transcript)
20
(No Transcript)
21
(No Transcript)
22
(No Transcript)
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.

24
Proof
  • Assume there is a minimum cut (Y,Y) separating e
    and k which does cross (X,X).

25
Case 1
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) lt c(Q,P)
    c(Q,R) c(Q,S)
  • Or
  • c(S,P) c(S,R) lt c(Q,S)
  • Or
  • c(S,R) lt c(Q,S)

27
Proof case 1
  • Now we can also say that
  • c(P,R) c(Q,R) c(S,R) lt c(P,R) c(Q,R)
    c(Q,S) c(P,S)
  • But now we have on left side a cut which is
    separating e and k that does not cross (X,X).
  • On the right side we got the minimum cut (Y,Y).

28
Case 2
29
Proof case 2
  • This is very similar to case 1, so we will not
    prove it.

30
Algorithm Proof(neighboring nodes)
  • Consider a link connecting two circles with one
    circle containing node v and one circle
    containing node u. Let us call the set of nodes
    on the same side as v the set X and the set of
    nodes on the same side as u the set X.

31
Proof
  • Then the value associated with this link is
    c(X,X), which is minimum cut separating between
    w of set X and z of set X.
  • The minimum cut separating between v and u is
    c(Y,Y) in the original network, where v is in Y
    and u is in Y.

32
Proof
  • There exist a (Y,Y) which does not cross (X,X).
  • Let us assume that X is included in Y and Y is
    included in X.

33
(No Transcript)
34
Proof case 1
  • Case 1
  • Let w belong to Y. Then (Y,Y) separates between
    w and z.
  • If so, c(Y,Y) gt c(X,X) because (X,X) is the
    minimum cut between w and z.
  • Also, c(X,X) gt c(Y,Y) because (Y,Y) is the
    minimum cut between u and v.

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).

36
(No Transcript)
37
Proof case 2
  • Furthermore u, v and z all belong to T. So,
    c(T,T) gt 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) gt c(T,T).
  • Now, we can surely say that c(Y,Y) gt c(X,X).

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) lt
    c(X,X).
  • Hence, they are equals. c(Y,Y) c(X,X).

39
Algorithm Proof(not neighboring nodes)
  • Let us define f(s,t) as the maximum flow between
    nodes s and t.
  • Then, f(s,t) gt minf(s,k),f(k,t)
  • By induction, we get
  • f(s,t) gt minf(s,a),f(a,b),,f(j,k),f(k,t)
Write a Comment
User Comments (0)
About PowerShow.com