11,969 research outputs found
Parallel Batch-Dynamic Graph Connectivity
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 amortized time per
edge insertion or deletion, and 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 is the average batch size of all deletions, our
algorithm achieves expected amortized work per
edge insertion and deletion and depth w.h.p. Our algorithm
answers a batch of connectivity queries in expected
work and 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
Recommended from our members
Fully dynamic maintenance of euclidean minimum spanning trees
We maintain the minimum spanning tree of a point set in the plane, subject to point insertions and deletions, in time O(n^5/6 log1^2/2 n) per update operation. No nontrivial dynamic geometric minimum spanning tree algorithm was previously known. We reduce the problem to maintaining bichromatic closest pairs, which we also solve in the same time bounds. Our algorithm uses a novel construction, the ordered nearest neighbors of a sequence of points. Any point set or bichromatic point set can be ordered so that this graph is a simple path
Faster Worst Case Deterministic Dynamic Connectivity
We present a deterministic dynamic connectivity data structure for undirected
graphs with worst case update time 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
. All other algorithms for dynamic connectivity are either
randomized (Monte Carlo) or have only amortized performance guarantees
Agglomerative Clustering of Growing Squares
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
disjoint growing squares. Our data structure uses
space, supports queries in worst case time, and updates in
amortized time. This leads to an time
algorithm to solve the agglomerative clustering problem. This is a significant
improvement over the current best time algorithms.Comment: 14 pages, 7 figure
Multiple-Edge-Fault-Tolerant Approximate Shortest-Path Trees
Let be an -node and -edge positively real-weighted undirected
graph. For any given integer , we study the problem of designing a
sparse \emph{f-edge-fault-tolerant} (-EFT) {\em -approximate
single-source shortest-path tree} (-ASPT), namely a subgraph of
having as few edges as possible and which, following the failure of a set
of at most edges in , contains paths from a fixed source that are
stretched at most by a factor of . To this respect, we provide an
algorithm that efficiently computes an -EFT -ASPT of size . Our structure improves on a previous related construction designed for
\emph{unweighted} graphs, having the same size but guaranteeing a larger
stretch factor of , plus an additive term of .
Then, we show how to convert our structure into an efficient -EFT
\emph{single-source distance oracle} (SSDO), that can be built in
time, has size , and is able to report,
after the failure of the edge set , in time a
-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 after that a
\emph{batch} of simultaneous edge modifications (i.e., edge insertions,
deletions and weight changes) is performed. For this problem, we build in time a \emph{sensitivity} oracle of size , that
reports in time the (at most ) edges either exiting from
or entering into the MSF. [...]Comment: 16 pages, 4 figure
- …