# ON RESTRICTING THE DEGREE OF FLOWS 1. Flows in the Real Life The by dfsdf224s

VIEWS: 8 PAGES: 11

• pg 1
```									      ON RESTRICTING THE DEGREE OF FLOWS

PUTRA MANGGALA

Abstract.    The support graph of a ow is simply a graph that
is induced by ows greater than zero. An upper bound on the
outdegrees of the nodes has many practical applications, especially
in internet routing. In this exposition we will mainly consider
conuent ows, where every outdegree must be at most 1. A near-
tight algorithm due to [CKLRSV] is presented for constructing
conuent ows. A matching lower bound in the form of a graph is
presented. We will also discuss the multicommodity and d-furcated
version.

1.   Flows in the Real Life

The problem of sending ow through a network was considered by
Kantorovich in 1939 [S]. Nowadays, computer scientists and mathe-
maticians who are trained in the eld of algorithms, graph theory or
combinatorial optimisation are familiar with the max-ow min-cut the-
orem proved by Ford and Fulkerson in 1954. Many polynomial time
algorithms have been devised for this problem and it is known that we
can do this quite eectively. In light of this, we can consider the notion
of a fractional or splittable ow, which is a ow without any restriction
on the outdegrees of the vertices. To illustrate this, let us look at the
scenarios inspired by that in [CRS], Scenario 1: A major re is engulf-
ing a ve-starred hotel you are staying in. The guests and employees
ee through the corridors as they follow the exist signs in their haste
to get out. The streams of people from dierent directions meet in
an emergency exit which may lead to main exit. Scenario 2: Content
Delivery Network (CDNs) employ many servers throughout the world.
They often organise their deployment of servers in the form of rooted
tree, typically rooted at the Operation Center, with each server wanting
to route data to it. To translate these into graph-theoretical language,
the streams of people and the paths on which data is routed are ows
directed on some edge in the underlying network. This arborescence
Date : November 2, 2008.
1
ON RESTRICTING THE DEGREE OF FLOWS                         2

structure directed towards the root correspond to the conuence re-
quirement, where every outdegree must be at most 1.

2.   Constructing Confluent Flows

Formally, Let G = (V, A) be our directed network with sinks S =
{s1 , . . . , sk } ⊆ V . Each node v ∈ V − S want to route a demand of
d(v) to any combination of the sinks. Then the quintuple (G, d, S),
denote our conuent ow problem, where we want to nd a ow f
which routes the demand d and respecting the conservation equation
a=(v,w)∈A f (a) −      a=(u,v)∈A f (a) = d(v), ∀v ∈ V − S , whose support
graph has a maximum outdegree of 1 for every node in G(V ). Here
note that we are not putting any constraint for the indegrees. In doing
this, an important parameter that we want to bound from above is the
node congestion, c(v), which is dened as the sum of its demand and
all the ows coming into it. A natural global parameter for a ow f is
its ow congestion, dened as cf = maxv∈V c(v).

Our approach is based on transforming a fractional ow of bounded
congestion into a conuent ow. Intuitively, we will take the support
graph of a fractional ow and perform a series of operations that will
constrain the outdegrees of the vertices to 1, while still satisfying all
the demands. The interesting problem is that of nding the conuent
ow with as small congestion as possible. We will present an algorithm,
devised in [CKLRSV], in the next subsections.

2.1. The Subroutines of the CONFLT algorithm. This algorithm
is by no means simple; thus it will be advisable for us to go through
its rudimentary ideas. As an input, we will require a fractional ow
f routing all the demands with congestion cf = 1. This is achievable,
since we can always scale the congestion and hence the demands. The
following from [CKLRSV] summarises the approximation strength of
this algorithm:

Theorem 1:   Given a fractional ow f s.t. cf = 1, CONFLT exhibits
a conuent ow g with cg = 1 + log |S|.

As we have foreshadowed in the previous section, CONFLT will take
the given fractional ow and performs a series of operations on it.
These may not be well-known to a computer scientist not working in
ON RESTRICTING THE DEGREE OF FLOWS                                     3

graph theory or combinatorial optimisation, so here we attempt to give
a quick description for each one of them. Firstly, we may reduce the
ow on any directed cycle until the support graph is acyclic. Second,
node aggregation takes into consideration a node v in the ow sup-
port graph which has all of its outgoing edges going into one vertex u
then contracts u and v into a new vertex. The new vertex's demand
will then be d(u) + d(v). This decreases the size of the graph by a node
everytime. The third operation is the sawtooth cycle augmentation
as per in [CKLRSV] and [DGG]. A sawtooth cycle is a cycle that has
the form {(u0 , v0 ), P0 , (u1 , v1 ), P1 , (u2 , v2 ), . . . , (ur , vr ), Pr }, where each
Pi is a directed path from ui+1 to vi (subscript arithmetic modulo r+1).
Given such a cycle, we may augment (by breaking it) without increas-
ing the node congestions as follows: let be the minimum ow on one
of the arcs in one of the Pi 's, then we subtract ow from every arc in
the Pi 's and add ow to each arc (ui , vi ). This decreases the size of
the graph by an arc everytime.

2.2. CONFLT algorithm. We call a node a frontier node if it has an
edge incident to one of the sinks. We will perform the rst operation
of reducing the ow in the support graph to make it acyclic. Hence we
start with a support graph which is a directed acyclic graph (DAG).
In the rest of this section we will denote the congestion with b instead
of d.
Dene the potential of sink s as φ(s) = 2b(s) and the potential of the
ow as φ(f ) = s∈S φ(s). To show that this algorithm must terminate
and outputs a conuent ow, we will call upon a sequence of lemmas
showing that the potential of the ow at every step of the algorithm
that modies the ow network does not increase.

Lemma 1:       When step 2 (Node Aggregation) is done, the ow con-
gestion does not change.
Proof: Now when a frontier node u is aggregated into the sink s, we
are increasing d(s) by d(u), but we omitted the ow in (u, s), which is
the same quantity. Now the graph is down by one node and congestion
does not change.

Lemma 2:     When step 3 (Breaking Sawtooth Cycles) is done, the ow
congestion does not change and at least one edge is removed.
Proof: Consider our short description of the sawtooth cycles from the
previous subsection. Then at least one edge in C ∩ E(G) has units
ON RESTRICTING THE DEGREE OF FLOWS                           4

Algorithm 1 CON F LT (G, S, d, f )
(1) If V (G) = S , go to 2.
(2) (Node Aggregation) If there is a frontier node v whose all
outgoing edges are to a particular sink s, mark, any one edge,
contract v into s and do d(s) = d(v) + d(s). Go to 1.
(3) (Breaking Sawtooth Cycles) Let the auxillary graph G be            ˆ
formed from G by adding an edge erev = (s, v) for all edge
e = (v, s) from a frontier node v to a sink s. If G containsˆ
a simple dicycle C of length greater than 2, do the following:
Let fmin = mine∈C∩E(G) f (e). then ∀e ∈ G, if e ∈ C then do
f (e) = f (e) − fmin and if erev ∈ C then do f (e) = f (e) + fmin .
Delete edges with ow zero and go to 1.
(4) (Sink Deactivation) If there is a sink vertex sj with only one
adjacent frontier node v such that there is another sink vertex sl
adjacent to v , if bj +f (v, sl ) < bl −f (v, sl ) then remove the edge
(v, sl ) and redirect the ow here into the sink vj , else remove
the edge (v, sj ), redirect the ow here into the sink sl via (v, sl )
and deactivate sj . Go to 1.

of ow before performing the subtraction/addition. Now we will show
that the congestion does not increase. Take a node v ∈ G. If v ∈ C ,
then C has two edges incident to v , and these are either two edges of
G, or an edge of G and the reverse of another. Here in the rst case the
congestion of v goes down by , whilst in the second, the congestion is
unchanged. On the other hand, if v ∈ C , then clearly the ow on edges
/
incident to v is unchanged.

Lemma 3:       When step 4 (Sink Deactivation) is done, either an edge
is removed or a sink is deactivated.
Proof: Now at the rst time in the iteration, step 2 and 3 is not
performed, there is some sink s which is adjacent to only one frontier
node v . This can be found by traversing the edges of G with the rule
ˆ
to not go to a sink and to not follow the traversal of some edge (a, b)
with (b, a) if possible. This traversal will go on indenitely since there
is always an outgoing edge. Let v be the rst node visited twice. Since
step 3 was not performed, G has got no simple cycles of length greater
ˆ
than 2, and thus the last two hops were (v, s) and (s, v) for some s ∈ V ,
where all outgoing edges of s goes to v . Now either v or s must be a
sink, else both (v, s) and (s, v) are in the original G, which contradicts
its DAG assumption. But v cannot be a sink, otherwise step 2 could
ON RESTRICTING THE DEGREE OF FLOWS                       5

have been done by aggregating s into v . Thus s is a sink adjacent to
only a frontier node v . In addition v must be adjacent to another sink
t = s, otherwise we could have aggregated v .

For both alternatives, the potential of the ow does not increase. Fur-
thermore, the potential of the deactivated sink is at most the potential
of the ow at the beginning of the step. Now this algorithm termi-
nates when the vertices left are the k initial sinks, disconnected. The
initial DAG corresponding to the splittable ow is reduced to this by
the three operations. It is clear that we need to deactivate k − 1 times
to get the k − 1 sinks and aggregating to get the last sink. The latter
step is clear since after deactivating k − 1 times there is no other sink
in the network and only node aggregation can happen. For the former,
we need to show that if none of the preconditions of step 2 and 3 hold,
step 4 must be perfomed. So suppose they do not hold, then there is
a sink s which is only adjacent to a frontier node v . The sink v can be
found by doing DFS on G. Every vertex of G has at least one outgoing
ˆ                   ˆ
edge, and let v be the rst vertex visited twice. By assumption, G does
ˆ
not have a simple dicycle of size greater than 2, so the last two hops
are (v, w) and (w, v), where all the outgoing edges of w is to v . Now
either v or w must be a sink (otherwise both of the edges are in G,
which means that the it is not a DAG) and v cannot be a sink, since
then we can apply node aggregation on w. So w is a sink and v is the
only adjacent frontier node. Moreover v must be adjacent to at least
one other sink s, otherwise we can apply node aggregation on v . Now
observe that during the node aggregation step, exactly one outgoing
edge is marked from each vertex that is not a sink. Hence the set of
marked edges constitute a conuent ow. Hence this terminates and
outputs a conuent ow. We now prove that the congestion of this
conuent ow is at most log |S| + 1. The potential of the ow (recall
that the congestion is 1) at the start is s∈S φ(s) = k21 = 2k. By
the lemmas, this potential does not increase and by Lemma 0.8, the
potential of any deactivated sink is at most 2k. Each deactivated sink
corresponds to an arborescence directed towards a root which is the
original sink. Clearly each arborescence is bijective with an original
sink. Thus the maximum congestion of an original sink s is at most
log φ(s) = log 2k = log k + 1.

2.3. Demand Maximisation. Here we present a variant of the con-
gestion minimisation problem. It is desired to maximise the demands
ON RESTRICTING THE DEGREE OF FLOWS                             6

routed while xing the congestion to some specied constant.

Theorem 2:       Given a splittable ow of congestion 1 with total demand
D=     v∈V −S d(v), we can exhibit a conuent ow with congestion at
most 1, satisfying set of nodes U ⊂ V s.t. u∈U d(u) ≥ D .
3

To yield this conuent ow, we will modify the algorithm CONFLT to
get these set of nodes. The modications needed are an alternate sink
deactivation step and a postprocessing step.

Sink Deactivation:      Let s be a sink with only one adjacent frontier
vertex v , and let u be another sink adjacent to v . If bs − f (v, s) ≤ 1 ,
2
remove edge (v, u) and redirect the ow along (v, s), else remove edge
(v, s), deactivate s and redirect the ow along (v, u).

Postprocessing:      We end up with k disjoint arborescences {T1 , . . . , Tk }
and we will select the subset U whose demands we will satisfy as fol-
lows. For each Ti let Di denote the total demand in it. Note that this
is equal to the congestion of the sink si . So for each Ti , if Di ≤ 1, then
satisfy all of the demand. If 1 < Di ≤ 2 , then greedily partition the
3

nodes in the arborescence into groups whose total demand per group
is at most 2 Di ; select the nodes in the group with the maximum total
3
demand and satisfy their demands. If Di > 3 , then greedily pick a
2
subset of the nodes of Ti whose total demand is at least 2 .   1

Lemma 4:       After postprocessing, we have:

1                                         D
Di +                    Di +              Di ≥     .
2                                         3
i|Di ≤1              i|1<Di ≤ 3
2
i|Di > 3
2

Proof:   Now it is clear that we have:

Di +                 Di +              Di = D
i: 1 <Di ≤1
2
i:1<Di ≤ 3
2
i:Di > 3
2

Thus it suces to show the following inequality:
ON RESTRICTING THE DEGREE OF FLOWS                            7

1                                         3
2                 Di +                    Di ≥              Di −
2                                         2
i: 1 <Di ≤1
2
i:1<Di ≤ 3
2
i:Di > 3
2

To do this, consider plotting the congestions {Di }k as a histogram.
i=1
Throughout the algorithm, the total area D does not change. Let us
divide the area using the y = 3 boundary line. When ows are being
2
redirected, some area of the histogram is moved, either within a section
or across the boundary. Denote by A the total area of the upper section.
Then during the sink deactivation step, if bs − f (v, s) ≤ 2 , A does not
1

increase since bj + f (v, u) ≤ 1 + f (v, s) + f (v, u) ≤ 2 . For the other
2
3

alternative, whenever A increases, sink s is deactivated and becomes
an arborescence, and thus Ds = bs − f (v, s). We will have the following
three cases:
(1) If 2 < bs −f (v, s) ≤ 1, then the increase in A is at most 1 ≤ 2Ds .
1

(2) If 1 < bs − f (v, s) ≤ 3 , then the increase in A is at most
2
f (v, s) − (bs − 3 ) < 1 < 1 Ds .
2     2   2
(3) If bs − f (v, s) > 3 , then A does not increase.
2

These imply the inequality.
Now our demands are routed using the arborescences, and hence the
ow is conuent. For each arborescence, we select nodes with todal
demand at most 1, and thus the congestions is at most 1. Now we
present an argument of why the demands are satised. For an arbores-
cence Ti with Di ≤ 1, all Di is satised. For 1 < Di ≤ 2 , suppose
3

the total demands of the groups (partitioned in postprocessing) are
d1 ≤ . . . ≤ dr . Then only d1 can be less than or equal to Di , otherwise
3
d1 and d2 could have been combined. Since d1 + dr > 2 Di , then r = 2,
3
otherwise d1 + d2 + dr > Di . So dr ≥ Di =⇒ at least Di is satised
2                2
and we have 1 i:1<Di ≤ 3 Di satised. For Di > 3 , at least i:Di > 3 2
2        2                         2                  2
1

is satised, and by lemma 4 the modied CONFLT satises at least D       3
demand in total.

3.   A Matching (Almost) Lower Bound

Figure 2.1 depicts an example of a support graph where there is a
fractional ow of congestion 1, but with conuent ow of at least Hk ,
where it is the famous harmonic number Hk = γ + log |S| + o(1).
ON RESTRICTING THE DEGREE OF FLOWS                              8

Figure 2.1. Hk       gap example

Thus our algorithm is almost tight, since this graph forces an optimal
approximation of γ + log |S|.1
The circle nodes are sources with j nodes at level j where horizontally
it is indexed by i. The outgoing ows are specied in the expression. To
see why the conuent ow congestion needs to be at least Hk , consider
the node at i = 1 and j = 1. This has demand 1 and and when routed
to any one sink, it will induce a ow of k 1 = Hk , which will be the
i=1 i
congestion at this sink. Using mathematical induction, one can show
that the congestion of the nodes remains to be 1 as j increases.
We remark that in [CKLRSV], the hardness of polynomial time approx-
imability was also established for the conuent ow problem variants.
They showed that it is NP-hard to approximate the congestion of an
optimal conuent ow to within a factor of log2|S| , which is a multi-
plicative constant gap from what can be done. The NP-hard reduction
gadgets used were rst used in [GKRSY] and is also used to show that
it is NP-hard to approximate the maximised demand to a factor less
than 4 .
3

1In  fact in [CKLRSV], an improved approximation of 1 + ln k was proved. As
far as we know, this is not yet tight due to our example in section 4, which forces
a γ + log k approximation.
ON RESTRICTING THE DEGREE OF FLOWS                     9

4.   The case of Multicommodity

Now we consider the multicommodity case, in which there is a particu-
lar sink for every source's demand, with arbitrary edge capacities and
demands. Our objective is to construct a ow such that per commodity
the ow is conuent. In the multicommodity ow theory, a common
metric is the maximum concurrent ow, which is the largest fraction
of every commodity that can be routed simultaneously without vio-
lating edge capacity restrictions. A natural extension to the conuent
ow theory is the maximum concurrent conuent ow, which is the
maximum concurrent ow with conuence restrictions on the routing.
We will state the useful lemma and an approximation result devised in
[CRS].
Lemma 5:        A ow satisfying the demands of some sources can be
decomposed into a collection of concurrent conuent ows

Theorem 3:       Given an optimal (non-conuent) multicommodity ow,
if its congestion c is greater than or equal to the maximum demand over
all sources, we can nd a conuent multicommodity ow with O(log n)
congestion approximation w.r.t c

The algorithm involves the Raghavan-Thompson randomized rounding
multicommodity ow obtained by solving the linear relaxation of the in-
tegral problem that allows non-conuent ows. Then using the lemma,
we can decompose the ow into conuent ows per commodity. Intu-
itively, randomized rounding is used to randomly select one conuent
ow for each commodity. We refer the interested reader to [CRS].

5.   The d-furcated Case

Despite its ubiquity in practice, in most intra-domain networks, ows
with higher but still bounded-degrees are allowed. This motivates the
work in [DSVW], which solves the analog for outdegrees greater than
or equal to 2, hence the term d-furcated ow. The algorithm used for
congestion minimisation is similar to that in conuent ow (note that
conuent ow is just when d = 1), using deterministic ow simplication
with node aggregation and sawtooth cycle augmentation and ow redi-
rection. The interesting result involves the characterisation of graphs
with sawtooth cycles which forms the basis for the ow redirection
scheme. Here is their result:
ON RESTRICTING THE DEGREE OF FLOWS                          10

Theorem 4:     Given a fractional ow f s.t. cf = 1, we can nd, for
d ≥ 2, a d-furcated ow g with cg = 1 + d−1 .
1

This is tight by an example they presented. Hence for outdegrees
greater than or equal to 2, the ow problem is pretty much settled.

6.   Future Work

Many interesting problems remain unanswered. The d-furcated mul-
ticommodity ow problem with distinguished sinks for every demand
needs to be answered. One that is proposed in [DSVW] is that of the
haluent ow, where each node must split its ow equally along its two
outgoing arcs. Is it possible to obtain a O(1) congestion gap between
2-furcated and haluent ows?
Another problem that the author is working on is the problem of rout-
ing in rounds for conuent ows. We would like to minimise the number
of rounds required to route all the demands, where we restrict the ow
congestion in each round. To do this, a clever modication of CONFLT
may be needed, and it needs to be able to solve the example in section
3 in constant number of rounds.

References
[CKLRSV] Jiangzhuo Chen and Robert D. Kleinberg and László Lovász and Ra-
jmohan Rajaraman and Ravi Sundaram and Adrian Vetta. (Almost)
tight bounds and existence theorems for conuent ows. STOC '04:
Proceedings of the thirty-sixth annual ACM symposium on Theory of
computing, 2004.
[CRS]    Jiangzhuo Chen and Rajmohan Rajaraman and Ravi Sundaram. Meet
and merge: approximation algorithms for conuent ows. STOC '03:
Proceedings of the thirty-fth annual ACM symposium on Theory of
computing, 2003.
[GKRSY] V. Guruswami, S. Khanna, R. Rajaraman, B. Shepherd, and M. Yan-
nakakis. Near-optimal hardness results and approximation algorithms
for edge-disjoint paths and related problems. Journal of Computer and
System Sciences, 67:473-496, 2003.
[RT]     P. Raghavan and C. Thompson. Randomized Rounding: A technique
for provably good algorithms and algorithmic proofs. Combinatorica, 7,
1987.
[DSVW] P. Donovan, B. Shepherd, A. Vetta, G. Wilfong. Degree-constrained
network ows. STOC '07: Proceedings of the thirty-ninth annual ACM
symposium on Theory of computing. 2007.
[S]      Alexander Schrijvver. Combinatorial Optimization: Polyhedra and Ef-
ciency. Book.
ON RESTRICTING THE DEGREE OF FLOWS                         11

[DGG]   Yem Dinitz, Department Of Computer Science, Naveen Garg, Michel
X. Goemans. On the single-source unsplittable ow problem. Combina-
torica, 19, 1999.

```
To top