19,327 research outputs found

    Fast Routing Table Construction Using Small Messages

    Full text link
    We describe a distributed randomized algorithm computing approximate distances and routes that approximate shortest paths. Let n denote the number of nodes in the graph, and let HD denote the hop diameter of the graph, i.e., the diameter of the graph when all edges are considered to have unit weight. Given 0 < eps <= 1/2, our algorithm runs in weak-O(n^(1/2 + eps) + HD) communication rounds using messages of O(log n) bits and guarantees a stretch of O(eps^(-1) log eps^(-1)) with high probability. This is the first distributed algorithm approximating weighted shortest paths that uses small messages and runs in weak-o(n) time (in graphs where HD in weak-o(n)). The time complexity nearly matches the lower bounds of weak-Omega(sqrt(n) + HD) in the small-messages model that hold for stateless routing (where routing decisions do not depend on the traversed path) as well as approximation of the weigthed diameter. Our scheme replaces the original identifiers of the nodes by labels of size O(log eps^(-1) log n). We show that no algorithm that keeps the original identifiers and runs for weak-o(n) rounds can achieve a polylogarithmic approximation ratio. Variations of our techniques yield a number of fast distributed approximation algorithms solving related problems using small messages. Specifically, we present algorithms that run in weak-O(n^(1/2 + eps) + HD) rounds for a given 0 < eps <= 1/2, and solve, with high probability, the following problems: - O(eps^(-1))-approximation for the Generalized Steiner Forest (the running time in this case has an additive weak-O(t^(1 + 2eps)) term, where t is the number of terminals); - O(eps^(-2))-approximation of weighted distances, using node labels of size O(eps^(-1) log n) and weak-O(n^(eps)) bits of memory per node; - O(eps^(-1))-approximation of the weighted diameter; - O(eps^(-3))-approximate shortest paths using the labels 1,...,n.Comment: 40 pages, 2 figures, extended abstract submitted to STOC'1

    A Linear-Size Logarithmic Stretch Path-Reporting Distance Oracle for General Graphs

    Full text link
    In 2001 Thorup and Zwick devised a distance oracle, which given an nn-vertex undirected graph and a parameter kk, has size O(kn1+1/k)O(k n^{1+1/k}). Upon a query (u,v)(u,v) their oracle constructs a (2k1)(2k-1)-approximate path Π\Pi between uu and vv. The query time of the Thorup-Zwick's oracle is O(k)O(k), and it was subsequently improved to O(1)O(1) by Chechik. A major drawback of the oracle of Thorup and Zwick is that its space is Ω(nlogn)\Omega(n \cdot \log n). Mendel and Naor devised an oracle with space O(n1+1/k)O(n^{1+1/k}) and stretch O(k)O(k), but their oracle can only report distance estimates and not actual paths. In this paper we devise a path-reporting distance oracle with size O(n1+1/k)O(n^{1+1/k}), stretch O(k)O(k) and query time O(nϵ)O(n^\epsilon), for an arbitrarily small ϵ>0\epsilon > 0. In particular, our oracle can provide logarithmic stretch using linear size. Another variant of our oracle has size O(nloglogn)O(n \log\log n), polylogarithmic stretch, and query time O(loglogn)O(\log\log n). For unweighted graphs we devise a distance oracle with multiplicative stretch O(1)O(1), additive stretch O(β(k))O(\beta(k)), for a function β()\beta(\cdot), space O(n1+1/kβ)O(n^{1+1/k} \cdot \beta), and query time O(nϵ)O(n^\epsilon), for an arbitrarily small constant ϵ>0\epsilon >0. The tradeoff between multiplicative stretch and size in these oracles is far below girth conjecture threshold (which is stretch 2k12k-1 and size O(n1+1/k)O(n^{1+1/k})). Breaking the girth conjecture tradeoff is achieved by exhibiting a tradeoff of different nature between additive stretch β(k)\beta(k) and size O(n1+1/k)O(n^{1+1/k}). A similar type of tradeoff was exhibited by a construction of (1+ϵ,β)(1+\epsilon,\beta)-spanners due to Elkin and Peleg. However, so far (1+ϵ,β)(1+\epsilon,\beta)-spanners had no counterpart in the distance oracles' world. An important novel tool that we develop on the way to these results is a {distance-preserving path-reporting oracle}

    A forward-backward single-source shortest paths algorithm

    Full text link
    We describe a new forward-backward variant of Dijkstra's and Spira's Single-Source Shortest Paths (SSSP) algorithms. While essentially all SSSP algorithm only scan edges forward, the new algorithm scans some edges backward. The new algorithm assumes that edges in the outgoing and incoming adjacency lists of the vertices appear in non-decreasing order of weight. (Spira's algorithm makes the same assumption about the outgoing adjacency lists, but does not use incoming adjacency lists.) The running time of the algorithm on a complete directed graph on nn vertices with independent exponential edge weights is O(n)O(n), with very high probability. This improves on the previously best result of O(nlogn)O(n\log n), which is best possible if only forward scans are allowed, exhibiting an interesting separation between forward-only and forward-backward SSSP algorithms. As a consequence, we also get a new all-pairs shortest paths algorithm. The expected running time of the algorithm on complete graphs with independent exponential edge weights is O(n2)O(n^2), matching a recent algorithm of Demetrescu and Italiano as analyzed by Peres et al. Furthermore, the probability that the new algorithm requires more than O(n2)O(n^2) time is exponentially small, improving on the O(n1/26)O(n^{-1/26}) probability bound obtained by Peres et al

    Faster Parametric Shortest Path and Minimum Balance Algorithms

    Full text link
    The parametric shortest path problem is to find the shortest paths in graph where the edge costs are of the form w_ij+lambda where each w_ij is constant and lambda is a parameter that varies. The problem is to find shortest path trees for every possible value of lambda. The minimum-balance problem is to find a ``weighting'' of the vertices so that adjusting the edge costs by the vertex weights yields a graph in which, for every cut, the minimum weight of any edge crossing the cut in one direction equals the minimum weight of any edge crossing the cut in the other direction. The paper presents fast algorithms for both problems. The algorithms run in O(nm+n^2 log n) time. The paper also describes empirical studies of the algorithms on random graphs, suggesting that the expected time for finding a minimum-mean cycle (an important special case of both problems) is O(n log(n) + m)

    Parallel Metric Tree Embedding based on an Algebraic View on Moore-Bellman-Ford

    Full text link
    A \emph{metric tree embedding} of expected \emph{stretch~α1\alpha \geq 1} maps a weighted nn-node graph G=(V,E,ω)G = (V, E, \omega) to a weighted tree T=(VT,ET,ωT)T = (V_T, E_T, \omega_T) with VVTV \subseteq V_T such that, for all v,wVv,w \in V, dist(v,w,G)dist(v,w,T)\operatorname{dist}(v, w, G) \leq \operatorname{dist}(v, w, T) and operatornameE[dist(v,w,T)]αdist(v,w,G)operatorname{E}[\operatorname{dist}(v, w, T)] \leq \alpha \operatorname{dist}(v, w, G). Such embeddings are highly useful for designing fast approximation algorithms, as many hard problems are easy to solve on tree instances. However, to date the best parallel (polylogn)(\operatorname{polylog} n)-depth algorithm that achieves an asymptotically optimal expected stretch of αO(logn)\alpha \in \operatorname{O}(\log n) requires Ω(n2)\operatorname{\Omega}(n^2) work and a metric as input. In this paper, we show how to achieve the same guarantees using polylogn\operatorname{polylog} n depth and O~(m1+ϵ)\operatorname{\tilde{O}}(m^{1+\epsilon}) work, where m=Em = |E| and ϵ>0\epsilon > 0 is an arbitrarily small constant. Moreover, one may further reduce the work to O~(m+n1+ϵ)\operatorname{\tilde{O}}(m + n^{1+\epsilon}) at the expense of increasing the expected stretch to O(ϵ1logn)\operatorname{O}(\epsilon^{-1} \log n). Our main tool in deriving these parallel algorithms is an algebraic characterization of a generalization of the classic Moore-Bellman-Ford algorithm. We consider this framework, which subsumes a variety of previous "Moore-Bellman-Ford-like" algorithms, to be of independent interest and discuss it in depth. In our tree embedding algorithm, we leverage it for providing efficient query access to an approximate metric that allows sampling the tree using polylogn\operatorname{polylog} n depth and O~(m)\operatorname{\tilde{O}}(m) work. We illustrate the generality and versatility of our techniques by various examples and a number of additional results

    Fast and Compact Exact Distance Oracle for Planar Graphs

    Full text link
    For a given a graph, a distance oracle is a data structure that answers distance queries between pairs of vertices. We introduce an O(n5/3)O(n^{5/3})-space distance oracle which answers exact distance queries in O(logn)O(\log n) time for nn-vertex planar edge-weighted digraphs. All previous distance oracles for planar graphs with truly subquadratic space i.e., space O(n2ϵ)O(n^{2 - \epsilon}) for some constant ϵ>0\epsilon > 0) either required query time polynomial in nn or could only answer approximate distance queries. Furthermore, we show how to trade-off time and space: for any Sn3/2S \ge n^{3/2}, we show how to obtain an SS-space distance oracle that answers queries in time O((n5/2/S3/2)logn)O((n^{5/2}/ S^{3/2}) \log n). This is a polynomial improvement over the previous planar distance oracles with o(n1/4)o(n^{1/4}) query time
    corecore