11,969 research outputs found

    Parallel Batch-Dynamic Graph Connectivity

    Full text link
    In this paper, we study batch parallel algorithms for the dynamic connectivity problem, a fundamental problem that has received considerable attention in the sequential setting. The most well known sequential algorithm for dynamic connectivity is the elegant level-set algorithm of Holm, de Lichtenberg and Thorup (HDT), which achieves O(log2n)O(\log^2 n) amortized time per edge insertion or deletion, and O(logn/loglogn)O(\log n / \log\log n) time per query. We design a parallel batch-dynamic connectivity algorithm that is work-efficient with respect to the HDT algorithm for small batch sizes, and is asymptotically faster when the average batch size is sufficiently large. Given a sequence of batched updates, where Δ\Delta is the average batch size of all deletions, our algorithm achieves O(lognlog(1+n/Δ))O(\log n \log(1 + n / \Delta)) expected amortized work per edge insertion and deletion and O(log3n)O(\log^3 n) depth w.h.p. Our algorithm answers a batch of kk connectivity queries in O(klog(1+n/k))O(k \log(1 + n/k)) expected work and O(logn)O(\log n) depth w.h.p. To the best of our knowledge, our algorithm is the first parallel batch-dynamic algorithm for connectivity.Comment: This is the full version of the paper appearing in the ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), 201

    Faster Worst Case Deterministic Dynamic Connectivity

    Get PDF
    We present a deterministic dynamic connectivity data structure for undirected graphs with worst case update time O(n(loglogn)2logn)O\left(\sqrt{\frac{n(\log\log n)^2}{\log n}}\right) and constant query time. This improves on the previous best deterministic worst case algorithm of Frederickson (STOC 1983) and Eppstein Galil, Italiano, and Nissenzweig (J. ACM 1997), which had update time O(n)O(\sqrt{n}). All other algorithms for dynamic connectivity are either randomized (Monte Carlo) or have only amortized performance guarantees

    Agglomerative Clustering of Growing Squares

    Get PDF
    We study an agglomerative clustering problem motivated by interactive glyphs in geo-visualization. Consider a set of disjoint square glyphs on an interactive map. When the user zooms out, the glyphs grow in size relative to the map, possibly with different speeds. When two glyphs intersect, we wish to replace them by a new glyph that captures the information of the intersecting glyphs. We present a fully dynamic kinetic data structure that maintains a set of nn disjoint growing squares. Our data structure uses O(n(lognloglogn)2)O(n (\log n \log\log n)^2) space, supports queries in worst case O(log3n)O(\log^3 n) time, and updates in O(log7n)O(\log^7 n) amortized time. This leads to an O(nα(n)log7n)O(n\alpha(n)\log^7 n) time algorithm to solve the agglomerative clustering problem. This is a significant improvement over the current best O(n2)O(n^2) time algorithms.Comment: 14 pages, 7 figure

    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
    corecore