Download Multiterminal Maxima..

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Network tap wikipedia , lookup

Distributed operating system wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

IEEE 802.1aq wikipedia , lookup

CAN bus wikipedia , lookup

Airborne Networking wikipedia , lookup

Dijkstra's algorithm wikipedia , lookup

Kademlia wikipedia , lookup

Routing in delay-tolerant networking wikipedia , lookup

Transcript
Gomory-Hu Tree for
representation of minimum cuts
Elad Avni
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.
Flow Definition
A set of nonnegative integers f is called a flow
in the network if they satisfy the following
constrains:
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
Maximum Flow and Minimum Cut
The maximum flow between s and t equals to
the minimum cut that separates between
them.
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.
Definitions



Crossing cuts
Condensing a subset of nodes into a single
node
Flow equivalent networks in respect to a set
of nodes
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.
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.
Example:
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
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.
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.
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.
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.
Example:
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.
Proof
Assume there is a minimum cut (Y,~Y)
separating e and k which does cross (X,~X).
Case 1:
Proof – case 1
Since (X,~X) is a minimum cut, we have
c(Q,P) + c(S,P) + c(Q,R) + c(S,R) <= c(Q,P) +
c(Q,R) + c(Q,S)
Or
c(S,P) + c(S,R) <= c(Q,S)
Or
c(S,R) <= c(Q,S)
Proof – case 1
Now we can also say that:
c(P,R) + c(Q,R) + c(S,R) <= 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).
Case 2:
Proof – case 2
This is very similar to case 1, so we will not
prove it.
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.
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.
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.
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.
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).
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).
Proof – case 2
Now, because (Y,~Y) is the minimum cut
separating between u and v, we can also say
that c(Y,~Y) <= c(X,~X).
Hence, they are equals. c(Y,~Y) = c(X,~X).
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)]