22,846 research outputs found

    Efficient Dynamic Approximate Distance Oracles for Vertex-Labeled Planar Graphs

    Full text link
    Let GG be a graph where each vertex is associated with a label. A Vertex-Labeled Approximate Distance Oracle is a data structure that, given a vertex vv and a label λ\lambda, returns a (1+ε)(1+\varepsilon)-approximation of the distance from vv to the closest vertex with label λ\lambda in GG. Such an oracle is dynamic if it also supports label changes. In this paper we present three different dynamic approximate vertex-labeled distance oracles for planar graphs, all with polylogarithmic query and update times, and nearly linear space requirements

    The Power of Dynamic Distance Oracles: Efficient Dynamic Algorithms for the Steiner Tree

    Get PDF
    In this paper we study the Steiner tree problem over a dynamic set of terminals. We consider the model where we are given an nn-vertex graph G=(V,E,w)G=(V,E,w) with positive real edge weights, and our goal is to maintain a tree which is a good approximation of the minimum Steiner tree spanning a terminal set SVS \subseteq V, which changes over time. The changes applied to the terminal set are either terminal additions (incremental scenario), terminal removals (decremental scenario), or both (fully dynamic scenario). Our task here is twofold. We want to support updates in sublinear o(n)o(n) time, and keep the approximation factor of the algorithm as small as possible. We show that we can maintain a (6+ε)(6+\varepsilon)-approximate Steiner tree of a general graph in O~(nlogD)\tilde{O}(\sqrt{n} \log D) time per terminal addition or removal. Here, DD denotes the stretch of the metric induced by GG. For planar graphs we achieve the same running time and the approximation ratio of (2+ε)(2+\varepsilon). Moreover, we show faster algorithms for incremental and decremental scenarios. Finally, we show that if we allow higher approximation ratio, even more efficient algorithms are possible. In particular we show a polylogarithmic time (4+ε)(4+\varepsilon)-approximate algorithm for planar graphs. One of the main building blocks of our algorithms are dynamic distance oracles for vertex-labeled graphs, which are of independent interest. We also improve and use the online algorithms for the Steiner tree problem.Comment: Full version of the paper accepted to STOC'1

    Multiple-Edge-Fault-Tolerant Approximate Shortest-Path Trees

    Full text link
    Let GG be an nn-node and mm-edge positively real-weighted undirected graph. For any given integer f1f \ge 1, we study the problem of designing a sparse \emph{f-edge-fault-tolerant} (ff-EFT) σ\sigma{\em -approximate single-source shortest-path tree} (σ\sigma-ASPT), namely a subgraph of GG having as few edges as possible and which, following the failure of a set FF of at most ff edges in GG, contains paths from a fixed source that are stretched at most by a factor of σ\sigma. To this respect, we provide an algorithm that efficiently computes an ff-EFT (2F+1)(2|F|+1)-ASPT of size O(fn)O(f n). Our structure improves on a previous related construction designed for \emph{unweighted} graphs, having the same size but guaranteeing a larger stretch factor of 3(f+1)3(f+1), plus an additive term of (f+1)logn(f+1) \log n. Then, we show how to convert our structure into an efficient ff-EFT \emph{single-source distance oracle} (SSDO), that can be built in O~(fm)\widetilde{O}(f m) time, has size O(fnlog2n)O(fn \log^2 n), and is able to report, after the failure of the edge set FF, in O(F2log2n)O(|F|^2 \log^2 n) time a (2F+1)(2|F|+1)-approximate distance from the source to any node, and a corresponding approximate path in the same amount of time plus the path's size. Such an oracle is obtained by handling another fundamental problem, namely that of updating a \emph{minimum spanning forest} (MSF) of GG after that a \emph{batch} of kk simultaneous edge modifications (i.e., edge insertions, deletions and weight changes) is performed. For this problem, we build in O(mlog3n)O(m \log^3 n) time a \emph{sensitivity} oracle of size O(mlog2n)O(m \log^2 n), that reports in O(k2log2n)O(k^2 \log^2 n) time the (at most 2k2k) edges either exiting from or entering into the MSF. [...]Comment: 16 pages, 4 figure

    Faster Shortest Paths in Dense Distance Graphs, with Applications

    Full text link
    We show how to combine two techniques for efficiently computing shortest paths in directed planar graphs. The first is the linear-time shortest-path algorithm of Henzinger, Klein, Subramanian, and Rao [STOC'94]. The second is Fakcharoenphol and Rao's algorithm [FOCS'01] for emulating Dijkstra's algorithm on the dense distance graph (DDG). A DDG is defined for a decomposition of a planar graph GG into regions of at most rr vertices each, for some parameter r<nr < n. The vertex set of the DDG is the set of Θ(n/r)\Theta(n/\sqrt r) vertices of GG that belong to more than one region (boundary vertices). The DDG has Θ(n)\Theta(n) arcs, such that distances in the DDG are equal to the distances in GG. Fakcharoenphol and Rao's implementation of Dijkstra's algorithm on the DDG (nicknamed FR-Dijkstra) runs in O(nlog(n)r1/2logr)O(n\log(n) r^{-1/2} \log r) time, and is a key component in many state-of-the-art planar graph algorithms for shortest paths, minimum cuts, and maximum flows. By combining these two techniques we remove the logn\log n dependency in the running time of the shortest-path algorithm, making it O(nr1/2log2r)O(n r^{-1/2} \log^2r). This work is part of a research agenda that aims to develop new techniques that would lead to faster, possibly linear-time, algorithms for problems such as minimum-cut, maximum-flow, and shortest paths with negative arc lengths. As immediate applications, we show how to compute maximum flow in directed weighted planar graphs in O(nlogp)O(n \log p) time, where pp is the minimum number of edges on any path from the source to the sink. We also show how to compute any part of the DDG that corresponds to a region with rr vertices and kk boundary vertices in O(rlogk)O(r \log k) time, which is faster than has been previously known for small values of kk

    Decremental Single-Source Shortest Paths on Undirected Graphs in Near-Linear Total Update Time

    Full text link
    In the decremental single-source shortest paths (SSSP) problem we want to maintain the distances between a given source node ss and every other node in an nn-node mm-edge graph GG undergoing edge deletions. While its static counterpart can be solved in near-linear time, this decremental problem is much more challenging even in the undirected unweighted case. In this case, the classic O(mn)O(mn) total update time of Even and Shiloach [JACM 1981] has been the fastest known algorithm for three decades. At the cost of a (1+ϵ)(1+\epsilon)-approximation factor, the running time was recently improved to n2+o(1)n^{2+o(1)} by Bernstein and Roditty [SODA 2011]. In this paper, we bring the running time down to near-linear: We give a (1+ϵ)(1+\epsilon)-approximation algorithm with m1+o(1)m^{1+o(1)} expected total update time, thus obtaining near-linear time. Moreover, we obtain m1+o(1)logWm^{1+o(1)} \log W time for the weighted case, where the edge weights are integers from 11 to WW. The only prior work on weighted graphs in o(mn)o(m n) time is the mn0.9+o(1)m n^{0.9 + o(1)}-time algorithm by Henzinger et al. [STOC 2014, ICALP 2015] which works for directed graphs with quasi-polynomial edge weights. The expected running time bound of our algorithm holds against an oblivious adversary. In contrast to the previous results which rely on maintaining a sparse emulator, our algorithm relies on maintaining a so-called sparse (h,ϵ)(h, \epsilon)-hop set introduced by Cohen [JACM 2000] in the PRAM literature. An (h,ϵ)(h, \epsilon)-hop set of a graph G=(V,E)G=(V, E) is a set FF of weighted edges such that the distance between any pair of nodes in GG can be (1+ϵ)(1+\epsilon)-approximated by their hh-hop distance (given by a path containing at most hh edges) on G=(V,EF)G'=(V, E\cup F). Our algorithm can maintain an (no(1),ϵ)(n^{o(1)}, \epsilon)-hop set of near-linear size in near-linear time under edge deletions.Comment: Accepted to Journal of the ACM. A preliminary version of this paper was presented at the 55th IEEE Symposium on Foundations of Computer Science (FOCS 2014). Abstract shortened to respect the arXiv limit of 1920 character

    A Superstabilizing log(n)\log(n)-Approximation Algorithm for Dynamic Steiner Trees

    Get PDF
    In this paper we design and prove correct a fully dynamic distributed algorithm for maintaining an approximate Steiner tree that connects via a minimum-weight spanning tree a subset of nodes of a network (referred as Steiner members or Steiner group) . Steiner trees are good candidates to efficiently implement communication primitives such as publish/subscribe or multicast, essential building blocks for the new emergent networks (e.g. P2P, sensor or adhoc networks). The cost of the solution returned by our algorithm is at most logS\log |S| times the cost of an optimal solution, where SS is the group of members. Our algorithm improves over existing solutions in several ways. First, it tolerates the dynamism of both the group members and the network. Next, our algorithm is self-stabilizing, that is, it copes with nodes memory corruption. Last but not least, our algorithm is \emph{superstabilizing}. That is, while converging to a correct configuration (i.e., a Steiner tree) after a modification of the network, it keeps offering the Steiner tree service during the stabilization time to all members that have not been affected by this modification

    Fast Dynamic Graph Algorithms for Parameterized Problems

    Full text link
    Fully dynamic graph is a data structure that (1) supports edge insertions and deletions and (2) answers problem specific queries. The time complexity of (1) and (2) are referred to as the update time and the query time respectively. There are many researches on dynamic graphs whose update time and query time are o(G)o(|G|), that is, sublinear in the graph size. However, almost all such researches are for problems in P. In this paper, we investigate dynamic graphs for NP-hard problems exploiting the notion of fixed parameter tractability (FPT). We give dynamic graphs for Vertex Cover and Cluster Vertex Deletion parameterized by the solution size kk. These dynamic graphs achieve almost the best possible update time O(poly(k)logn)O(\mathrm{poly}(k)\log n) and the query time O(f(poly(k),k))O(f(\mathrm{poly}(k),k)), where f(n,k)f(n,k) is the time complexity of any static graph algorithm for the problems. We obtain these results by dynamically maintaining an approximate solution which can be used to construct a small problem kernel. Exploiting the dynamic graph for Cluster Vertex Deletion, as a corollary, we obtain a quasilinear-time (polynomial) kernelization algorithm for Cluster Vertex Deletion. Until now, only quadratic time kernelization algorithms are known for this problem. We also give a dynamic graph for Chromatic Number parameterized by the solution size of Cluster Vertex Deletion, and a dynamic graph for bounded-degree Feedback Vertex Set parameterized by the solution size. Assuming the parameter is a constant, each dynamic graph can be updated in O(logn)O(\log n) time and can compute a solution in O(1)O(1) time. These results are obtained by another approach.Comment: SWAT 2014 to appea
    corecore