15,183 research outputs found
Average Sensitivity of Graph Algorithms
In modern applications of graphs algorithms, where the graphs of interest are
large and dynamic, it is unrealistic to assume that an input representation
contains the full information of a graph being studied. Hence, it is desirable
to use algorithms that, even when only a (large) subgraph is available, output
solutions that are close to the solutions output when the whole graph is
available. We formalize this idea by introducing the notion of average
sensitivity of graph algorithms, which is the average earth mover's distance
between the output distributions of an algorithm on a graph and its subgraph
obtained by removing an edge, where the average is over the edges removed and
the distance between two outputs is the Hamming distance.
In this work, we initiate a systematic study of average sensitivity. After
deriving basic properties of average sensitivity such as composition, we
provide efficient approximation algorithms with low average sensitivities for
concrete graph problems, including the minimum spanning forest problem, the
global minimum cut problem, the minimum - cut problem, and the maximum
matching problem. In addition, we prove that the average sensitivity of our
global minimum cut algorithm is almost optimal, by showing a nearly matching
lower bound. We also show that every algorithm for the 2-coloring problem has
average sensitivity linear in the number of vertices. One of the main ideas
involved in designing our algorithms with low average sensitivity is the
following fact; if the presence of a vertex or an edge in the solution output
by an algorithm can be decided locally, then the algorithm has a low average
sensitivity, allowing us to reuse the analyses of known sublinear-time
algorithms and local computation algorithms (LCAs). Using this connection, we
show that every LCA for 2-coloring has linear query complexity, thereby
answering an open question.Comment: 39 pages, 1 figur
Engineering DFS-Based Graph Algorithms
Depth-first search (DFS) is the basis for many efficient graph algorithms. We
introduce general techniques for the efficient implementation of DFS-based
graph algorithms and exemplify them on three algorithms for computing strongly
connected components. The techniques lead to speed-ups by a factor of two to
three compared to the implementations provided by LEDA and BOOST.
We have obtained similar speed-ups for biconnected components algorithms. We
also compare the graph data types of LEDA and BOOST
Modular design of data-parallel graph algorithms
Amorphous Data Parallelism has proven to be a suitable vehicle for implementing concurrent graph algorithms effectively on multi-core architectures. In view of the growing complexity of graph algorithms for information analysis, there is a need to facilitate modular design techniques in the context of Amorphous Data Parallelism. In this paper, we investigate what it takes to formulate algorithms possessing Amorphous Data Parallelism in a modular fashion enabling a large degree of code re-use. Using the betweenness centrality algorithm, a widely popular algorithm in the analysis of social networks, we demonstrate that a single optimisation technique can suffice to enable a modular programming style without loosing the efficiency of a tailor-made monolithic implementation
Fast Dynamic Graph Algorithms for Parameterized Problems
Fully dynamic graph is a data structure that (1) supports edge insertions and
deletions and (2) answers problem specific queries. The time complexity of (1)
and (2) are referred to as the update time and the query time respectively.
There are many researches on dynamic graphs whose update time and query time
are , that is, sublinear in the graph size. However, almost all such
researches are for problems in P. In this paper, we investigate dynamic graphs
for NP-hard problems exploiting the notion of fixed parameter tractability
(FPT).
We give dynamic graphs for Vertex Cover and Cluster Vertex Deletion
parameterized by the solution size . These dynamic graphs achieve almost the
best possible update time and the query time
, where is the time complexity of any static
graph algorithm for the problems. We obtain these results by dynamically
maintaining an approximate solution which can be used to construct a small
problem kernel. Exploiting the dynamic graph for Cluster Vertex Deletion, as a
corollary, we obtain a quasilinear-time (polynomial) kernelization algorithm
for Cluster Vertex Deletion. Until now, only quadratic time kernelization
algorithms are known for this problem.
We also give a dynamic graph for Chromatic Number parameterized by the
solution size of Cluster Vertex Deletion, and a dynamic graph for
bounded-degree Feedback Vertex Set parameterized by the solution size. Assuming
the parameter is a constant, each dynamic graph can be updated in
time and can compute a solution in time. These results are obtained by
another approach.Comment: SWAT 2014 to appea
Recommended from our members
GraphTool : a tool for interactive design and manipulation of graphs and graph algorithms
GraphTool is an interactive tool for editing graphs and visualizing the execution and results of graph algorithms. It runs under both the SunView and X Windows environments and has a full window/mouse interface which is as similar as possible for the two windowing systems. In addition, there is a standalone program called the Wrapper which simulates the Graph-Tool interface without graphics for batch processing of graph algorithms. While the primary purpose of GraphTool is to provide a means for experimentally investigating the performance of graph algorithms, it has other useful features as well. It provides features for printing graphs in a visually appealing format, which makes it easier to prepare papers for publication. It also provides a facility for "animating" algorithms, which means that it can be used in computer assisted instruction (CAI) and for preparing video presentations of algorithms
- …