scispace - formally typeset
Open AccessJournal ArticleDOI

(Almost) Tight bounds and existence theorems for single-commodity confluent flows

TLDR
This article presents near-tight approximation algorithms, hardness results, and existence theorems for minimizing congestion in single-commodity confluent flows, and proves that k-connected graphs with k sinks admit confluent flow of congestion less than C + dmax, where C is the congestion of the best splittable flow, and dmax is the maximum demand of any node in G.
Abstract
A flow of a commodity is said to be confluent if at any node all the flow of the commodity leaves along a single edge. In this article, we study single-commodity confluent flow problems, where we need to route given node demands to a single destination using a confluent flow. Single- and multi-commodity confluent flows arise in a variety of application areas, most notably in networking; in fact, most flows in the Internet are (multi-commodity) confluent flows since Internet routing is destination based.We present near-tight approximation algorithms, hardness results, and existence theorems for minimizing congestion in single-commodity confluent flows. The maximum edge congestion of a single-commodity confluent flow occurs at one of the incoming edges of the destination. Therefore, finding a minimum-congestion confluent flow is equivalent to the following problem: given a directed graph G with ksinks and non-negative demands on all the nodes of G, determine a confluent flow that routes every node demand to some sink such that the maximum congestion at a sink is minimized.The main result of this article is a polynomial-time algorithm for determining a confluent flow with congestion at most 1 p ln(k) in G, if G admits a splittable flow with congestion at most 1. We complement this result in two directions. First, we present a graph G that admits a splittable flow with congestion at most 1, yet no confluent flow with congestion smaller than Hk, the kth harmonic number, thus establishing tight upper and lower bounds to within an additive constant less than 1. Second, we show that it is NP-hard to approximate the congestion of an optimal confluent flow to within a factor of (log2k)/2, thus resolving the polynomial-time approximability to within a multiplicative constant. We also consider a demand maximization version of the problem. We show that if G admits a splittable flow of congestion at most 1, then a variant of the congestion minimization algorithm yields a confluent flow in G with congestion at most 1 that satisfies 1/3 fraction of total demand.We show that the gap between confluent flows and splittable flows is much smaller, if the underlying graph is k-connected. In particular, we prove that k-connected graphs with k sinks admit confluent flows of congestion less than C p dmax, where C is the congestion of the best splittable flow, and dmax is the maximum demand of any node in G. The proof of this existence theorem is non-constructive and relies on topological techniques introduced by Lovasz.

read more

Content maybe subject to copyright    Report

(Almost) Tight Bounds and Existence Theorems for
Single-Commodity Confluent Flows
Jiangzhuo Chen
Robert D. Kleinberg
aszl´o Loasz
Rajmohan Rajaraman
§
Ravi Sundaram
Adrian Vetta
k
Abstract
A flow of a commodity is said to be confluent if at any node all the flow of the commodity
leaves along a single edge. In this paper we study single-commodity confluent flow problems,
where we need to route given node demands to a single destination using a confluent flow.
Single- and multi-commodity confluent flows arise in a variety of application areas, most notably
in networking; in fact, most flows in the Internet are (multi-commodity) confluent flows since
Internet routing is destination based.
We present near-tight approximation algorithms, hardness results, and existence theorems
for minimizing congestion in single-commodity confluent flows. The maximum edge congestion
of a single-commodity confluent flow occurs at one of the incoming edges of the destination.
Therefore, finding a minimum-congestion confluent flow is equivalent to the following problem:
given a directed graph G with k sinks and non-negative demands on all the nodes of G, determine
a confluent flow that routes every node demand to some sink such that the maximum congestion
at a sink is minimized.
The main result of this paper is a polynomial-time algorithm for determining a confluent
flow with congestion at most 1 + ln(k) in G, if G admits a splittable flow with congestion at
most 1. We complement this result in two directions. First, we present a graph G that admits a
splittable flow with congestion at most 1, yet no confluent flow with congestion smaller than H
k
,
the k
th
harmonic number, thus establishing tight upper and lower bounds to within an additive
constant less than 1. Second, we show that it is NP-hard to approximate the congestion of
an optimal confluent flow to within a factor of (log
2
k)/2, thus resolving the polynomial-time
approximability to within a multiplicative constant. We also consider a demand maximization
version of the problem. We show that if G admits a splittable flow of congestion at most 1, then
Virginia Bioinformatics Institute, Virginia Tech, Blacksburg, VA 24061. Email: chenj@vbi.vt.edu. This work
was done while the author was in the College of Computer & Information Science at Northeastern University, partially
supported by NSF CAREER award CCR-9983901.
Department of Computer Science, Cornell University, Ithaca, NY 14850. Email: rdk@cs.cornell.edu. Partially
supported by an NSF Mathematical Sciences Postdoctoral Research Fellowship. Parts of this work were done while the
author was in the MIT Department of Mathematics, supported by a Fannie and John Hertz Foundation Fellowship,
and parts were done while the author was an intern at Microsoft Research.
Microsoft Research, One Microsoft Way, Redmond, WA 98052. Email: lovasz@microsoft.com.
§
College of Computer & Information Science, Northeastern University, Boston, MA 02115. Email:
rraj@ccs.neu.edu. Partially supported by NSF CAREER award CCR-9983901.
College of Computer & Information Science, Northeastern University, Boston, MA 02115. Email:
koods@ccs.neu.edu. Part of this work was done while the author was at Akamai Technologies, Cambridge, MA.
k
Department of Mathematics and School of Computer Science, McGill University, Montreal, Quebec, H3A 2A7,
Canada. Email: vetta@math.mcgill.ca. Partially supported by NSERC grant 288334-04 and FQRNT grant NC-
98649. Part of this work was done while the author was attending an algorithms workshop, supported by an ONR
basic research grant, at Bell Labs.

a variant of the congestion minimization algorithm yields a confluent flow in G with congestion
at most 1 that satisfies 1/3 fraction of total demand.
We show that the gap between confluent flows and splittable flows is much smaller, if the
underlying graph is k-connected. In particular, we prove that k-connected graphs with k sinks
admit confluent flows of congestion less than C + d
max
, where C is the congestion of the best
splittable flow, and d
max
is the maximum demand of any node in G. The proof of this existence
theorem is non-constructive and relies on topological techniques introduced by Lov´asz.
2

1 Introduction
In this paper, we present new approximation algorithms, lower bounds, and existence theorems for
a class of network flows called confluent flows. A flow of a given commodity in a directed graph
is said to be confluent if all the flow of the commodity departing a node does so along a single
outgoing edge.
Confluent flows arise in a number of scenarios including evacuation problems and various ap-
plications in networking. For instance, content delivery networks (CDNs) often organize their
deployment of servers in the form of a rooted tree with each node forwarding data from its children
to its parent (e.g., log data, transactional data or forms) and vice versa (e.g., html data or streaming
data from the content provider). In the preceding example, the flow resulting from the collection
of log and transactional data is confluent. The wireless domain provides another example where ad
hoc networks of Wi-Fi access points act as forwarding agents back to the wired access point that
connects to the Internet.
Perhaps the most common application of confluent flows is in Internet routing. Most flows
on the Internet today are confluent because Internet routing is destination-based: packets passing
through a router to a given destination are all forwarded along the same outgoing link, regardless
of their source address. For example, in shortest-paths routing, a commonly used mechanism for
intra-domain routing, all packets to a given destination are routed along a shortest path tree for
the destination. Shortest-paths routing, however, ignores congestion. Furthermore, because of the
confluence constraint on routing paths, it is not possible to minimize congestion in Internet routing
simply by solving traditional multi-commodity flow problems. Instead, one must solve the following
natural problem: Given a directed graph, a set of source and destination nodes, a capacity for each
edge, and a demand for each source-destination pair, determine a minimum-congestion flow that
routes all the demand and is confluent for each destination. Here, we define the congestion of an
edge to be the ratio of the flow on the edge to its capacity, and the congestion of a flow is the
maximum congestion, among all edges.
The above confluent flow problem was posed in recent work [2], where it was shown that
minimizing confluent flow congestion is MAXSNP-hard even for the single commodity (destination)
case with uniform node demands and uniform edge capacities, and that an
e
O(
n) approximation is
achievable for an n-node graph for this special case. For the multi-commodity case, where we need
to obtain confluent flows for multiple destinations, it was shown that a logarithmic approximation is
achievable if the capacity of every edge is at least as large as the total demand for any destination [2].
In this paper, we present near-tight bounds on the approximability of single-commodity conflu-
ent flows in networks with arbitrary non-uniform demands and uniform edge capacities. We also
study the gap between the congestion of an optimal confluent flow and that of an optimal splittable
flow (which need not obey the confluence constraint). The more realistic confluent flow problems
that incorporate multiple commodities (destinations) and arbitrary edge capacities appear to be
beyond the reach of our present algorithmic techniques. We leave these as open questions for further
research that can hopefully capitalize on the techniques we develop in this paper.
1.1 Our results
Consider the single-commodity confluent flow problem with uniform edge capacities. In this case,
the congestion of an edge is simply the flow going through the edge. Therefore, the maximum
edge congestion of any confluent flow is identical to the maximum flow among the nodes that have
an edge into the destination [2]. Hence, we consider an equivalent problem where the graph is
transformed by removing the destination and designating its incoming neighbors as sinks.
1

Formally, consider a directed graph G with k distinguished nodes, referred to as sinks, and non-
negative demands on all the nodes of G. In the single-commodity multi-sink confluent flow problem,
we seek a confluent flow that routes every node demand to some sink such that the maximum
flow arriving at any sink, referred to as the congestion of the sink, is minimized. In addition to
being a useful reformulation of the original single-commodity confluent flow problem, the multi-sink
version generalizes a classic graph partitioning question studied more than three decades ago, as
we discuss below, and is thus of independent interest. The remainder of this paper will focus on
the single-commodity multi-sink confluent flow problem.
Our main result is a polynomial-time algorithm for determining a confluent flow with conges-
tion at most 1+ln(k) in G, if G admits a splittable flow with congestion at most 1 (Section 4).
We complement this result by presenting a graph G that admits a splittable flow with con-
gestion at most 1, yet no confluent flow with congestion smaller than H
k
, the k
th
harmonic
number (Section 3.1). Since H
k
= ln k+γ o(1), where γ is Euler’s constant, we have resolved
the gap between confluence and splittability to within an additive constant less than 1.
Our algorithm is based on a novel deterministic rounding of an optimal splittable flow, that repeat-
edly refines the flow by removing carefully selected edges and aggregating nodes into sinks, leading
to the desired confluent flow. It is interesting to contrast the near-optimal bound achieved by our
rounding scheme with the Ω(n
1/4
) bound achieved by a natural randomized rounding scheme, that
selects for each node an outgoing edge with probability proportional to the flow on the edge in the
splittable solution [2].
Since the optimal splittable flow congestion is a lower bound on the optimal confluent flow
congestion, our algorithm achieves a (1 + ln k)-approximation for minimizing congestion. One may
ask whether an improved approximation can be achieved efficiently.
We show that it is NP-hard to approximate the congestion of an optimal confluent flow to
within a factor of (lg k)/2,
1
thus resolving the polynomial-time approximability to within a
multiplicative constant (Section 3.2). It is interesting to note that our lower bound is not
based upon a reduction from set cover [4] and relies on a weaker precondition than that used
in the set cover hardness result.
While the bound of 1 +ln(k) on the ratio between the congestion of confluent and splittable flows is
existentially tight up to an additive constant, it is natural to wonder if there are interesting classes
of graphs for which the gap is smaller.
A positive answer to this question is provided in Section 6, in which we prove that k-connected
graphs with k sinks admit confluent flows of congestion less than C + d
max
, where C is
the congestion of the best splittable flow and d
max
is the maximum demand of any node.
In particular, this means that the ratio between confluent and splittable congestion in k-
connected graphs is at most 2. Interestingly, the proof of this existence theorem is non-
constructive and relies on topological techniques introduced in [19].
Finally, we also consider a demand maximization problem, in which we seek a confluent flow with
congestion at most 1 that maximizes the total demand of all the nodes whose demand is satisfied.
We show that if G admits a splittable flow of congestion at most 1, then a variant of the
congestion minimization algorithm yields a confluent flow in G with congestion at most 1
that satisfies 1/3 fraction of total demand (Section 5). We also show that the demand-
maximization problem is NP-hard to approximate to a factor less than 4/3 (Section 3.2).
1
Throughout this paper, we use lg to refer to log
2
.
2

Our 3-approximation result for demand maximization assumes the existence of a splittable flow
that satisfies all demands with congestion at most 1. We can eliminate this assumption at the
expense of increasing the approximation ratio by a constant factor by first determining a splittable
flow of congestion at most 1 that satisfies a constant fraction of the maximum satisfiable demand;
any of the algorithms of [3, 15] for single-source unsplittable flow would suffice for this purpose.
1.2 Related work
The bulk of our results in this paper compare confluent flows with a natural relaxation, namely
splittable flows, which are well-characterized by the celebrated max-flow min-cut theorem of Ford
and Fulkerson [5, 6]; there is a vast literature on efficient algorithms for obtaining the maximum
flow. Another relaxation of confluent flow is unsplittable flow, which requires that the demand
for every source be routed along a single path. Both the congestion minimization and demand
maximization versions of unsplittable flow may be approximated to within a constant factor using
the algorithms of [3, 15]. The relationship between the edge congestion of confluent and unsplittable
flows is addressed in [18], in which an Ω(n) separation is established, where n is the number of
nodes.
In the special case where G is an undirected graph and all vertices have unit demand, finding a
confluent flow of congestion C is equivalent to partitioning G into k distinct connected subgraphs
of size C, each containing one of the sinks. (Given such a partition, a confluent flow is obtained
by routing all flow along the edges of a spanning tree in each subgraph.) When G is k-vertex-
connected, Frank [8] conjectured in 1975 that such partitions always exist, provided that kC n.
In fact, he made the much stronger conjecture that given sinks s
1
, . . . , s
k
and positive integers
n
1
, . . . , n
k
summing to n, one could partition G into k connected subgraphs, such that the i-th
subgraph contains s
i
and has exactly n
i
vertices. This conjecture was proved independently by
Loasz [19] and Gy˝ory [12]. Lov´asz’s proof applies also to directed graphs. Our result on the
existence of confluent flows in k-connected graphs can be viewed as a weighted generalization of
this theorem, in which the vertices are given non-negative real weights (demands) and one seeks to
partition G into connected subgraphs whose total weights approximate a specified k-tuple of target
weights.
In this paper, we have entirely focused on single-commodity confluent flows. Multi-commodity
and fractional variants of confluent flows are studied in [2]. Multi-commodity confluent flows are
considered by [10, 16] in a model where the demands are not associated with individual source-sink
pairs; instead with sources or sinks, as a whole. Also related is the work of [14], which raises the
problem of finding a subtree of a given network that can route a given set of multi-commodity flow
pairs with minimum congestion. The impact of confluence on IP routing is studied in [18] and [21].
2 Confluent flow problem definitions
Let G = (V, E) denote a directed graph and d : V
+
denote a function specifying the demand,
d(v), at each vertex, v. For a set X V we define d(X) =
P
vX
d(V ). We denote the total
demand, d(V ), by D and the maximum demand, max
vV
d(v), by d
max
. Let S = {s
1
, . . . , s
k
} V
denote a set of k sinks. Any flow f : E
+
routing the demands to the sinks satisfies the flow
conservation equation
X
e=(v,w)E
f(e)
X
e=(u,v)E
f(e) = d(v)
3

Citations
More filters
Journal ArticleDOI

Journal of the ACM

Dan Suciu, +1 more
- 01 Jan 2006 - 
Proceedings ArticleDOI

On the effect of forwarding table size on SDN network utilization

TL;DR: This paper forms this problem as an (NP-hard) optimization problem and presents approximation algorithms for it and shows that practical use of these algorithms result in a significant reduction in forwarding table size, while having a small effect on the global objective.
Book ChapterDOI

The Fluid Mechanics of Liquid Democracy

TL;DR: This work analyzes the problem of choosing delegations to approximately minimize the maximum number of votes entrusted to any agent, by drawing connections to the literature on confluent flow and introduces a random graph model for liquid democracy.
Proceedings ArticleDOI

Maximum Edge-Disjoint Paths in Planar Graphs with Congestion 2

TL;DR: It is shown that for planar graphs, if LP is the optimal solution to the natural linear programming relaxation for MEDP, then there is a subset of size OPT over the logarithm of the number of nodes which is routable with congestion 2.
Patent

Single sign-on for unmanaged mobile devices

TL;DR: In this paper, a service provider receives an access request from a first client application executed in a client device, and causes the first application, using a redirection response that redirects the access request to an identity provider, to request an authentication token from a second client application, executed in the client device.
References
More filters
Book

Nonlinear Programming

Book

Algebraic topology

Allen Hatcher
Book

Flows in networks

TL;DR: Ford and Fulkerson as mentioned in this paper set the foundation for the study of network flow problems and developed powerful computational tools for solving and analyzing network flow models, and also furthered the understanding of linear programming.
Journal ArticleDOI

A threshold of ln n for approximating set cover

TL;DR: It is proved that (1 - o(1) ln n setcover is a threshold below which setcover cannot be approximated efficiently, unless NP has slightlysuperpolynomial time algorithms.
Book ChapterDOI

Maximal Flow Through a Network

TL;DR: In this paper, the problem of finding a maximal flow from one given city to another is formulated as follows: "Consider a rail network connecting two cities by way of a number of intermediate cities, where each link has a number assigned to it representing its capacity".
Related Papers (5)
Frequently Asked Questions (17)
Q1. What have the authors contributed in "(almost) tight bounds and existence theorems for single-commodity confluent flows" ?

In this paper the authors study single-commodity confluent flow problems, where they need to route given node demands to a single destination using a confluent flow. The authors present near-tight approximation algorithms, hardness results, and existence theorems for minimizing congestion in single-commodity confluent flows. Therefore, finding a minimum-congestion confluent flow is equivalent to the following problem: given a directed graph G with k sinks and non-negative demands on all the nodes of G, determine a confluent flow that routes every node demand to some sink such that the maximum congestion at a sink is minimized. The main result of this paper is a polynomial-time algorithm for determining a confluent flow with congestion at most 1 + ln ( k ) in G, if G admits a splittable flow with congestion at most 1. First, the authors present a graph G that admits a splittable flow with congestion at most 1, yet no confluent flow with congestion smaller than Hk, the k harmonic number, thus establishing tight upper and lower bounds to within an additive constant less than 1. Second, the authors show that it is NP-hard to approximate the congestion of an optimal confluent flow to within a factor of ( log 2 k ) /2, thus resolving the polynomial-time approximability to within a multiplicative constant. The authors also consider a demand maximization version of the problem. The authors show that if G admits a splittable flow of congestion at most 1, then Virginia Bioinformatics Institute, Virginia Tech, Blacksburg, VA 24061. This work was done while the author was in the College of Computer & Information Science at Northeastern University, partially supported by NSF CAREER award CCR-9983901. Parts of this work were done while the author was in the MIT Department of Mathematics, supported by a Fannie and John Hertz Foundation Fellowship, and parts were done while the author was an intern at Microsoft Research. Part of this work was done while the author was at Akamai Technologies, Cambridge, MA. Department of Mathematics and School of Computer Science, McGill University, Montreal, Quebec, H3A 2A7, Canada. Part of this work was done while the author was attending an algorithms workshop, supported by an ONR basic research grant, at Bell Labs. The authors show that the gap between confluent flows and splittable flows is much smaller, if the underlying graph is k-connected. In particular, the authors prove that k-connected graphs with k sinks admit confluent flows of congestion less than C + dmax, where C is the congestion of the best splittable flow, and dmax is the maximum demand of any node in G. The proof of this existence theorem is non-constructive and relies on topological techniques introduced by Lovász. 

A splittable flow with minimum congestion can, in fact, be found in strongly polynomial time by reducing to the perfect sharing problem, which can be solved using standard parametric maximum flow techniques [9]. 

In each iteration, the size of the graph decreases, thus yielding a polynomial bound on the running time of Conflt (a naive analysis yields an O(m2 + mn log(n2/m)) bound). 

To complete the proof of Theorem 29, assume by way of contradiction that φ misses an interior point p ∈ ∆r, and let π : ∆r −{p} → ∂∆r denote the continuous map which radially projects each point q of ∆r − {p} to the boundary by drawing a ray from p through q and continuing until the ray hits ∂∆r. 

Proof of Theorem 29: Suppose the authors are given a map φ : X → ∆r satisfying the homological vanishing criterion of Theorem 29, i.e. for any face σs ⊆ ∆r, the inverse image Y = φ−1(σs) satisfies H̃0(Y ) = . . . = H̃s−1(Y ). 

Hk = ln k+γ−o(1), where γ is Euler’s constant, the authors have resolved the gap between confluence and splittability to within an additive constant less than 1. 

In addition to being a useful reformulation of the original single-commodity confluent flow problem, the multi-sink version generalizes a classic graph partitioning question studied more than three decades ago, as the authors discuss below, and is thus of independent interest. 

because of the confluence constraint on routing paths, it is not possible to minimize congestion in Internet routing simply by solving traditional multi-commodity flow problems. 

The authors will assume, without loss of generality, that the congestion of this optimal splittable flow is 1, since this property can always be ensured by scaling all demands and flows by the congestion value. 

While the bound of 1+ln(k) on the ratio between the congestion of confluent and splittable flows is existentially tight up to an additive constant, it is natural to wonder if there are interesting classes of graphs for which the gap is smaller.• 

Both the congestion minimization and demand maximization versions of unsplittable flow may be approximated to within a constant factor using the algorithms of [3, 15]. 

S can be joined to S by k paths which are disjoint except for the common vertex v. Throughout this section, the authors will use the notation Cf (v) to denote the congestion induced by a flow f at a vertex v; the subscript f will be omitted when it is clear from context. 

In other words, a near-arborescence is a convex combination of arborescences, any of which can be transformed into any other by disconnecting and reattaching some leaves. 

The authors first present an instance where the congestion of the optimal confluent flow is at least Hk times that of the optimal splittable flow. 

In this graph, no v 6= â can be separated from â by removing fewer than s+1 vertices, so Theorem 28 ensures the vanishing of the required homology groups. 

K contains a triangle for every three arborescences obtained by taking a vertex v with three outgoing edges e, e′, e′′, and an arborescence A in G − {v}, and joining v to A using each of the three edges; and K contains a square for every four arborescences obtained by taking a pair of vertices v1, v2, each with two outgoing edges, and an arborescence A in G − {v1, v2}, and joining v1, v2 to A in each of the four possible combinations. 

The wireless domain provides another example where ad hoc networks of Wi-Fi access points act as forwarding agents back to the wired access point that connects to the Internet.