Approximate Single Source Fault Tolerant Shortest Path

Size: px
Start display at page:

Download "Approximate Single Source Fault Tolerant Shortest Path"

Transcription

1 Approximate Single Source Fault Tolerant Shortest Path Surender Baswana Keerti Choudhary Moazzam Hussain Liam Roditty Abstract Let G = (V, E) be an n-vertices m-edges directed graph with edge weights in the range [1, W ] and L = log(w ). Let s V be a designated source. In this paper we address several variants of the problem of maintaining the (1 + ɛ)-approximate shortest path from s to each v V \ {s} in the presence of a failure of an edge or a vertex. From the graph theory perspective we show that G has a subgraph H with Õ(nL/ɛ) edges such that for any x, v V, the graph H \ x contains a path whose length is a (1 + ɛ)-approximation of the length of the shortest path from s to v in G \ x. We show that the size of the subgraph H is optimal (up to logarithmic factors) by proving a lower bound of Ω(nL/ɛ) edges. Demetrescu, Thorup, Chowdhury and Ramachandran [12] showed that the size of a fault tolerant exact shortest path subgraph in weighted directed/undirected graphs is Ω(m). Parter and Peleg [18] showed that even in the restricted case of unweighted undirected graphs the size of any subgraph for the exact shortest path is at least Ω(n 1.5 ). Therefore, a (1 + ɛ)-approximation is the best one can hope for. We consider also the data structure problem and show that there exists an Õ(nL/ɛ) size oracle that for any v V reports a (1 + ɛ)-approximate distance of v from s on a failure of any x V in O(log log 1+ɛ (nw )) time. We show that the size of the oracle is optimal (up to logarithmic factors) by proving a lower bound of Ω(nL/ɛ log n). Finally, we present two distributed algorithms. We present a single source routing scheme that can route on a (1 + ɛ)-approximation of the shortest path from a fixed source s to any destination t in the presence of a fault. Each vertex has a label and a routing table of Õ(L/ɛ) bits. We present also a labeling scheme that assigns each vertex a label of Õ(L/ɛ) bits. For any two vertices x, v V the labeling scheme outputs a (1 + ɛ)- approximation of the distance from s to v in G\x using only the labels of x and v. 1 Introduction In this paper we address several computational aspects of the problem of maintaining single-source approximate shortest paths for weighted directed graphs in the presence of failure. Let s be any designated source This research was partially supported by Israel Science Foundation (ISF) and University Grants Commission (UGC) of India. The research of the second author was partially supported by Google India under the Google India PhD Fellowship Scheme. Department of CSE, I.I.T. Kanpur, India. (sbaswana@cse.iitk.ac.in). Dept. of Comp. Sc., Weizmann Institute of Science, Israel. (keerti.india@gmail.com). WorldQuant Research, India. (moazzamh94@gmail.com). Department of Comp. Sc., Bar Ilan University, Israel. (liam.roditty@biu.ac.il). vertex in graph G = (V, E) and ɛ be any positive fraction. We first consider the problem of computing a sparse subgraph H of G that for any x, v V contains a (1+ɛ)-multiplicative approximation of the shortest path from s to v in G \ {x}. Such a subgraph H is referred as a fault tolerant (1 + ɛ)-shortest path subgraph. Demetrescu, Thorup, Chowdhury and Ramachandran [12] showed that the size of a fault tolerant exact shortest path subgraph in weighted directed/undirected graphs is Ω(m) and therefore a (1 + ɛ)-approximation is the best that one can hope for. Parter and Peleg [18] showed that even in the case of unweighted undirected graphs there are graphs such that the size of their fault tolerant exact shortest path subgraph is at least Ω(n 1.5 ). Bilò, Gualà, Leucci, and Proietti [5] showed that any weighted undirected graph has a fault tolerant (1 + ɛ)-shortest path subgraph of size O((1/ɛ 2 )n log n). Their result, however, uses techniques that rely heavily on the undirectedness of the graph and therefore cannot be extended to weighted directed graphs. A fault tolerant (1 + ɛ)-shortest path subgraph for directed graphs is important both from theoretical and practical point of views. From the theoretical point of view it is always an intriguing challenge to match or almost match in directed graphs the bounds that are known for undirected graphs. Finding small size subgraphs for directed graphs that preserve distance related properties of the graph is a hard task since many of the standard tools that are being used in undirected graphs rely on the fact that distances in undirected graphs are symmetric which is obviously not the case in directed graphs. Graph spanners are probably the most notable example for a separation between undirected and directed graphs. For every weighted undirected graph there is a subgraph with O(n 1+1/k ) edges that approximates the distances with a multiplicative stretch of 2k 1 [20]. It is very easy to see that such a general result is not possible for directed graphs since no subgraph can approximate all distances of a complete bipartite graph. The second problem that we address is designing a single source compact routing scheme that after any failure is able to route on paths that are stretched by a factor of at most (1 + ɛ). From the practical point of view there are network routing scenarios in

2 which routers only need to know which outgoing link to choose to get on a shortest path to a packet destination. More specifically, the Autonomous System s link-state database that is used by the Open Shortest Path First (OSPF) TCP/IP internet routing protocol is a directed graph [16]. Therefore, designing a single source routing scheme that is resilient to link failures in directed graphs is of real practical need. Lastly, we present an efficient oracle for reporting (1 + ɛ)-approximate distances from a source vertex after an occurrence of a failure. We also present a distributed implementation of this oracle (a labeling scheme). Next, we formally state our results. All our results hold for the general case of weighted directed graphs where edge weights are assumed to be in the range [1, W ]. Sparse subgraph. We show that it is possible to compute a subgraph H G with O(n log 3 (n) log 1+ɛ (nw )) edges such that for every v, x V, the distance of v from s in H \ {x} is at most (1 + ɛ) times the distance from s in G\{x}. Moreover, the in-degree of each vertex in H is bounded by O(log 4 (n) log 1+ɛ (nw )). We also establish a lower bound of Ω(n log 1+ɛ W ) on the size of such a subgraph. Oracle. We can build a data structure of size O(n log 1+ɛ (nw )) that can report in O(log log 1+ɛ (nw )) time, for every x, v V, a (1 + ɛ)-approximate distance of v from s in G\{x}. Also, we show that the size of the oracle is optimal (up to logarithmic factors) by proving a lower bound of Ω(n log 1+ɛ (W )/ log n). Our lower bound is independent of the time needed for reporting the (1 + ɛ)-approximate distances. Labeling scheme. Using this data structure we can also get a very compact labeling scheme for reporting approximate distances from s under any vertex failure. Each vertex will store a label of O(log 1+ɛ (nw ) log n) bits such that for any failing vertex x and a destination vertex v, it is possible to determine the (1 + ɛ)- approximate distance of v from s in G\{x} by processing the labels associated with v and x only. Routing. We provide a single source routing scheme that can route on a (1 + ɛ)-approximate shortest path from source s to any destination v V in the presence of a fault. Each vertex has a label of O(log 4 (n) log 1+ɛ (nw )) bits and a routing table of O(log 5 n log 1+ɛ (nw )) bits. When the routing is started at the source the labels of the faulty vertex and the destination vertex are assumed to be known. It must be noted that we describe all our constructions with respect to vertex failure only. Edge failure can be handled by inserting a vertex, say z uv, in middle of each tree edge (u, v) on the shortest path tree rooted at source s. So the deletion of tree edge (u, v) is equivalent to deletion of vertex z uv. 1.1 Related work For undirected graphs, Baswana and Khanna [2] showed a fault tolerant 3-shortest path subgraph with O(n log n) edges. Parter and Peleg [19] improved this result by showing that such a subgraph exists with 3n edges. Bilò, Gualà, Leucci, and Proietti [5] showed that any weighted undirected graph has a fault tolerant (1+ɛ)-shortest path subgraph of size O((1/ɛ 2 )n log n). Parter and Peleg [18] showed that any unweighted (un)directed graph has a fault tolerant exact shortest path subgraph with O(n 3/2 ) edges. They also showed a matching lower bound. Parter [17] extended this result to two edge failures with O(n 5/3 ) edges but only for undirected graphs. She also showed a lower bound of Ω(n 5/3 ). Recently, Gupta and Khan [15] extended the work of [17] to vertex failures and directed graphs. For the case of multiple edge faults, Bilò et al. [6] obtain a k-fault tolerant (2k+1)-shortest path subgraph with O(kn) edges again only for undirected graphs. They also showed that there is a data structure of size O(kn log 2 n) that reports the (2k + 1)-approximate distance from s in O(k 2 log 2 n) time. For preserving exact distances in (un)directed graphs, Bodwin et al. [7] obtain a construction of a k-fault tolerant subgraph with Õ(kn 2 1/2k ) 1 edges. In the case of all-pair shortest paths (APSP), Demetrescu, Thorup, Chowdhury and Ramachandran [12] showed that we can build an O(n 2 log n) size data structure that can report the distance from u to v avoiding x for any u, v, x V in O(1) time. The construction time of their data structure is O(mn 2 + n 3 log n). Bernstein and Karger further improved the preprocessing time to Õ( mn 2 ) [3] and finally to Õ(mn) [4]. The latter preprocessing time matches, up to poly-logarithmic factors, the best known runtime for the APSP in the same setting. Duan and Pettie [14] extended the result of [12] to dual failures by designing a data structure of O(n 2 log 3 n) space that can answer any distance query upon the failure of two vertices in O(log n) time. The authors of [14] comment that their techniques do not seem to be extensible beyond two failures, and even an oracle for three failures seem too hard to achieve. In undirected graphs, the questions of finding graph spanners, approximate distance oracles and compact routing schemes that are resilient to f vertex or edge failures have been studied in [8, 9, 10, 13]. 1.2 Organization of the Paper We describe notation and terminology in Section 2. In Section 3 we 1 Õ() hides the poly-logarithmic factors.

3 provide the main ideas used in our paper. We present a randomized algorithm for computing a fault tolerant (1 + ɛ)-shortest path subgraph in Section 4. In order to use it for routing, the subgraph should satisfy some additional property. We present a deterministic algorithm for computing the subgraph with this additional property in Section 5. As a byproduct we are also able to bound the in-degree of the vertices in the subgraph. The oracle and the labeling scheme are described in Section 6, and the routing scheme is described in Section 7. In Section 8, we present our lower bounds. 2 Preliminaries Let G = (V, E) be a directed graph on n = V vertices and m = E edges, and s V be the designated source vertex. We assume that the weight of each edge is a real number greater than one and bounded above by some threshold, say W. Below we introduce some of the notation that will be used throughout the paper. wt(u, v): Weight of edge (u, v) in G. wt(p ): Weight of path P in G, that is, if P is (u 0,..., u t ) then wt(p ) = t 1 i=0 wt(u i, u i+1 ). T : A shortest path tree of G rooted at s. T (v): Subtree of T rooted at a vertex v. parent T (v): Parent of vertex v in T. path T (a, b): Path from vertex a to vertex b in T. path T (ā, b): path T (a, b) \ {a}. path T (a, b): path T (a, b) \ {b}. depth T (v): Depth of vertex v in T. P [, b]: The prefix of path P up to vertex b, assuming that b lies in P. P [a, b]: The sub-path of path P lying between vertices a, b, assuming a precedes b on P. σ(p ): Subsequence of those vertices of path P whose incoming edge in the path is a non-tree edge. freq(w, C): The number of sequences of set C in which vertex w appears. P ::Q : The path formed by concatenating paths P and Q in G. Here it is assumed that the last vertex of P is the same as the first vertex of Q. dist H (u, v): Distance of v from u in graph H. G \ x: Graph obtained by deleting node x from G. powers(c): Set of all powers of c in range [1, nw ]. We start by defining a detour: Definition 2.1. A simple path P = (u 0,..., u t = v) in G is said to be a detour to v with respect to T if u 0 is an ancestor of v, and for 0 < i < t, none of the u i s is an ancestor of v in T. Notice that it follows from the above definition that tree edges and forward edges are also detours of size one. Next, we define a special class of detours, the tree-path favouring detours, that will be used in our constructions. Definition 2.2. A detour D from u to v is a tree-path favouring detour if for any a, b D \ {u, v}, where a precedes b in D and a is an ancestor of b in T, it holds that the segment D[a, b] is a tree path. It is easy to see that if a detour is not a treepath favouring detour then we can easily convert it into a tree-path favouring detour, by repeatedly replacing segment D(a, b) with the tree path path T (a, b). Since T is the shortest path tree, by doing this we do not increase the weight of the detour. So, henceforth we can assume that all the detours referred in paper are tree-path favouring detours. For the sake of simplicity we use the following alternative weight function (usually known as the Johnson transformation) which is quite popular in the literature of shortest paths. wt (u, v) := wt(u, v) + dist G (s, u) dist G (s, v) It is easy to see that for any edge (u, v), wt (u, v) is non-negative. Also if (u, v) is a tree edge then wt (u, v) must be zero. From the next lemma it follows that for any detour D, wt (D) must be bounded by nw. Lemma 2.1. Let a, b T be such that a is an ancestor of b, and let P be any path from a to b. Then, wt (P ) = wt(p ) dist G (a, b). Proof. Let P be equal to (a = a 0,..., a t = b). So wt (P ) = t i=1 wt (a i 1, a i ) = t i=1 (wt(a i 1, a i ) + dist G (s, a i 1 ) dist G (s, a i )) = dist G (s, a 0 ) dist G (s, a t ) + t i=1 wt(a i 1, a i ) = wt(p ) + dist G (s, a) dist G (s, b) Thus we get wt (P ) = wt(p ) dist G (a, b). In the next Lemma we show an important property of certain detours which we use for constructing our subgraph. This Lemma uses the new weight function and exemplifies its significance. Lemma 2.2. Let x, v V be such that x is an ancestor of v in T. There is a shortest path from s to v in

4 G \ x of the form - path T (s, a)::d::path T (b, v), where D is a detour starting from a vertex a path T (s, x) and terminating at a vertex b path T ( x, v) for which wt (D) is minimum. Proof. Let P be some shortest path from s to v in G\x. Let a be the last vertex of P that is also in path T (s, x), and let b be the first successor of a in P that is in path T ( x, v). It is easy to see that such two vertices a, b must exist. By the detour definition it also follows that P [a, b] is a detour for b, as none of its internal vertices can be an ancestor of b. Thus we can set D to be P [a, b]. Since T is the shortest path tree we can replace the segments P [s, a] and P [b, v] with path T (s, a) and path T (b, v), respectively, without increasing the total weight. Thus the path Q = path T (s, a)::d::path T (b, v) forms a shortest path from s to v in G \ x. Note that wt(q) = dist G (s, v) + (wt(d) dist G (a, b)) which equals dist G (s, v) + wt (D). For every other path of the form path T (s, a )::D ::path T (b, v), where a path T (s, x) and b path T ( x, v), it holds that wt(q ) = dist G (s, v) + wt (D ). Now since wt(q) = wt(p ) and P is a shortest path it follows that D must be a detour with minimum wt value among all detours which starts at a vertex in path T (s, x) and terminates at a vertex in path T ( x, v). Q We now state a simple lemma that will be used to obtain a randomized construction for sparse subgraph. Lemma 2.3. Let C be a collection of at most n 2 subsets of V each of size exactly 4c ln(n). If we pick a subset S of V of size n/c uniformly at random, then with probability at least 1 1/n 2, for each set W C, W S is non-empty. Proof. Let t = (4c ln(n)). Note that there are a total of ( n n/c) possibilities for set S. Now for any subset A C, the probability that A S is empty is ( n t n/c ( n n/c ) ( n t ) n ) n/c ( = 1 1 ) n/c ( = n/t 1 4 ln(n) n/c ) n/c which is at most 1/n 4. On applying union bound we get that probability there exists a W C for which W S is non-empty is at most 1/n 2. 3 Main Ideas For any α > 0, let HD α (v) be a detour that originates from the highest possible ancestor of v in T and terminates at v such that its weight wt (HD α (v)) is less than or equal to α, that is, there is no other detour that ends at v and starts at a higher ancestor of v whose weight is bounded by α. We denote the first vertex of HD α (v) with first α (v). Consider the following subgraph: H = T ( ) HD α (b) b V α powers(1+ɛ) For any x, v V, the graph H \ x contains a (1 + ɛ)- approximation of the shortest path from s to v in G \ x. This is because if the shortest path takes a detour D from a to b to avoid x, then H will contain a detour D that starts at a or one of its ancestors, ends at b and wt (D ) (1 + ɛ)wt (D). Based on this key observation, we are able to compute an oracle of size O(n log 1+ɛ (nw )) for reporting (1 + ɛ)-approximate distance from the source upon failure of any vertex in O(log log 1+ɛ (nw )) time. Though the subgraph H can be seen as a fault tolerant (1+ɛ)-shortest path subgraph, its size can be as large as Θ(m). This is because even a single detour may contain n edges. So storing HD α (v) for each v and each α may require Ω(m) space in the worst case. In order to achieve sparseness for H, our starting point is the sub-structure property of HD α (v) stated in the following lemma. Lemma 3.1. Let D = HD α (v) be a detour for v, for some α > 0. Then for any vertex w σ(d), the segment D[, w] is also a detour. Proof. Let u be the first vertex on D, that is, u = first α (v). We first show that all the vertices of D must lie in the subtree T (u). Assume this is not the case, and let y be the last vertex of D that is not in the subtree T (u). Also let z be the Lowest Common Ancestor (LCA) of y and u. Consider the path D = path T (z, y)::d[y, v]. It is easy to see that D is a detour for v. Also the set of non-tree edges of D is a subset of the non-tree edges of D, thus wt (D ) wt (D) α. But this contradicts the definition of D, as D is a detour for v starting from an ancestor of u with wt at most α. From the above discussion it follows that u must be an ancestor of w. Therefore, it suffices to show now that none of the internal vertices of D[u, w] are ancestors of w. Let us suppose there exists a vertex z D[u, w] (z u, w) such that z is an ancestor of w. But in such a case we can replace the segment D[z, w] of detour D with path T (z, w), thereby contradicting the fact that D is a tree path favoring detour. Hence D[u, w] cannot pass through any ancestor of w, except for the starting vertex u. It follows from Lemma 3.1 that for any w σ(hd α (v)), if H contains a (1 + ɛ)-approximation of the detour HD α (v)[, w], then on including just the suffix HD α (v)[w, v], we can see that H will contain a

5 (1 + ɛ)-approximation of HD α (v). A simple way to include a (1+ɛ)-approximation of the detour HD α (v)[, w] would be to add to H the detours HD β (w), for each β powers(1 + ɛ). However, to get a sparse subgraph instead of including each HD β (w), we can use the same trick recursively and include a further (1 + ɛ)- approximation of HD β (w). This motivates for a hierarchical computation of H in some k( 2) rounds where in a round we only add a short suffix of HD α (v) to the subgraph H, and we move its prefix (which is a detour in itself) to the next round to be processed recursively. This constitutes the main idea for constructing a sparse subgraph and a compact routing scheme for approximate shortest paths from s under failure of any vertex. 4 Sparse Subgraph For the sake of better exposition of the algorithm, we first present the construction of a subgraph with Õ(n 1.5 log 1+ɛ (nw )) edges using a hierarchy of two levels. In the next subsection, we extend it to a k- level hierarchical construction that achieves a bound of Õ(n log 1+ɛ (nw )) on the size of the subgraph. 4.1 Sparse subgraph with Õ(n1.5 log 1+ɛ (nw )) edges In this subsection, we give a construction of a sparse subgraph H with Õ(n1.5 log 1+ɛ (nw )) edges that with high probability 2 preserves the approximate shortest paths from s after a failure of any vertex. The underlying idea used in the construction of this subgraph is the following. We pick a small set S of vertices uniformly and at random. For each v S and for each α powers(1 + ɛ), we include HD α (v) in the subgraph H. We cannot afford to include HD α (u) for every u V \S so we include only a small suffix of HD α (u). Due to the random sampling used to construct S, it turns out that if HD α (u) is long, then its small suffix will have a vertex, say w, from S. The detour to w concatenated with the small suffix of HD α (u) will preserve HD α (u) approximately. In Algorithm 4.1 we present the pseudocode for computing a subgraph H with Õ(n1.5 log 1+ɛ (nw )) edges that is based on this idea. We first show that with high probability any long detour (> n) has in its n length suffix at least one vertex from set S. Lemma 4.1. With high probability the following holds - For each α powers(1+ɛ) and each v V, if HD α (v) contains more than n non-tree edges, then the last n vertices of σ(hd α (v)) contain a vertex from set S. 2 Throughout the paper we use the term with high probability (w.h.p.) to denote that the probability of the respective event is at least 1 1/n 2. Algorithm 4.1: Computation of subgraph with Õ(n 1.5 log 1+ɛ (nw )) edges. 1 H T ; 2 foreach v V and α powers(1 + ɛ) do 3 Add last n non-tree edges of HD α (v) to H; 4 S A uniformly random set of 4 n log e n vertices; 5 foreach v S and α powers(1 + ɛ) do 6 Add all non-tree edges of HD α (v) to H; Proof. Consider the collection C defined below. C = {last n vertices of σ(hd α (v)) v V, α powers(1 + ɛ), σ(hd α (v)) > n} The collection C will contain at most n 2 sets (each of size n), since for any vertex v we can have at most n detours corresponding to n ancestors of v in T. So, the result follows by simply applying Lemma 2.3. We will now show that upon a failure of any vertex x, the shortest paths from s in graph G\x are stretched by a factor of at most (1 + ɛ) 2 in H\x. Lemma 4.2. For every two vertices x, v V, w.h.p, dist H\x (s, v) (1 + ɛ) 2 dist G\x (s, v). Proof. Let P be the shortest path from s to v in G\x. If x is not an ancestor of v in T then P will be just the tree path from s to v in T. Thus let us consider the case when x is an ancestor of v. By Lemma 2.2, the path P can be represented as path T (s, a)::d::path T (b, v), where D is a detour avoiding x. We take α to be the smallest power of (1 + ɛ) greater than wt (D). Let us consider the following two cases separately. Case 1 : HD α (b) contains at most n non-tree edges. In this case HD α (b) will lie in subgraph H. Since α wt (D), first α (b) must be either equal to a or an ancestor of a. So instead of detour D, we can just follow the detour HD α (b). Thus the concatenation Q = path T (s, first α (b))::hd α (b)::path T (b, v) forms a path from s to v in H \ x. Also, wt (Q) is at most (1 + ɛ)wt (P ), as under the weight function wt, tree edges get zero weight. Case 2 : edges. HD α (b) contains more than n non-tree In this case Lemma 4.1 implies that w.h.p. the last n vertices of σ(hdα (b)) must contain a vertex, say

6 w, from set S. So the segment HD α (b)[w, b] will lie in H because the last n non-tree edges of HD α (b) are included in H. Also, by Lemma 3.1, the prefix HD α (b)[, w] is a detour for vertex w. We further consider the following subcases. (See Figure 1). (i) If x is not an ancestor of w, then simply take Q as path T (s, w)::hd α (b)[w, b]::path T (b, v). Since wt (HD α (b)[w, b]) wt (HD α (b)) (1 + ɛ)wt (D), we get that wt (Q) (1 + ɛ) wt (P ). (ii) We now consider the subcase when x is an ancestor of w in T. Notice that prefix HD α (b)[, w] is not included in H, but we can take a further (1 + ɛ)- approximation of it. Let β be the smallest power of (1 + ɛ) greater than wt (HD α (b)[, w]). Since w S, HD β (w) will lie in subgraph H. So we take Q as path T (s, first β (w))::hd β (w)::hd α (b)[w, b] concatenated with path T (b, v). Notice that HD β (w) cannot contain x, since first β (w) is either same as or an ancestor of the first vertex of HD α (b)[, w]. Finally wt (HD β (w)::hd α (b)[w, b]) is bounded by (1+ɛ)wt (HD α (b)) (1+ɛ) 2 wt (D). Hence, wt (Q) is at most (1 + ɛ) 2 wt (P ). In all the above cases/subcases, we were able to show that w.h.p. there exists a path Q such that wt (Q) (1 + ɛ) 2 wt (P ). Now as s is ancestor of v, on adding dist G (s, v) on both sides and applying Lemma 2.1, we get that wt(q) (1 + ɛ) 2 wt(p ). edges such that with high probability following relation holds: For any x, v V, dist H\x (s, v) (1 + ɛ) 2 dist G\x (s, v). 4.2 Sparse subgraph with Õ(n log 1+ɛ(nW )) edges In the Õ(n1.5 log 1+ɛ (nw )) size subgraph described in the previous subsection, we constructed a 2-level hierarchy of vertices, namely, S and V. The detour to vertices in set S and the short suffixes of detours of vertices in V could preserve every detour D up to a stretch of (1 + ɛ) 2. In order to further improve the size of the subgraph, we form a finer hierarchy of subsets of vertices: S 1,..., S k for some k > 2. As we go up in this hierarchy, the size of these sets decreases and thus we can afford to store longer suffixes of detours from their vertices. In particular, for a given i [1, k], S i will have at most n 1 (i 1)/k vertices and from each vertex v S i, we store suffixes of Õ(ni/k log 1+ɛ (nw )) length. Similar to the 2-level case, a combination of k types of these detour suffixes will preserve every detour D up to a factor (1 + ɛ) k. We now formalize this key idea by defining a (1 + ɛ, t)-preserver of a detour as follows. Definition 4.1. Let D be a detour from u to v, ɛ (0, 1) be some real number, and t be some positive integer. Also let α be the smallest power of (1+ɛ) greater than or equal to wt (D). Then a (1 + ɛ, t)-preserver of D is a path in G obtained as follows. (See Figure 2). 1. If t = 1, then a (1 + ɛ, 1)-preserver of D is just HD α (v). 2. If t > 1, then it is obtained by concatenating (i) a (1 + ɛ, t 1)-preserver of prefix HD α (v)[, w], and (ii) the suffix HD α (v)[w, v], for some vertex w σ(hd α (v)). (i) (ii) Remark 4.1. For Definition 4.1 to be well defined we require that HD α (v)[, w] is a detour for vertex w. This is indeed true since w σ(hd α (v)), and the proof follows from Lemma 3.1. Figure 1: Approximate shortest path from s to v in H\x in the subcases: (i) x is not an ancestor of w in T, and (ii) x is an ancestor of w. We conclude with the following theorem. Theorem 4.1. Let G be a directed weighted graph on n vertices with maximum edge weight W and s be the designated source vertex. Then we can compute in polynomial time a subgraph H with O ( n 1.5 log(n) log 1+ɛ (nw ) ) The following lemma (with proof in Appendix) shows the significance of a (1+ɛ, t)-preserver. The proof of the lemma is similar to proof of Lemma 4.2. Lemma 4.3. Let D be a detour from a to b, and H be a subgraph of G containing tree T and a (1 + ɛ, t)- preserver for D. Then for any internal vertex x lying on path T (a, b), the graph H \ x contains a path, say Q, from s to b whose weight (i.e. wt(q)) is at most (1+ɛ) t times wt(path T (s, u)::d).

7 Algorithm 4.2: Computation of subgraph with Õ(n log 1+ɛ (nw )) edges. 1 H T ; 2 S 1 V (G); 3 for i = 1 to k-1 do 4 S i+1 A uniformly random subset of V of size O(n/n i/k ); 5 foreach v S i and α powers(1 + ɛ) do 6 foreach w suffix ( σ(hd α (v)), S i+1 ) do 7 Add incoming edge of w in HD α (v) to H; Figure 2: The path highlighted in yellow color depicts a (1 + ɛ, 3)-preserver of detour D. Here α, β, γ are respectively smallest powers of (1 + ɛ) greater than or equal to weight of (i) D, (ii) HD α (b)[, w], and (iii) HD β (w)[, u]. We now describe the algorithm for computing the sparse subgraph H. The algorithm consists of k rounds that operate on k sets, namely, S 1, S 2,..., S k as follows. Let S 1 = V be the initial set. In any round i < k, we first compute a uniformly random subset of V of size O(n/n i/k ), and move these vertices to S i+1. Next for each each v S i and each α powers(1 + ɛ), 1. If σ(hd α (v)) does not contain any vertex from S i+1, then the complete detour HD α (v) is added to H. 2. Otherwise, if z is the last vertex of σ(hd α (v)) that lies in S i+1, then only the suffix HD α (w)[z, w] is added to H. Finally in round k, for each each v S k and each α powers(1 + ɛ), we add HD α (v) to H. Also the shortest path tree T is added to the graph H. Algorithm 4.2 presents the pseudocode for this construction. In the algorithm, we use the notation suffix(σ, A) to denote the maximal suffix of σ that does not contain an element of A, where σ is any sequence of vertices and A is a subset of V. Notice that, instead of step 1 and step 2 stated above, we can equivalently just say that for each w suffix ( ) σ(hd α (v)), S i+1, the incoming edge of w in HD α (v) is added to H. The following lemma (with proof in Appendix) shows that the subgraph H contains a (1+ɛ, k)-preserver for each possible detour D in G. Lemma 4.4. The graph H computed by Algorithm 4.2 contains a (1 + ɛ, k)-preserver for each possible detour D in G. 8 foreach v S k and α powers(1 + ɛ) do 9 Add HD α (v) to H; Lemma 4.3 along with Lemma 4.4 implies that upon failure of any vertex x, the shortest paths from s in graph G\{x} are stretched by a factor of at most (1 + ɛ) k in H\{x}. We now do the analysis of the size of subgraph H. Lemma 4.5. With high probability, H = O(k n 1+1/k log n log 1+ɛ (nw )). Proof. It is easy to see that for any i [1, k], S i = O( n1+1/k ). Consider the collection defined below. n i/k C = {σ(hd α (v)) v S i, α powers(1 + ɛ)} The collection C will contain at most n 2 sets as for any vertex v we can have at most n detours corresponding to n ancestors of v in T. From Lemma 2.3 it follows that for each σ(hd α (v)) of size greater than n i/k log n, w.h.p. the last n i/k log n vertices of σ(hd α (v)) will contain a vertex from S i+1. In other words, w.h.p. for each v S i and each α powers(1+ɛ), suffix ( σ(hd α (v)), S i+1 ) is of size at most n i/k log n. So for any vertex v in S i we add at most n i/k log n log 1+ɛ (nw ) edges in Step 7. Since S i = O( n1+1/k ), and i ranges from 1 to k, w.h.p. n i/k H contains O(k n 1+1/k log n log 1+ɛ (nw )) edges. We thus get the following lemma. Lemma 4.6. Let G be a directed weighted graph on n vertices with maximum edge weight W and s be the designated source vertex. Then we can compute in polynomial time a subgraph H satisfying the following: for any x, v V, dist H\x (s, v) (1 + ɛ) k dist G\x (s, v). The size of H is O ( kn 1+1/k log(n) log 1+ɛ (nw ) ) with high probability.

8 On substituting ɛ new = ɛ old /(2k), and k = log 2 (n) in Lemma 4.6 we get the following theorem. Theorem 4.2. Let G be a directed weighted graph on n vertices with maximum edge weight W and s be the designated source vertex. Then we can compute in polynomial time a subgraph H satisfying the following relation: for any x, v V, dist H\x (s, v) (1 + ɛ)dist G\x (s, v). The size of H is O ( n log 3 (n) log 1+ɛ (nw ) ) with high probability. 5 Precursor to a Compact Routing In the last section, we showed a construction of a sparse subgraph H that contained a (1+ɛ, k)-preserver of each detour in G. In this section we slightly modify the construction of subgraph H which will help us later in obtaining an efficient routing scheme. Recall that a (1+ɛ, k)-preserver in H is a concatenation of at most k suffixes of detours, that were added to H in the k distinct rounds of Algorithm 4.2. Our routing scheme upon failure of any node x will route packets along these suffixes. In order to efficiently route along a suffix of a (1 + ɛ, k) preserver, we require that each vertex on the suffix knows its successor on the suffix. Now if the frequency of a vertex w in all the suffixes included in H by Algorithm 4.2 is small, then the routing table required at w will be small. Thus as a precursor to routing we require that the frequency of any vertex in the suffixes added to H is bounded. More formally, if Q 1,..., Q t are the suffixes added in a round i of Algorithm 4.2, then we need that the frequency of each vertex in {σ(q 1 ),.., σ(q t )} is small. Though Algorithm 4.2 ensures that the average frequency of a vertex is Õ(log 1+ɛ (nw )), it fails to provide any bound on the maximum frequency. Recall that in any round, say i, of Algorithm 4.2, we compute the next subset S i+1 using random sampling. Instead of building this hierarchy of subsets randomly, we present in this section a deterministic algorithm that employs more insight into the structure of the suffixes. We now explain our algorithm for deterministically computing the set S i+1 from the set S i. The input to the algorithm is the collection C = {σ(hd α (v)) v S i, α powers(1 + ɛ)} and a parameter d to be fixed later on. Given a sequence σ, let first-half(σ) and second-half(σ) respectively denote the subsequences of σ obtained by splitting it at midpoint. Our first step is to compute collections C 1 and C 2 by splitting each σ C at midpoint, and adding first-half(σ) to C 1 and second-half(σ) to C 2. Next we repeat the following two steps as long as there exists a vertex whose frequency in C 2 is greater than d log n: (i) Pick such a vertex (say w) and add it to set S; (ii) Remove from C 2 each sequence σ in which w is present. It easy to see that set S will be of size at most C 2 /(d log n) = C /(d log n). Algorithm 5.1: Det-Construction(C, d) 1 C 1 {first-half(σ) σ C}; 2 C 2 {second-half(σ) σ C}; 3 S ; 4 while w V s.t. freq(w, C 2 ) > d log n do 5 S S {w}; 6 Remove all those σ from C 2 that contains vertex w; 7 C new ; 8 foreach σ C do 9 if second-half(σ) S then add suffix(σ, S) to C new ; 10 if second-half(σ) S = then add first-half(σ) to C new ; 11 Return ( S Det-Construction(C new, d) ) ; a sequence in Collection of sequences in which frequency of every vertex is bounded Collection of sequences left to be processed Figure 3: Divide and conquer approach: vertices in red color represent the set S. Consider any sequence σ C. Let us first consider the case when second-half(σ) S is non empty. (See Figure 3). If suffix(σ, S) has no vertex of large frequency, then we are done with this sequence. However, it is quite possible that suffix(σ, S) may still have vertices of large frequency. But, in this case, we are left to take care of only suffix(σ, S), whose length is at most σ /2, for the computation of the set S i+1. We now show how to take care of those sequences whose second-half does not contain any vertex from S. Let C denote the set of all those σ in C for which second-half(σ) S is empty. Notice that the frequency of each vertex in the collection {second-half(σ) σ C } is bounded by d log n. So for any σ C, we can safely discard second-half(σ) and consider only first-half(σ) for the computation of S i+1. Thus, in this case also the length of sequence has been reduced to at most half.

9 The above discussion motivates us to design a recursive algorithm that performs at most log n recursions to obtain the desired set S i+1. In Algorithm 5.1 we present the pseudocode of our construction. Since in each recursive call of Det-Construction, the set S included into S i+1 is of size at most C /(d log n), the size of the set S i+1 is at most C /d. Also in each recursive call the frequency of vertices increases by at most d log n, thus the set S i+1 will satisfy the condition that frequency of each vertex in {suffix(σ, S i+1 ) σ C} is bounded by d log 2 n. Recall that in Algorithm 4.2, S i n/n (i 1)/k, and thus C n/n (i 1)/k log 1+ɛ (nw ). By our construction in Algorithm 5.1, we will have that S i+1 is at most C /d, which we required to be bounded by n/n i/k. This shows that d must be n 1/k log 1+ɛ (nw ). Finally notice that the frequency of each vertex v in the set of all suffixes added during round i will be bounded by d log 2 n = n 1/k log 1+ɛ (nw ) log 2 n. We thus have the following lemma. Lemma 5.1. Let G be a directed graph on n vertices. There exists a construction for sets S 1, S 2,..., S k in Algorithm 4.2 satisfying the following conditions. 1. For any index i, S i+1 n/n i/k. 2. For any index i, frequency of each vertex in {suffix(σ(hd α (v)), S i+1 ) v S i, α powers(1 + ɛ)} is at most n 1/k log 2 n log 1+ɛ (nw ). 5.1 A sparse subgraph with bounded in-degree We here show that the alternative construction of sets S 1,..., S k also gives a bound on the in-degree of each vertex in the sparse subgraph H. Notice that in Algorithm 4.2, an incoming edge is added to a vertex w only if w suffix ( ) σ(hd α (v)), S i+1, for some v in Si and α powers(1 + ɛ). So the number of incoming edges added to a vertex in round i is exactly equal to frequency of that vertex in {suffix(σ(hd α (v)), S i+1 ) v S i, α powers(1 + ɛ)}. Therefore, Lemma 5.1 gives a bound of kn 1/k log 2 n log 1+ɛ (nw ) on the in-degree of each vertex in the sparse subgraph preserving distances (1 + ɛ) k approximately. On substituting ɛ new = ɛ old /(2k), and k = log 2 n we get the following theorem. Theorem 5.1. Let G be a directed weighted graph on n vertices with maximum edge weight W and s be the designated source vertex. Then in polynomial time we can compute a sparse subgraph H satisfying the following. 1. For any x, v V, dist H\x (s, v) is less than or equal to (1 + ɛ)dist G\x (s, v). 2. The in-degree of each vertex in graph H is at most O ( log 4 (n) log 1+ɛ (nw ) ). 6 An Oracle and a Labeling Scheme We first describe a fault tolerant oracle for reporting approximate distances from s. Let v be the query vertex and x be the failed vertex. If x is not an ancestor of v, then the shortest path is the tree path path T (s, v) which remains intact in G\x. So let us consider the more interesting case in which x is an ancestor of v. From Lemma 2.2 it follows that one of the shortest paths to v in G \ x is of the form - path T (s, a)::d::path T (b, v), where D is a detour avoiding x, and its weight is dist G (s, v) + wt (D). Notice that if α 0 is the smallest power of (1 + ɛ) for which there exists a vertex b 0 path T ( x, v) with HD α0 (b 0 ) starting from an ancestor of x in T, then the value dist G (s, v) + α 0 would be a (1 + ɛ) approximation of dist G\x (s, v). Thus in order to compute an approximation of dist G\x (s, v) we need to compute this α 0 efficiently. We now describe our data structure that accomplishes this task. For each α powers(1 + ɛ), we create a copy of T and denote it by T α. For each vertex y T α, we set the weight of edge (parent Tα (y), y) as depth T (first α (y)). Thus the edge weights in any tree T α are integers in the range [0, n 1]. Notice that for any α powers(1+ɛ), there will exist a detour starting from an ancestor of x and terminating at a vertex of path T ( x, v) with wt at most α if and only if the weight of the minimum weight edge on path Tα ( x, v) is smaller than depth T (x). The smallest such α can be easily computed using the Bottleneck Edge Query (BEQ) data structure of Demaine et al. [11] for each of the trees T α. Theorem 6.1. (Demaine et al. [11]) Given a tree on n vertices with edge weights from the range [0, n] it is possible to create in O(n) time a data structure of O(n) size so that given any u, v V, the edge of smallest weight on the unique path from u to v in the tree can be found in O(1) time. In Algorithm 6.1 we present the pseudocode for determining approximate s v distance in G \ x. Since the BEQ query on a single tree can be answered in O(1) time, the time for querying all the trees will be O(log 1+ɛ (nw )). However, instead of linearly checking all the powers of (1 + ɛ) in the increasing order, if we perform a binary search on powers(1 + ɛ), then query time is improved to O(log 2 log 1+ɛ (nw )). Finally notice that the space complexity is O(n log 1+ɛ (nw )). The following theorem stems from the above discussion.

10 Algorithm 6.1: Determining (1+ɛ) approximate distance of v from s in graph G\{x}. 1 if (x is not an ancestor of v) then 2 Return dist G (s, v); 3 i depth T (x); 4 for α powers(1 + ɛ) in increasing order do 5 j BEQ(x, v, T α ); 6 if j < i then Return (dist G (s, v) + α); 7 Return Unreachable ; Theorem 6.2. Given a directed graph G on n vertices with maximum edge weight W and a source vertex s V, it is possible to compute a data structure of O(n log 1+ɛ (nw )) size that for any failing vertex x and any destination vertex v, reports a (1 + ɛ) approximation of the distance of v from s in G \ {x} in O(log 2 log 1+ɛ (nw )) time. 6.1 Compact labeling scheme for Oracle We now present the labeling scheme for oracle. Let v be a query vertex, and x be the failed vertex. Recall Algorithm 6.1. Our first step is to check whether x is an ancestor of v in T. One simple method to achieve this is to perform the pre-order and the post-order traversal of T, and store the pre-order as well as the post-order numbering of each vertex in its label. Now x will be ancestor of v in T if and only if the pre-order numbering of x is smaller than that of v, and the post order numbering of x is greater than that of v. Next we assign i as depth T (x), extracting out this is also easy since depth information can also be made part of the label. Thus the only thing that is left is to obtain a labeling scheme for BEQ problem. Demaine et al. [11] showed that the BEQ problem on any tree T α is reducible to LCA problem on a cartesian tree, say T α, which is related to tree T α as follows. 1. The vertices of T α constitute the leaves of T α. 2. The edges of T α constitute the internal nodes of T α. 3. For any two vertices u, v T α, the least weight edge on path Tα (u, v) is the LCA of the leaf nodes corresponding to u and v in T α. Hence the bottleneck edge query for any two vertices u and v in T α can be answered by performing an LCA query for leaves u and v in T α. However, notice that given the labels of u and v in tree T α, we are not interested in computing the label of the edge stored at the LCA of u and v, rather we are interested in knowing the weight of the edge stored at the LCA. Alstrup et al. [1] established a labeling scheme for LCA that given the labels of any two vertices u and v in a tree, returns a predefined label associated with the LCA of u and v in the tree. If each predefined label consist of M-bits, then the labels in this scheme for LCA consists of O(M log n 0 ) bits, where n 0 is the number of nodes in the tree. In our case, the number of nodes in T α is O(n) only. Also the predefined labels of internal nodes in T α stores just the depth value, thus M is O(log n). Therefore, label of any vertex v stores: (i) the preorder and the post-order numbering of v, (ii) the depth of v in T, and (iii) the label of v corresponding to LCA queries in each tree T α, where α powers(1+ɛ). Hence the label of each vertex consists of O(log 2 n log 1+ɛ (nw )) bits. We thus have the following theorem. Theorem 6.3. Given a directed graph G on n vertices with maximum edge weight W and a source vertex s V it is possible to compute vertex labels of O(log 2 n log 1+ɛ (nw )) bits such that for any failing vertex x and any destination vertex v, the (1 + ɛ) approximate distance of v from s in G \ {x} can be determined by processing the labels associated with v and x only. Notice that in the above construction, the predefined label of an internal node of T α, which corresponds to an edge in T α, say (parent Tα (y), y), just stores the value depth T (first α (y)). However, we can also store in the predefined label other relevant information associated with either the detour HD α (y), or a (1 + ɛ, k) preserver of HD α (y). Then, the result of Alstrup et al. [1] implies the following lemma, which would be used in the construction of the routing scheme. Lemma 6.1. For each y in V and α powers(1 + ɛ), let Φ α (y) be the M-bit information associated with a (1 + ɛ, k) preserver of HD α (y). Then there exists a labeling scheme with labels of O(M log n log 1+ɛ (nw )) bits such that given the label of any two vertices x, v V, where x is an ancestor of v in T, the following information can be retrieved. (i) Smallest α powers(1 + ɛ) such that there exists a vertex b path T ( x, v) whose HD α (b) starts from an ancestor of x, (ii) Vertex b stated in (i), and the M-bit information, i.e. Φ α (b), associated with the (1 + ɛ, k) preserver of HD α (b). 7 A Compact Routing Scheme Let v be a query vertex and x be a failed vertex. Let us consider the case in which x is an ancestor of v in T.

11 Let D be the detour corresponding to the shortest s-v path in G \ x, and let α be the smallest power of (1 + ɛ) greater than or equal to wt (D). So there must exist a vertex b path T ( x, v) such that HD α (b) starts from an ancestor of x. Such a vertex can be easily extracted out using the labels of v and x described in Section 6. Since we can not afford to store the information of HD α (t) explicitly for each t V, we take help of a (1 + ɛ, k)- preserver of HD α (b) to route the packets to destination v. (i) Figure 4: (i) Depiction of segments Q 1, Q 2, Q 3 and vertices b 1, b 2, b 3, b 4 in a (1 + ɛ, 3)-preserver of HD α (b), (ii) A finer description of Q i showing the first non-tree edge (c i, d i ). Recall that a (1 + ɛ, k)-preserver of a HD α (b) can be seen as a concatenation of at most l( k) paths, say Q l, Q l 1, Q 2, Q 1. (See Figure 4 (i)). If b l+1, b l,..., b 2, b 1 are the endpoints of these paths, then (i) For each i < l, Q i is a suffix of detour to b i that is added in the i th round of Algorithm 4.2, (ii) Q l is a detour to b l added in the l th round. Also notice that for each i [1, l], vertex b i belongs to set S i. Now for i [1, l], let us denote by (c i, d i ) the first non-tree edge in Q i. (See Figure 4 (ii)). So, d i is also the first vertex in σ(q i ). We first extend the labeling scheme described in Section 6 to obtain a labeling scheme for routing. 7.1 Labeling scheme for routing The label of each node consists of two subcomponents L 0 and L 1 as described below. 1. In [21], Thorup and Zwick gave a construction of labeling scheme for rooted trees with O(log n) bit labels such that given the labels of any two nodes w and y (with w being ancestor of y), one can compute the port number of the child of w on (ii) path T (w, y). The first component of the labels, i.e. L 0, would comprise of these labels. This will facilitate easy routing of packets along the tree paths. Also the component L 0 would store the pre-order number, the post-order number, and the depth of vertex in T, so that ancestor descendant relationships can be easily verified. Thus the label L 0 consists of O(log n) bits. 2. The second component of the labels, that is L 1, will comprise of the labels described in Lemma 6.1, with Φ α (y) of a vertex y storing the at most k + 1 vertices and k non-tree edges associated with a (1 + ɛ, k) preserver of HD α (y), described above. (See Figure 4). So given the labels of v and x, we can extract out the value α equal to the smallest power of (1 + ɛ) for which there exists a vertex b path T ( x, v) with HD α (b) starting from an ancestor of x in T. Also we can compute the L 0 label of vertices b l+1, b l,..., b 1, and edges (c l, d l ),..., (c 1, d 1 ) associated with the (1 + ɛ, k)- preserver of HD α (b). Finally, notice that Φ α (y) consists of O(k log n) bits of information, thus the label L 1 consists of O(k log 2 (n) log 1+ɛ (nw )) bits. 7.2 Description of routing table We now give the construction of the routing table of a vertex w V. The routing table of w stores: (i) the label L 0 (w), and (ii) k segments, where i th segment corresponds to i th round of Algorithm 4.2. Below we describe these k segments. Let us fix an i [1, k]. Consider the detour HD α (u) for some vertex u S i and an α powers(1 + ɛ). Let u S i+1 be the last vertex in σ(hd α (u)) S i+1, if it exists, else let u be first α (u). Then the suffix HD α (u)[u, u] is added to H in the i th round of Algorithm 4.2. Now let us suppose w σ ( HD α (u)[u, u] ) and let (y, z) be the first non-tree edge appearing after w on HD α (u). So z is the successor of w in the sequence σ(hd α (u)). Through our routing table we need to ensure that if a packet reaches w then it can easily find the route to vertex z. This route will be just the concatenation path T (w, y)::(y, z). So corresponding to the triplet (i, u, u) in the routing table of w we need to store the label of the edge (y, z). Finally notice that in Lemma 5.1 we showed that the frequency of each vertex in the set of all suffixes added in a round is O(n 1/k log 2 (n) log 1+ɛ (nw )). To store a non-tree edge (y, z), it suffices to store just the labels L 0 (y) and L 0 (z) that are of O(log n) bits. Thus the size any of the k segments of the routing table of vertex w will be O(n 1/k log 3 (n) log 1+ɛ (nw )) bits, and the size of the routing table will be O(kn 1/k log 3 (n) log 1+ɛ (nw )) bits.

12 7.3 Routing algorithm We now describe the routing algorithm. Let j [1, l] be the maximal index such that x is an ancestor of vertices b 1,..., b j. It follows from the proofs of Lemma 4.3 and Lemma 4.4, that the concatenation P = path T (s, b j+1 )::(Q j,..., Q 1 )::path T (b, v) is a path from s to v in H \ x whose length is at most (1 + ɛ) k times the length of the shortest s-v path in G\x. In our routing scheme, the packets from s to v will traverse this path P. Before starting the routing process we use the labels of x and v to compute the vertices b 1,..., b j and the edges (c 1, d 1 ),..., (c j, d j ), also this information is added to the header of the packet. Now path P can be seen as a sequence of segments of tree paths joined through nontree edges. So, whenever we reach any vertex w σ(p ), our first step is to calculate the next non-tree edge, say (y, z), appearing after w in P. Once this edge is computed, we traverse the tree path from w to y using L 0 labels. Once we reach y, the packet traverses the edge (y, z). On reaching any vertex w σ(p ), the next non-tree edge, say (y, z), on the path P can be computed as follows. 1. If w is an internal vertex of some Q i, i [1, j], then we can just use the routing table stored at w to find the edge (y, z). 2. If w = b i for some 1 < i j, the next non-tree edge will be (c i 1, d i 1 ) lying in segment Q i 1. This information can be retrieved from the header of the packet itself. Till now we described that if we are at a vertex w in σ(p ) then how to navigate to the next vertex in σ(p ). Notice that (c j, d j ) is the first non tree edge in P. So to reach the first vertex d j in σ(p ), path path T (s, c j )::(c j, d j ) can be traversed using L 0 labels. Finally when we reach the last vertex in σ(p ), that is b 1, then again we use L 0 labels to traverse path path T (b 1, v) to reach vertex v. The pseudocode of this routing procedure is described in Algorithm 7.1. Notice that the size of each label is O(k log 2 (n) log 1+ɛ (nw )) bits, and the size of each routing table is O(kn 1/k log 3 (n) log 1+ɛ (nw )) bits. Also the size of header attached to the packets is O(k log n) bits and the stretch achieved is (1 + ɛ) k. On substituting ɛ new = ɛ old /(2k) and k = log 2 (n) we get the following theorem. Theorem 7.1. For a directed network, there exists a fault tolerant scheme for routing packets from a fixed source vertex s with the following properties. Algorithm 7.1: Route(w, v, j, b l,.., b 1, c l,.., c 1, d l,.., d 1, nextedge) 1 if (w = v) then Return Packet received ; 2 if (j = 0 or w = b 1 ) then 3 w new child of w on path T (w, v); 4 Route(w new, v, 0, <>,null); 5 if (nextedge = null) then 6 if (w = b j ) then 7 nextedge (c j 1, d j 1 ); 8 j j 1; 9 else 10 nextedge Routing-Table-Look-Up(w, j, b j+1, b j ); 11 (y, z) nextedge; 12 if (w y) then 13 w new child of w on path T (w, y); 14 else 15 w new = z; 16 nextedge = null; 17 Route(w new, v, j, b l,.., b 1, c l,.., c 1, d l,.., d 1, nextedge); 1. The label of each vertex consists of O(log 4 (n) log 1+ɛ (nw )) bits and the routing table consists of O(log 5 (n) log 1+ɛ (nw )) bits. 2. While routing, each packet has to have extra O(log 2 n) bits as a header. 3. To route packets from s to a destination v under failure of a vertex x, s should know labels (identity) of both v and x. 4. The route taken by packets have a stretch of at most (1 + ɛ) times that of the shortest path possible in G \ x. 8 Lower Bounds Let ɛ, W, n be such that ɛ lies in interval (0, 1), and W, n > 1. We first show the construction of a graph G on O(n) vertices with edge weights in range [1, 2W ] such that its (1 + ɛ)-distance preserving subgraph requires at least Ω ( n min{n, log 1+ɛ W } ) edges. 8.1 A lower bound on the size of subgraph Let L, l be integers to be fixed later on. We construct a graph G on n + L l vertices as follows. The vertex set of G is {u l+1, u l+2,..., u L, v 1,..., v n }, and the edge set of G is the union of the following two sets (see Figure 5). 1. E 1 = {(u L, u L 1 ),..., (u i, u i 1 ),..., (u l+2, u l+1 )},

Seminar on Algorithms and Data Structures: Multiple-Edge-Fault-Tolerant Approximate Shortest-Path Trees [1]

Seminar on Algorithms and Data Structures: Multiple-Edge-Fault-Tolerant Approximate Shortest-Path Trees [1] Seminar on Algorithms and Data Structures: Multiple-Edge-Fault-Tolerant Approximate Shortest-Path Trees [1] Philipp Rimle April 14, 2018 1 Introduction Given a graph with positively real-weighted undirected

More information

All-Pairs Nearly 2-Approximate Shortest-Paths in O(n 2 polylog n) Time

All-Pairs Nearly 2-Approximate Shortest-Paths in O(n 2 polylog n) Time All-Pairs Nearly 2-Approximate Shortest-Paths in O(n 2 polylog n) Time Surender Baswana 1, Vishrut Goyal 2, and Sandeep Sen 3 1 Max-Planck-Institut für Informatik, Saarbrücken, Germany. sbaswana@mpi-sb.mpg.de

More information

Solution for Homework set 3

Solution for Homework set 3 TTIC 300 and CMSC 37000 Algorithms Winter 07 Solution for Homework set 3 Question (0 points) We are given a directed graph G = (V, E), with two special vertices s and t, and non-negative integral capacities

More information

Distance oracles for unweighted graphs : breaking the quadratic barrier with constant additive error

Distance oracles for unweighted graphs : breaking the quadratic barrier with constant additive error Distance oracles for unweighted graphs : breaking the quadratic barrier with constant additive error Surender Baswana, Akshay Gaur, Sandeep Sen, and Jayant Upadhyay Abstract. Thorup and Zwick, in the seminal

More information

Fully Dynamic Randomized Algorithms for Graph Spanners

Fully Dynamic Randomized Algorithms for Graph Spanners Fully Dynamic Randomized Algorithms for Graph Spanners Surender Baswana Sumeet Khurana Soumojit Sarkar Abstract Spanner of an undirected graph G = (V, E) is a subgraph which is sparse and yet preserves

More information

Faster parameterized algorithms for Minimum Fill-In

Faster parameterized algorithms for Minimum Fill-In Faster parameterized algorithms for Minimum Fill-In Hans L. Bodlaender Pinar Heggernes Yngve Villanger Technical Report UU-CS-2008-042 December 2008 Department of Information and Computing Sciences Utrecht

More information

Faster parameterized algorithms for Minimum Fill-In

Faster parameterized algorithms for Minimum Fill-In Faster parameterized algorithms for Minimum Fill-In Hans L. Bodlaender Pinar Heggernes Yngve Villanger Abstract We present two parameterized algorithms for the Minimum Fill-In problem, also known as Chordal

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

Notes on Binary Dumbbell Trees

Notes on Binary Dumbbell Trees Notes on Binary Dumbbell Trees Michiel Smid March 23, 2012 Abstract Dumbbell trees were introduced in [1]. A detailed description of non-binary dumbbell trees appears in Chapter 11 of [3]. These notes

More information

Scribe from 2014/2015: Jessica Su, Hieu Pham Date: October 6, 2016 Editor: Jimmy Wu

Scribe from 2014/2015: Jessica Su, Hieu Pham Date: October 6, 2016 Editor: Jimmy Wu CS 267 Lecture 3 Shortest paths, graph diameter Scribe from 2014/2015: Jessica Su, Hieu Pham Date: October 6, 2016 Editor: Jimmy Wu Today we will talk about algorithms for finding shortest paths in a graph.

More information

Paths, Flowers and Vertex Cover

Paths, Flowers and Vertex Cover Paths, Flowers and Vertex Cover Venkatesh Raman M. S. Ramanujan Saket Saurabh Abstract It is well known that in a bipartite (and more generally in a König) graph, the size of the minimum vertex cover is

More information

Lecture 9 March 4, 2010

Lecture 9 March 4, 2010 6.851: Advanced Data Structures Spring 010 Dr. André Schulz Lecture 9 March 4, 010 1 Overview Last lecture we defined the Least Common Ancestor (LCA) and Range Min Query (RMQ) problems. Recall that an

More information

Surender Baswana Ayush Goel Shahbaz Khan

Surender Baswana Ayush Goel Shahbaz Khan Incremental DFS algorithms: a theoretical and experimental study Downloaded 02/01/18 to 131.130.117.196. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php Surender

More information

Algebraic method for Shortest Paths problems

Algebraic method for Shortest Paths problems Lecture 1 (06.03.2013) Author: Jaros law B lasiok Algebraic method for Shortest Paths problems 1 Introduction In the following lecture we will see algebraic algorithms for various shortest-paths problems.

More information

A Fast Algorithm for Optimal Alignment between Similar Ordered Trees

A Fast Algorithm for Optimal Alignment between Similar Ordered Trees Fundamenta Informaticae 56 (2003) 105 120 105 IOS Press A Fast Algorithm for Optimal Alignment between Similar Ordered Trees Jesper Jansson Department of Computer Science Lund University, Box 118 SE-221

More information

On dynamic shortest paths problems

On dynamic shortest paths problems On dynamic shortest paths problems Liam Roditty and Uri Zwick School of Computer Science, Tel Aviv University, Tel Aviv 69978, Israel Abstract. We obtain the following results related to dynamic versions

More information

Efficient pebbling for list traversal synopses

Efficient pebbling for list traversal synopses Efficient pebbling for list traversal synopses Yossi Matias Ely Porat Tel Aviv University Bar-Ilan University & Tel Aviv University Abstract 1 Introduction 1.1 Applications Consider a program P running

More information

1 Minimum Cut Problem

1 Minimum Cut Problem CS 6 Lecture 6 Min Cut and Karger s Algorithm Scribes: Peng Hui How, Virginia Williams (05) Date: November 7, 07 Anthony Kim (06), Mary Wootters (07) Adapted from Virginia Williams lecture notes Minimum

More information

st-orientations September 29, 2005

st-orientations September 29, 2005 st-orientations September 29, 2005 Introduction Let G = (V, E) be an undirected biconnected graph of n nodes and m edges. The main problem this chapter deals with is different algorithms for orienting

More information

Sparse Hypercube 3-Spanners

Sparse Hypercube 3-Spanners Sparse Hypercube 3-Spanners W. Duckworth and M. Zito Department of Mathematics and Statistics, University of Melbourne, Parkville, Victoria 3052, Australia Department of Computer Science, University of

More information

Uri Zwick Tel Aviv University The 6th Max-Planck Advanced Course on the Foundations of Computer Science (ADFOCS)

Uri Zwick Tel Aviv University The 6th Max-Planck Advanced Course on the Foundations of Computer Science (ADFOCS) Approximating distances in graphs Uri Zwick Tel Aviv University The 6th Max-Planck Advanced Course on the Foundations of Computer Science (ADFOCS) All-Pairs Shortest Paths APSP algorithm mn time n 2 space

More information

Reducing Directed Max Flow to Undirected Max Flow and Bipartite Matching

Reducing Directed Max Flow to Undirected Max Flow and Bipartite Matching Reducing Directed Max Flow to Undirected Max Flow and Bipartite Matching Henry Lin Division of Computer Science University of California, Berkeley Berkeley, CA 94720 Email: henrylin@eecs.berkeley.edu Abstract

More information

arxiv: v1 [cs.ds] 19 Feb 2014

arxiv: v1 [cs.ds] 19 Feb 2014 Turing Kernelization for Finding Long Paths and Cycles in Restricted Graph Classes Bart M. P. Jansen 1 University of Bergen, Norway. Bart.Jansen@ii.uib.no arxiv:1402.4718v1 [cs.ds] 19 Feb 2014 Abstract.

More information

arxiv: v1 [cs.ds] 27 Apr 2014

arxiv: v1 [cs.ds] 27 Apr 2014 Bypassing Erdős Girth Conjecture: Hybrid Stretch and Sourcewise Spanners Merav Parter The Weizmann Institute of Science, Rehovot, Israel. merav.parter@weizmann.ac.il arxiv:1404.6835v1 [cs.ds] 27 Apr 2014

More information

FINAL EXAM SOLUTIONS

FINAL EXAM SOLUTIONS COMP/MATH 3804 Design and Analysis of Algorithms I Fall 2015 FINAL EXAM SOLUTIONS Question 1 (12%). Modify Euclid s algorithm as follows. function Newclid(a,b) if a

More information

Forbidden-Set Labeling on Graphs

Forbidden-Set Labeling on Graphs Forbidden-Set Labeling on Graphs B. Courcelle LaBRI Bordeaux University Bruno.Courcelle@labri.fr C. Gavoille LaBRI Bordeaux University Cyril.Gavoille@labri.fr A. Twigg Thomson Research, Paris Computer

More information

Data Structure. IBPS SO (IT- Officer) Exam 2017

Data Structure. IBPS SO (IT- Officer) Exam 2017 Data Structure IBPS SO (IT- Officer) Exam 2017 Data Structure: In computer science, a data structure is a way of storing and organizing data in a computer s memory so that it can be used efficiently. Data

More information

arxiv: v1 [cs.ds] 7 May 2017

arxiv: v1 [cs.ds] 7 May 2017 Incremental DFS algorithms: a theoretical and experimental study Surender Baswana Ayush Goel Shahbaz Khan arxiv:1705.02613v1 [cs.ds] 7 May 2017 Abstract Depth First Search (DFS) tree is a fundamental data

More information

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph.

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph. Trees 1 Introduction Trees are very special kind of (undirected) graphs. Formally speaking, a tree is a connected graph that is acyclic. 1 This definition has some drawbacks: given a graph it is not trivial

More information

Faster Algorithms for Computing Maximal 2-Connected Subgraphs in Sparse Directed Graphs

Faster Algorithms for Computing Maximal 2-Connected Subgraphs in Sparse Directed Graphs Faster Algorithms for Computing Maximal 2-Connected Subgraphs in Sparse Directed Graphs Abstract Shiri Chechik Tel Aviv University, Israel schechik@cs.tau.ac.il Giuseppe F. Italiano Università di Roma

More information

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 The Encoding Complexity of Network Coding Michael Langberg, Member, IEEE, Alexander Sprintson, Member, IEEE, and Jehoshua Bruck,

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

Simpler, Linear-time Transitive Orientation via Lexicographic Breadth-First Search

Simpler, Linear-time Transitive Orientation via Lexicographic Breadth-First Search Simpler, Linear-time Transitive Orientation via Lexicographic Breadth-First Search Marc Tedder University of Toronto arxiv:1503.02773v1 [cs.ds] 10 Mar 2015 Abstract Comparability graphs are the undirected

More information

Exact Algorithms Lecture 7: FPT Hardness and the ETH

Exact Algorithms Lecture 7: FPT Hardness and the ETH Exact Algorithms Lecture 7: FPT Hardness and the ETH February 12, 2016 Lecturer: Michael Lampis 1 Reminder: FPT algorithms Definition 1. A parameterized problem is a function from (χ, k) {0, 1} N to {0,

More information

arxiv: v4 [cs.ds] 25 May 2017

arxiv: v4 [cs.ds] 25 May 2017 Efficient Construction of Probabilistic Tree Embeddings Guy Blelloch Carnegie Mellon University guyb@cs.cmu.edu Yan Gu Carnegie Mellon University yan.gu@cs.cmu.edu Yihan Sun Carnegie Mellon University

More information

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanford.edu) January 11, 2018 Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 In this lecture

More information

CMSC 754 Computational Geometry 1

CMSC 754 Computational Geometry 1 CMSC 754 Computational Geometry 1 David M. Mount Department of Computer Science University of Maryland Fall 2005 1 Copyright, David M. Mount, 2005, Dept. of Computer Science, University of Maryland, College

More information

1 The Traveling Salesperson Problem (TSP)

1 The Traveling Salesperson Problem (TSP) CS 598CSC: Approximation Algorithms Lecture date: January 23, 2009 Instructor: Chandra Chekuri Scribe: Sungjin Im In the previous lecture, we had a quick overview of several basic aspects of approximation

More information

Optimization I : Brute force and Greedy strategy

Optimization I : Brute force and Greedy strategy Chapter 3 Optimization I : Brute force and Greedy strategy A generic definition of an optimization problem involves a set of constraints that defines a subset in some underlying space (like the Euclidean

More information

6 Distributed data management I Hashing

6 Distributed data management I Hashing 6 Distributed data management I Hashing There are two major approaches for the management of data in distributed systems: hashing and caching. The hashing approach tries to minimize the use of communication

More information

TREE SPANNERS. Leizhen Cai and Derek Corneil Department of Computer Science University of Toronto Toronto, Ontario, Canada, M5S 1A4.

TREE SPANNERS. Leizhen Cai and Derek Corneil Department of Computer Science University of Toronto Toronto, Ontario, Canada, M5S 1A4. TREE SPANNERS Leizhen Cai and Derek Corneil Department of Computer Science University of Toronto Toronto, Ontario, Canada, M5S A4 July 0, 994 Abstract A tree t-spanner T of a graph G is a spanning tree

More information

Improved algorithms for constructing fault-tolerant spanners

Improved algorithms for constructing fault-tolerant spanners Improved algorithms for constructing fault-tolerant spanners Christos Levcopoulos Giri Narasimhan Michiel Smid December 8, 2000 Abstract Let S be a set of n points in a metric space, and k a positive integer.

More information

On the Max Coloring Problem

On the Max Coloring Problem On the Max Coloring Problem Leah Epstein Asaf Levin May 22, 2010 Abstract We consider max coloring on hereditary graph classes. The problem is defined as follows. Given a graph G = (V, E) and positive

More information

On k-dimensional Balanced Binary Trees*

On k-dimensional Balanced Binary Trees* journal of computer and system sciences 52, 328348 (1996) article no. 0025 On k-dimensional Balanced Binary Trees* Vijay K. Vaishnavi Department of Computer Information Systems, Georgia State University,

More information

Byzantine Consensus in Directed Graphs

Byzantine Consensus in Directed Graphs Byzantine Consensus in Directed Graphs Lewis Tseng 1,3, and Nitin Vaidya 2,3 1 Department of Computer Science, 2 Department of Electrical and Computer Engineering, and 3 Coordinated Science Laboratory

More information

Lecture 5: Suffix Trees

Lecture 5: Suffix Trees Longest Common Substring Problem Lecture 5: Suffix Trees Given a text T = GGAGCTTAGAACT and a string P = ATTCGCTTAGCCTA, how do we find the longest common substring between them? Here the longest common

More information

Introduction to Algorithms I

Introduction to Algorithms I Summer School on Algorithms and Optimization Organized by: ACM Unit, ISI and IEEE CEDA. Tutorial II Date: 05.07.017 Introduction to Algorithms I (Q1) A binary tree is a rooted tree in which each node has

More information

Theoretical Computer Science. Testing Eulerianity and connectivity in directed sparse graphs

Theoretical Computer Science. Testing Eulerianity and connectivity in directed sparse graphs Theoretical Computer Science 412 (2011) 6390 640 Contents lists available at SciVerse ScienceDirect Theoretical Computer Science journal homepage: www.elsevier.com/locate/tcs Testing Eulerianity and connectivity

More information

Final Exam Solutions

Final Exam Solutions Introduction to Algorithms December 14, 2010 Massachusetts Institute of Technology 6.006 Fall 2010 Professors Konstantinos Daskalakis and Patrick Jaillet Final Exam Solutions Final Exam Solutions Problem

More information

Dual-Based Approximation Algorithms for Cut-Based Network Connectivity Problems

Dual-Based Approximation Algorithms for Cut-Based Network Connectivity Problems Dual-Based Approximation Algorithms for Cut-Based Network Connectivity Problems Benjamin Grimmer bdg79@cornell.edu arxiv:1508.05567v2 [cs.ds] 20 Jul 2017 Abstract We consider a variety of NP-Complete network

More information

Graph Representations and Traversal

Graph Representations and Traversal COMPSCI 330: Design and Analysis of Algorithms 02/08/2017-02/20/2017 Graph Representations and Traversal Lecturer: Debmalya Panigrahi Scribe: Tianqi Song, Fred Zhang, Tianyu Wang 1 Overview This lecture

More information

Distributed minimum spanning tree problem

Distributed minimum spanning tree problem Distributed minimum spanning tree problem Juho-Kustaa Kangas 24th November 2012 Abstract Given a connected weighted undirected graph, the minimum spanning tree problem asks for a spanning subtree with

More information

1. Meshes. D7013E Lecture 14

1. Meshes. D7013E Lecture 14 D7013E Lecture 14 Quadtrees Mesh Generation 1. Meshes Input: Components in the form of disjoint polygonal objects Integer coordinates, 0, 45, 90, or 135 angles Output: A triangular mesh Conforming: A triangle

More information

Compact Routing Schemes with Improved Stretch

Compact Routing Schemes with Improved Stretch Compact Routing Schemes with Improved Stretch Shiri Chechik July 18, 2013 Abstract We consider the problem of compact routing in weighted general undirected graphs, in which the goal is to construct local

More information

Objective of the present work

Objective of the present work Objective of the present work Optimize Road Network Optimize Airline Network Optimize Rail Network Optimize Computer Network Optimize Social Network Spanners and Emulators For most graph algorithms, the

More information

Superconcentrators of depth 2 and 3; odd levels help (rarely)

Superconcentrators of depth 2 and 3; odd levels help (rarely) Superconcentrators of depth 2 and 3; odd levels help (rarely) Noga Alon Bellcore, Morristown, NJ, 07960, USA and Department of Mathematics Raymond and Beverly Sackler Faculty of Exact Sciences Tel Aviv

More information

CPSC 536N: Randomized Algorithms Term 2. Lecture 10

CPSC 536N: Randomized Algorithms Term 2. Lecture 10 CPSC 536N: Randomized Algorithms 011-1 Term Prof. Nick Harvey Lecture 10 University of British Columbia In the first lecture we discussed the Max Cut problem, which is NP-complete, and we presented a very

More information

Chapter 8 DOMINATING SETS

Chapter 8 DOMINATING SETS Distributed Computing Group Chapter 8 DOMINATING SETS Mobile Computing Summer 2004 Overview Motivation Dominating Set Connected Dominating Set The Greedy Algorithm The Tree Growing Algorithm The Marking

More information

FUTURE communication networks are expected to support

FUTURE communication networks are expected to support 1146 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL 13, NO 5, OCTOBER 2005 A Scalable Approach to the Partition of QoS Requirements in Unicast and Multicast Ariel Orda, Senior Member, IEEE, and Alexander Sprintson,

More information

TREES. Trees - Introduction

TREES. Trees - Introduction TREES Chapter 6 Trees - Introduction All previous data organizations we've studied are linear each element can have only one predecessor and successor Accessing all elements in a linear sequence is O(n)

More information

CSCI2100B Data Structures Trees

CSCI2100B Data Structures Trees CSCI2100B Data Structures Trees Irwin King king@cse.cuhk.edu.hk http://www.cse.cuhk.edu.hk/~king Department of Computer Science & Engineering The Chinese University of Hong Kong Introduction General Tree

More information

1 The range query problem

1 The range query problem CS268: Geometric Algorithms Handout #12 Design and Analysis Original Handout #12 Stanford University Thursday, 19 May 1994 Original Lecture #12: Thursday, May 19, 1994 Topics: Range Searching with Partition

More information

The 4/3 Additive Spanner Exponent is Tight

The 4/3 Additive Spanner Exponent is Tight The 4/3 Additive Spanner Exponent is Tight Amir Abboud and Greg Bodwin Stanford University June 8, 2016 Our Question How much can you compress a graph into low space while still being able to approximately

More information

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings On the Relationships between Zero Forcing Numbers and Certain Graph Coverings Fatemeh Alinaghipour Taklimi, Shaun Fallat 1,, Karen Meagher 2 Department of Mathematics and Statistics, University of Regina,

More information

Ferianakademie 2010 Course 2: Distance Problems: Theory and Praxis. Distance Labelings. Stepahn M. Günther. September 23, 2010

Ferianakademie 2010 Course 2: Distance Problems: Theory and Praxis. Distance Labelings. Stepahn M. Günther. September 23, 2010 Ferianakademie 00 Course : Distance Problems: Theory and Praxis Distance Labelings Stepahn M. Günther September, 00 Abstract Distance labels allow to infer the shortest distance between any two vertices

More information

arxiv: v1 [cs.ds] 8 Jan 2019

arxiv: v1 [cs.ds] 8 Jan 2019 Subset Feedback Vertex Set in Chordal and Split Graphs Geevarghese Philip 1, Varun Rajan 2, Saket Saurabh 3,4, and Prafullkumar Tale 5 arxiv:1901.02209v1 [cs.ds] 8 Jan 2019 1 Chennai Mathematical Institute,

More information

Constant Price of Anarchy in Network Creation Games via Public Service Advertising

Constant Price of Anarchy in Network Creation Games via Public Service Advertising Constant Price of Anarchy in Network Creation Games via Public Service Advertising Erik D. Demaine and Morteza Zadimoghaddam MIT Computer Science and Artificial Intelligence Laboratory, Cambridge, MA 02139,

More information

Dynamic DFS in Undirected Graphs: breaking the O(m) barrier

Dynamic DFS in Undirected Graphs: breaking the O(m) barrier Dynamic DFS in Undirected Graphs: breaking the O(m) barrier Surender Baswana Shreejit Ray Chaudhury Keerti Choudhary Shahbaz Khan Given an undirected graph G = (V, E) on n vertices and m edges, we address

More information

A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY

A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY KARL L. STRATOS Abstract. The conventional method of describing a graph as a pair (V, E), where V and E repectively denote the sets of vertices and edges,

More information

Treewidth and graph minors

Treewidth and graph minors Treewidth and graph minors Lectures 9 and 10, December 29, 2011, January 5, 2012 We shall touch upon the theory of Graph Minors by Robertson and Seymour. This theory gives a very general condition under

More information

12 Abstract Data Types

12 Abstract Data Types 12 Abstract Data Types 12.1 Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: Define the concept of an abstract data type (ADT). Define

More information

ON VERTEX b-critical TREES. Mostafa Blidia, Noureddine Ikhlef Eschouf, and Frédéric Maffray

ON VERTEX b-critical TREES. Mostafa Blidia, Noureddine Ikhlef Eschouf, and Frédéric Maffray Opuscula Math. 33, no. 1 (2013), 19 28 http://dx.doi.org/10.7494/opmath.2013.33.1.19 Opuscula Mathematica ON VERTEX b-critical TREES Mostafa Blidia, Noureddine Ikhlef Eschouf, and Frédéric Maffray Communicated

More information

A SIMPLE APPROXIMATION ALGORITHM FOR NONOVERLAPPING LOCAL ALIGNMENTS (WEIGHTED INDEPENDENT SETS OF AXIS PARALLEL RECTANGLES)

A SIMPLE APPROXIMATION ALGORITHM FOR NONOVERLAPPING LOCAL ALIGNMENTS (WEIGHTED INDEPENDENT SETS OF AXIS PARALLEL RECTANGLES) Chapter 1 A SIMPLE APPROXIMATION ALGORITHM FOR NONOVERLAPPING LOCAL ALIGNMENTS (WEIGHTED INDEPENDENT SETS OF AXIS PARALLEL RECTANGLES) Piotr Berman Department of Computer Science & Engineering Pennsylvania

More information

MAXIMAL PLANAR SUBGRAPHS OF FIXED GIRTH IN RANDOM GRAPHS

MAXIMAL PLANAR SUBGRAPHS OF FIXED GIRTH IN RANDOM GRAPHS MAXIMAL PLANAR SUBGRAPHS OF FIXED GIRTH IN RANDOM GRAPHS MANUEL FERNÁNDEZ, NICHOLAS SIEGER, AND MICHAEL TAIT Abstract. In 99, Bollobás and Frieze showed that the threshold for G n,p to contain a spanning

More information

4 Fractional Dimension of Posets from Trees

4 Fractional Dimension of Posets from Trees 57 4 Fractional Dimension of Posets from Trees In this last chapter, we switch gears a little bit, and fractionalize the dimension of posets We start with a few simple definitions to develop the language

More information

Testing Eulerianity and Connectivity in Directed Sparse Graphs

Testing Eulerianity and Connectivity in Directed Sparse Graphs Testing Eulerianity and Connectivity in Directed Sparse Graphs Yaron Orenstein School of EE Tel-Aviv University Ramat Aviv, Israel yaronore@post.tau.ac.il Dana Ron School of EE Tel-Aviv University Ramat

More information

Augmenting Graphs to Minimize the Diameter

Augmenting Graphs to Minimize the Diameter Augmenting Graphs to Minimize the Diameter Fabrizio Frati 1, Serge Gaspers 2,3, Joachim Gudmundsson 1,3, and Luke Mathieson 4 1 University of Sydney, Australia, brillo@it.usyd.edu.au,joachim.gudmundsson@sydney.edu.au

More information

Interval Stabbing Problems in Small Integer Ranges

Interval Stabbing Problems in Small Integer Ranges Interval Stabbing Problems in Small Integer Ranges Jens M. Schmidt Freie Universität Berlin, Germany Enhanced version of August 2, 2010 Abstract Given a set I of n intervals, a stabbing query consists

More information

Lecture 3 February 9, 2010

Lecture 3 February 9, 2010 6.851: Advanced Data Structures Spring 2010 Dr. André Schulz Lecture 3 February 9, 2010 Scribe: Jacob Steinhardt and Greg Brockman 1 Overview In the last lecture we continued to study binary search trees

More information

Chapter 8 DOMINATING SETS

Chapter 8 DOMINATING SETS Chapter 8 DOMINATING SETS Distributed Computing Group Mobile Computing Summer 2004 Overview Motivation Dominating Set Connected Dominating Set The Greedy Algorithm The Tree Growing Algorithm The Marking

More information

An Algorithm for Enumerating All Spanning Trees of a Directed Graph 1. S. Kapoor 2 and H. Ramesh 3

An Algorithm for Enumerating All Spanning Trees of a Directed Graph 1. S. Kapoor 2 and H. Ramesh 3 Algorithmica (2000) 27: 120 130 DOI: 10.1007/s004530010008 Algorithmica 2000 Springer-Verlag New York Inc. An Algorithm for Enumerating All Spanning Trees of a Directed Graph 1 S. Kapoor 2 and H. Ramesh

More information

Very Sparse Additive Spanners and Emulators

Very Sparse Additive Spanners and Emulators Very Sparse Additive Spanners and Emulators Greg Bodwin Department of Computer Science Stanford University Stanford, CA gbodwin@cs.stanford.edu Virginia Vassilevska Williams Department of Computer Science

More information

Encoding/Decoding, Counting graphs

Encoding/Decoding, Counting graphs Encoding/Decoding, Counting graphs Russell Impagliazzo and Miles Jones Thanks to Janine Tiefenbruck http://cseweb.ucsd.edu/classes/sp16/cse21-bd/ May 13, 2016 11-avoiding binary strings Let s consider

More information

A more efficient algorithm for perfect sorting by reversals

A more efficient algorithm for perfect sorting by reversals A more efficient algorithm for perfect sorting by reversals Sèverine Bérard 1,2, Cedric Chauve 3,4, and Christophe Paul 5 1 Département de Mathématiques et d Informatique Appliquée, INRA, Toulouse, France.

More information

12.1 Formulation of General Perfect Matching

12.1 Formulation of General Perfect Matching CSC5160: Combinatorial Optimization and Approximation Algorithms Topic: Perfect Matching Polytope Date: 22/02/2008 Lecturer: Lap Chi Lau Scribe: Yuk Hei Chan, Ling Ding and Xiaobing Wu In this lecture,

More information

Discrete mathematics

Discrete mathematics Discrete mathematics Petr Kovář petr.kovar@vsb.cz VŠB Technical University of Ostrava DiM 470-2301/02, Winter term 2018/2019 About this file This file is meant to be a guideline for the lecturer. Many

More information

PCP and Hardness of Approximation

PCP and Hardness of Approximation PCP and Hardness of Approximation January 30, 2009 Our goal herein is to define and prove basic concepts regarding hardness of approximation. We will state but obviously not prove a PCP theorem as a starting

More information

Fast Clustering using MapReduce

Fast Clustering using MapReduce Fast Clustering using MapReduce Alina Ene Sungjin Im Benjamin Moseley September 6, 2011 Abstract Clustering problems have numerous applications and are becoming more challenging as the size of the data

More information

Optimal Parallel Randomized Renaming

Optimal Parallel Randomized Renaming Optimal Parallel Randomized Renaming Martin Farach S. Muthukrishnan September 11, 1995 Abstract We consider the Renaming Problem, a basic processing step in string algorithms, for which we give a simultaneously

More information

EXTREME POINTS AND AFFINE EQUIVALENCE

EXTREME POINTS AND AFFINE EQUIVALENCE EXTREME POINTS AND AFFINE EQUIVALENCE The purpose of this note is to use the notions of extreme points and affine transformations which are studied in the file affine-convex.pdf to prove that certain standard

More information

Lecture 7: Asymmetric K-Center

Lecture 7: Asymmetric K-Center Advanced Approximation Algorithms (CMU 18-854B, Spring 008) Lecture 7: Asymmetric K-Center February 5, 007 Lecturer: Anupam Gupta Scribe: Jeremiah Blocki In this lecture, we will consider the K-center

More information

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Greedy Algorithms (continued) The best known application where the greedy algorithm is optimal is surely

More information

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition.

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition. 18.433 Combinatorial Optimization Matching Algorithms September 9,14,16 Lecturer: Santosh Vempala Given a graph G = (V, E), a matching M is a set of edges with the property that no two of the edges have

More information

Minimum Spanning Trees

Minimum Spanning Trees Course Trees - the ubiquitous structure in computer science and mathematics, JASS 08 Minimum Spanning Trees Maximilian Schlund Fakultät für Informatik TU München April 20, 2008 Maximilian Schlund: Minimum

More information

Graph Algorithms Using Depth First Search

Graph Algorithms Using Depth First Search Graph Algorithms Using Depth First Search Analysis of Algorithms Week 8, Lecture 1 Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Graph Algorithms Using Depth

More information

Efficient Bufferless Packet Switching on Trees and Leveled Networks

Efficient Bufferless Packet Switching on Trees and Leveled Networks Efficient Bufferless Packet Switching on Trees and Leveled Networks Costas Busch Malik Magdon-Ismail Marios Mavronicolas Abstract In bufferless networks the packets cannot be buffered while they are in

More information

Lecture 1. 1 Notation

Lecture 1. 1 Notation Lecture 1 (The material on mathematical logic is covered in the textbook starting with Chapter 5; however, for the first few lectures, I will be providing some required background topics and will not be

More information

Number Theory and Graph Theory

Number Theory and Graph Theory 1 Number Theory and Graph Theory Chapter 6 Basic concepts and definitions of graph theory By A. Satyanarayana Reddy Department of Mathematics Shiv Nadar University Uttar Pradesh, India E-mail: satya8118@gmail.com

More information

Maximal Independent Set

Maximal Independent Set Chapter 4 Maximal Independent Set In this chapter we present a first highlight of this course, a fast maximal independent set (MIS) algorithm. The algorithm is the first randomized algorithm that we study

More information

Applications of Geometric Spanner

Applications of Geometric Spanner Title: Name: Affil./Addr. 1: Affil./Addr. 2: Affil./Addr. 3: Keywords: SumOriWork: Applications of Geometric Spanner Networks Joachim Gudmundsson 1, Giri Narasimhan 2, Michiel Smid 3 School of Information

More information