10,821 research outputs found
Faster Fully Dynamic Transitive Closure in Practice
The fully dynamic transitive closure problem asks to maintain reachability information in a directed graph between arbitrary pairs of vertices, while the graph undergoes a sequence of edge insertions and deletions. The problem has been thoroughly investigated in theory and many specialized algorithms for solving it have been proposed in the last decades. In two large studies [Frigioni ea, 2001; Krommidas and Zaroliagis, 2008], a number of these algorithms have been evaluated experimentally against simple, static algorithms for graph traversal, showing the competitiveness and even superiority of the simple algorithms in practice, except for very dense random graphs or very high ratios of queries. A major drawback of those studies is that only small and mostly randomly generated graphs are considered.
In this paper, we engineer new algorithms to maintain all-pairs reachability information which are simple and space-efficient. Moreover, we perform an extensive experimental evaluation on both generated and real-world instances that are several orders of magnitude larger than those in the previous studies. Our results indicate that our new algorithms outperform all state-of-the-art algorithms on all types of input considerably in practice
Efficient Multi-Robot Coverage of a Known Environment
This paper addresses the complete area coverage problem of a known
environment by multiple-robots. Complete area coverage is the problem of moving
an end-effector over all available space while avoiding existing obstacles. In
such tasks, using multiple robots can increase the efficiency of the area
coverage in terms of minimizing the operational time and increase the
robustness in the face of robot attrition. Unfortunately, the problem of
finding an optimal solution for such an area coverage problem with multiple
robots is known to be NP-complete. In this paper we present two approximation
heuristics for solving the multi-robot coverage problem. The first solution
presented is a direct extension of an efficient single robot area coverage
algorithm, based on an exact cellular decomposition. The second algorithm is a
greedy approach that divides the area into equal regions and applies an
efficient single-robot coverage algorithm to each region. We present
experimental results for two algorithms. Results indicate that our approaches
provide good coverage distribution between robots and minimize the workload per
robot, meanwhile ensuring complete coverage of the area.Comment: In proceedings of IEEE/RSJ International Conference on Intelligent
Robots and Systems (IROS), 201
Extreme Scale De Novo Metagenome Assembly
Metagenome assembly is the process of transforming a set of short,
overlapping, and potentially erroneous DNA segments from environmental samples
into the accurate representation of the underlying microbiomes's genomes.
State-of-the-art tools require big shared memory machines and cannot handle
contemporary metagenome datasets that exceed Terabytes in size. In this paper,
we introduce the MetaHipMer pipeline, a high-quality and high-performance
metagenome assembler that employs an iterative de Bruijn graph approach.
MetaHipMer leverages a specialized scaffolding algorithm that produces long
scaffolds and accommodates the idiosyncrasies of metagenomes. MetaHipMer is
end-to-end parallelized using the Unified Parallel C language and therefore can
run seamlessly on shared and distributed-memory systems. Experimental results
show that MetaHipMer matches or outperforms the state-of-the-art tools in terms
of accuracy. Moreover, MetaHipMer scales efficiently to large concurrencies and
is able to assemble previously intractable grand challenge metagenomes. We
demonstrate the unprecedented capability of MetaHipMer by computing the first
full assembly of the Twitchell Wetlands dataset, consisting of 7.5 billion
reads - size 2.6 TBytes.Comment: Accepted to SC1
Fully Dynamic Single-Source Reachability in Practice: An Experimental Study
Given a directed graph and a source vertex, the fully dynamic single-source
reachability problem is to maintain the set of vertices that are reachable from
the given vertex, subject to edge deletions and insertions. It is one of the
most fundamental problems on graphs and appears directly or indirectly in many
and varied applications. While there has been theoretical work on this problem,
showing both linear conditional lower bounds for the fully dynamic problem and
insertions-only and deletions-only upper bounds beating these conditional lower
bounds, there has been no experimental study that compares the performance of
fully dynamic reachability algorithms in practice. Previous experimental
studies in this area concentrated only on the more general all-pairs
reachability or transitive closure problem and did not use real-world dynamic
graphs.
In this paper, we bridge this gap by empirically studying an extensive set of
algorithms for the single-source reachability problem in the fully dynamic
setting. In particular, we design several fully dynamic variants of well-known
approaches to obtain and maintain reachability information with respect to a
distinguished source. Moreover, we extend the existing insertions-only or
deletions-only upper bounds into fully dynamic algorithms. Even though the
worst-case time per operation of all the fully dynamic algorithms we evaluate
is at least linear in the number of edges in the graph (as is to be expected
given the conditional lower bounds) we show in our extensive experimental
evaluation that their performance differs greatly, both on generated as well as
on real-world instances
Temporal Graph Traversals: Definitions, Algorithms, and Applications
A temporal graph is a graph in which connections between vertices are active
at specific times, and such temporal information leads to completely new
patterns and knowledge that are not present in a non-temporal graph. In this
paper, we study traversal problems in a temporal graph. Graph traversals, such
as DFS and BFS, are basic operations for processing and studying a graph. While
both DFS and BFS are well-known simple concepts, it is non-trivial to adopt the
same notions from a non-temporal graph to a temporal graph. We analyze the
difficulties of defining temporal graph traversals and propose new definitions
of DFS and BFS for a temporal graph. We investigate the properties of temporal
DFS and BFS, and propose efficient algorithms with optimal complexity. In
particular, we also study important applications of temporal DFS and BFS. We
verify the efficiency and importance of our graph traversal algorithms in real
world temporal graphs
A Generic Framework for Engineering Graph Canonization Algorithms
The state-of-the-art tools for practical graph canonization are all based on
the individualization-refinement paradigm, and their difference is primarily in
the choice of heuristics they include and in the actual tool implementation. It
is thus not possible to make a direct comparison of how individual algorithmic
ideas affect the performance on different graph classes.
We present an algorithmic software framework that facilitates implementation
of heuristics as independent extensions to a common core algorithm. It
therefore becomes easy to perform a detailed comparison of the performance and
behaviour of different algorithmic ideas. Implementations are provided of a
range of algorithms for tree traversal, target cell selection, and node
invariant, including choices from the literature and new variations. The
framework readily supports extraction and visualization of detailed data from
separate algorithm executions for subsequent analysis and development of new
heuristics.
Using collections of different graph classes we investigate the effect of
varying the selections of heuristics, often revealing exactly which individual
algorithmic choice is responsible for particularly good or bad performance. On
several benchmark collections, including a newly proposed class of difficult
instances, we additionally find that our implementation performs better than
the current state-of-the-art tools
A Fast Order-Based Approach for Core Maintenance
Graphs have been widely used in many applications such as social networks,
collaboration networks, and biological networks. One important graph analytics
is to explore cohesive subgraphs in a large graph. Among several cohesive
subgraphs studied, k-core is one that can be computed in linear time for a
static graph. Since graphs are evolving in real applications, in this paper, we
study core maintenance which is to reduce the computational cost to compute
k-cores for a graph when graphs are updated from time to time dynamically. We
identify drawbacks of the existing efficient algorithm, which needs a large
search space to find the vertices that need to be updated, and has high
overhead to maintain the index built, when a graph is updated. We propose a new
order-based approach to maintain an order, called k-order, among vertices,
while a graph is updated. Our new algorithm can significantly outperform the
state-of-the-art algorithm up to 3 orders of magnitude for the 11 large real
graphs tested. We report our findings in this paper
- …