VIEWS: 8 PAGES: 11 POSTED ON: 1/30/2011
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 conuent ows, where every outdegree must be at most 1. A near- tight algorithm due to [CKLRSV] is presented for constructing conuent 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 eectively. 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 dierent 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 conuence 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 conuent 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 dened 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, dened as cf = maxv∈V c(v). Our approach is based on transforming a fractional ow of bounded congestion into a conuent 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 conuent 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 conuent 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. Dene 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 conuent ow, we will call upon a sequence of lemmas showing that the potential of the ow at every step of the algorithm that modies 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 indenitely 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 conuent ow. Hence this terminates and outputs a conuent ow. We now prove that the congestion of this conuent 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 specied constant. Theorem 2: Given a splittable ow of congestion 1 with total demand D= v∈V −S d(v), we can exhibit a conuent ow with congestion at most 1, satisfying set of nodes U ⊂ V s.t. u∈U d(u) ≥ D . 3 To yield this conuent ow, we will modify the algorithm CONFLT to get these set of nodes. The modications 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 suces 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 conuent. 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 satised. For an arbores- cence Ti with Di ≤ 1, all Di is satised. 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 satised 2 2 and we have 1 i:1<Di ≤ 3 Di satised. For Di > 3 , at least i:Di > 3 2 2 2 2 2 1 is satised, and by lemma 4 the modied CONFLT satises 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 conuent 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 specied in the expression. To see why the conuent 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 conuent ow problem variants. They showed that it is NP-hard to approximate the congestion of an optimal conuent 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 conuent. 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 conuent ow theory is the maximum concurrent conuent ow, which is the maximum concurrent ow with conuence 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 conuent ows Theorem 3: Given an optimal (non-conuent) multicommodity ow, if its congestion c is greater than or equal to the maximum demand over all sources, we can nd a conuent multicommodity ow with O(log n) congestion approximation w.r.t c The algorithm involves the Raghavan-Thompson randomized rounding approach in [RT]. Essentially we start with an optimal (non-conuent) multicommodity ow obtained by solving the linear relaxation of the in- tegral problem that allows non-conuent ows. Then using the lemma, we can decompose the ow into conuent ows per commodity. Intu- itively, randomized rounding is used to randomly select one conuent 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 conuent ow (note that conuent 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 haluent 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 haluent ows? Another problem that the author is working on is the problem of rout- ing in rounds for conuent 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 modication 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 conuent 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 conuent 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] Yem Dinitz, Department Of Computer Science, Naveen Garg, Michel X. Goemans. On the single-source unsplittable ow problem. Combina- torica, 19, 1999.