8,876 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
Polynomial-Time Space-Optimal Silent Self-Stabilizing Minimum-Degree Spanning Tree Construction
Motivated by applications to sensor networks, as well as to many other areas,
this paper studies the construction of minimum-degree spanning trees. We
consider the classical node-register state model, with a weakly fair scheduler,
and we present a space-optimal \emph{silent} self-stabilizing construction of
minimum-degree spanning trees in this model. Computing a spanning tree with
minimum degree is NP-hard. Therefore, we actually focus on constructing a
spanning tree whose degree is within one from the optimal. Our algorithm uses
registers on bits, converges in a polynomial number of rounds, and
performs polynomial-time computation at each node. Specifically, the algorithm
constructs and stabilizes on a special class of spanning trees, with degree at
most . Indeed, we prove that, unless NP coNP, there are no
proof-labeling schemes involving polynomial-time computation at each node for
the whole family of spanning trees with degree at most . Up to our
knowledge, this is the first example of the design of a compact silent
self-stabilizing algorithm constructing, and stabilizing on a subset of optimal
solutions to a natural problem for which there are no time-efficient
proof-labeling schemes. On our way to design our algorithm, we establish a set
of independent results that may have interest on their own. In particular, we
describe a new space-optimal silent self-stabilizing spanning tree
construction, stabilizing on \emph{any} spanning tree, in rounds, and
using just \emph{one} additional bit compared to the size of the labels used to
certify trees. We also design a silent loop-free self-stabilizing algorithm for
transforming a tree into another tree. Last but not least, we provide a silent
self-stabilizing algorithm for computing and certifying the labels of a
NCA-labeling scheme
Optimal decremental connectivity in planar graphs
We show an algorithm for dynamic maintenance of connectivity information in
an undirected planar graph subject to edge deletions. Our algorithm may answer
connectivity queries of the form `Are vertices and connected with a
path?' in constant time. The queries can be intermixed with any sequence of
edge deletions, and the algorithm handles all updates in time. This
results improves over previously known time algorithm
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
Near Optimal Parallel Algorithms for Dynamic DFS in Undirected Graphs
Depth first search (DFS) tree is a fundamental data structure for solving
graph problems. The classical algorithm [SiComp74] for building a DFS tree
requires time for a given graph having vertices and edges.
Recently, Baswana et al. [SODA16] presented a simple algorithm for updating DFS
tree of an undirected graph after an edge/vertex update in time.
However, their algorithm is strictly sequential. We present an algorithm
achieving similar bounds, that can be adopted easily to the parallel
environment.
In the parallel model, a DFS tree can be computed from scratch using
processors in expected time [SiComp90] on an EREW PRAM, whereas
the best deterministic algorithm takes time
[SiComp90,JAlg93] on a CRCW PRAM. Our algorithm can be used to develop optimal
(upto polylog n factors deterministic algorithms for maintaining fully dynamic
DFS and fault tolerant DFS, of an undirected graph.
1- Parallel Fully Dynamic DFS:
Given an arbitrary online sequence of vertex/edge updates, we can maintain a
DFS tree of an undirected graph in time per update using
processors on an EREW PRAM.
2- Parallel Fault tolerant DFS:
An undirected graph can be preprocessed to build a data structure of size
O(m) such that for a set of updates (where is constant) in the graph,
the updated DFS tree can be computed in time using
processors on an EREW PRAM.
Moreover, our fully dynamic DFS algorithm provides, in a seamless manner,
nearly optimal (upto polylog n factors) algorithms for maintaining a DFS tree
in semi-streaming model and a restricted distributed model. These are the first
parallel, semi-streaming and distributed algorithms for maintaining a DFS tree
in the dynamic setting.Comment: Accepted to appear in SPAA'17, 32 Pages, 5 Figure
Balancing Minimum Spanning and Shortest Path Trees
This paper give a simple linear-time algorithm that, given a weighted
digraph, finds a spanning tree that simultaneously approximates a shortest-path
tree and a minimum spanning tree. The algorithm provides a continuous
trade-off: given the two trees and epsilon > 0, the algorithm returns a
spanning tree in which the distance between any vertex and the root of the
shortest-path tree is at most 1+epsilon times the shortest-path distance, and
yet the total weight of the tree is at most 1+2/epsilon times the weight of a
minimum spanning tree. This is the best tradeoff possible. The paper also
describes a fast parallel implementation.Comment: conference version: ACM-SIAM Symposium on Discrete Algorithms (1993
- …