85,957 research outputs found
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
A survey on algorithmic aspects of modular decomposition
The modular decomposition is a technique that applies but is not restricted
to graphs. The notion of module naturally appears in the proofs of many graph
theoretical theorems. Computing the modular decomposition tree is an important
preprocessing step to solve a large number of combinatorial optimization
problems. Since the first polynomial time algorithm in the early 70's, the
algorithmic of the modular decomposition has known an important development.
This paper survey the ideas and techniques that arose from this line of
research
A Polynomial-time Algorithm for Outerplanar Diameter Improvement
The Outerplanar Diameter Improvement problem asks, given a graph and an
integer , whether it is possible to add edges to in a way that the
resulting graph is outerplanar and has diameter at most . We provide a
dynamic programming algorithm that solves this problem in polynomial time.
Outerplanar Diameter Improvement demonstrates several structural analogues to
the celebrated and challenging Planar Diameter Improvement problem, where the
resulting graph should, instead, be planar. The complexity status of this
latter problem is open.Comment: 24 page
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
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
Maintenance of Strongly Connected Component in Shared-memory Graph
In this paper, we present an on-line fully dynamic algorithm for maintaining
strongly connected component of a directed graph in a shared memory
architecture. The edges and vertices are added or deleted concurrently by fixed
number of threads. To the best of our knowledge, this is the first work to
propose using linearizable concurrent directed graph and is build using both
ordered and unordered list-based set. We provide an empirical comparison
against sequential and coarse-grained. The results show our algorithm's
throughput is increased between 3 to 6x depending on different workload
distributions and applications. We believe that there are huge applications in
the on-line graph. Finally, we show how the algorithm can be extended to
community detection in on-line graph.Comment: 29 pages, 4 figures, Accepted in the Conference NETYS-201
- …