10 research outputs found
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
Multistage Vertex Cover
Covering all edges of a graph by a small number of vertices, this is the NP-hard Vertex Cover problem, is among the most fundamental algorithmic tasks. Following a recent trend in studying dynamic and temporal graphs, we initiate the study of Multistage Vertex Cover. Herein, having a series of graphs with same vertex set but over time changing edge sets (known as temporal graph consisting of time layers), the goal is to find for each layer of the temporal graph a small vertex cover and to guarantee that the two vertex cover sets between two subsequent layers differ not too much (specified by a given parameter). We show that, different from classic Vertex Cover and some other dynamic or temporal variants of it, Multistage Vertex Cover is computationally hard even in fairly restricted settings. On the positive side, however, we also spot several fixed-parameter tractability results based on some of the most natural parameterizations
Dynamic Parameterized Problems and Algorithms
Fixed-parameter algorithms and kernelization are two powerful methods to solve NP-hard problems. Yet, so far those algorithms have been largely restricted to static inputs. In this paper we provide fixed-parameter algorithms and kernelizations for fundamental NP-hard problems with dynamic inputs. We consider a variety of parameterized graph and hitting set problems which are known to have f(k)n^{1+o(1)} time algorithms on inputs of size n, and we consider the question of whether there is a data structure that supports small updates (such as edge/vertex/set/element insertions and deletions) with an update time of g(k)n^{o(1)}; such an update time would be essentially optimal. Update and query times independent of n are particularly desirable. Among many other results, we show that Feedback Vertex Set and k-Path admit dynamic algorithms with f(k)log O(1) n update and query times for some function f depending on the solution size k only.
We complement our positive results by several conditional and unconditional lower bounds. For example, we show that unlike their undirected counterparts, Directed Feedback Vertex Set and Directed k-Path do not admit dynamic algorithms with n^{o(1) } update and query times even for constant solution sizes k <= 3, assuming popular hardness hypotheses. We also show that unconditionally, in the cell probe model, Directed Feedback Vertex Set cannot be solved with update time that is purely a function of k
Dynamic Kernels for Hitting Sets and Set Packing
Computing small kernels for the hitting set problem is a well-studied computational problem where we are given a hypergraph with n vertices and m hyperedges, each of size d for some small constant d, and a parameter k. The task is to compute a new hypergraph, called a kernel, whose size is polynomial with respect to the parameter k and which has a size-k hitting set if, and only if, the original hypergraph has one. State-of-the-art algorithms compute kernels of size k^d (which is a polynomial kernel size as d is a constant), and they do so in time m? 2^d poly(d) for a small polynomial poly(d) (which is a linear runtime as d is again a constant).
We generalize this task to the dynamic setting where hyperedges may continuously be added or deleted and one constantly has to keep track of a size-k^d hitting set kernel in memory (including moments when no size-k hitting set exists). This paper presents a deterministic solution with worst-case time 3^d poly(d) for updating the kernel upon hyperedge inserts and time 5^d poly(d) for updates upon deletions. These bounds nearly match the time 2^d poly(d) needed by the best static algorithm per hyperedge. Let us stress that for constant d our algorithm maintains a dynamic hitting set kernel with constant, deterministic, worst-case update time that is independent of n, m, and the parameter k. As a consequence, we also get a deterministic dynamic algorithm for keeping track of size-k hitting sets in d-hypergraphs with update times O(1) and query times O(c^k) where c = d - 1 + O(1/d) equals the best base known for the static setting
Fixed-Parameter Sensitivity Oracles
We combine ideas from distance sensitivity oracles (DSOs) and fixed-parameter
tractability (FPT) to design sensitivity oracles for FPT graph problems. An
oracle with sensitivity for an FPT problem on a graph with
parameter preprocesses in time . When
queried with a set of at most edges of , the oracle reports the
answer to the -with the same parameter -on the graph , i.e.,
deprived of . The oracle should answer queries in a time that is
significantly faster than merely running the best-known FPT algorithm on
from scratch. We mainly design sensitivity oracles for the -Path and the
-Vertex Cover problem. Following our line of research connecting
fault-tolerant FPT and shortest paths problems, we also introduce
parameterization to the computation of distance preservers. We study the
problem, given a directed unweighted graph with a fixed source and
parameters and , to construct a polynomial-sized oracle that efficiently
reports, for any target vertex and set of at most edges, whether
the distance from to increases at most by an additive term of in
.Comment: 19 pages, 1 figure, abstract shortened to meet ArXiv requirements;
accepted at ITCS'2
Meerkat: A framework for Dynamic Graph Algorithms on GPUs
Graph algorithms are challenging to implement due to their varying topology
and irregular access patterns. Real-world graphs are dynamic in nature and
routinely undergo edge and vertex additions, as well as, deletions. Typical
examples of dynamic graphs are social networks, collaboration networks, and
road networks. Applying static algorithms repeatedly on dynamic graphs is
inefficient. Unfortunately, we know little about how to efficiently process
dynamic graphs on massively parallel architectures such as GPUs. Existing
approaches to represent and process dynamic graphs are either not general or
inefficient. In this work, we propose a library-based framework for dynamic
graph algorithms that proposes a GPU-tailored graph representation and exploits
the warp-cooperative execution model. The library, named Meerkat, builds upon a
recently proposed dynamic graph representation on GPUs. This representation
exploits a hashtable-based mechanism to store a vertex's neighborhood. Meerkat
also enables fast iteration through a group of vertices, such as the whole set
of vertices or the neighbors of a vertex. Based on the efficient iterative
patterns encoded in Meerkat, we implement dynamic versions of the popular graph
algorithms such as breadth-first search, single-source shortest paths, triangle
counting, weakly connected components, and PageRank. Compared to the
state-of-the-art dynamic graph analytics framework Hornet, Meerkat is
, , and faster, for query, insert, and
delete operations, respectively. Using a variety of real-world graphs, we
observe that Meerkat significantly improves the efficiency of the underlying
dynamic graph algorithm. Meerkat performs for BFS,
for SSSP, for PageRank, and for WCC, better than
Hornet on average
Efficient fully dynamic elimination forests with applications to detecting long paths and cycles
We present a data structure that in a dynamic graph of treedepth at most ,
which is modified over time by edge insertions and deletions, maintains an
optimum-height elimination forest. The data structure achieves worst-case
update time , which matches the best known parameter
dependency in the running time of a static fpt algorithm for computing the
treedepth of a graph. This improves a result of Dvo\v{r}\'ak et al. [ESA 2014],
who for the same problem achieved update time for some non-elementary
(i.e. tower-exponential) function . As a by-product, we improve known upper
bounds on the sizes of minimal obstructions for having treedepth from
doubly-exponential in to .
As applications, we design new fully dynamic parameterized data structures
for detecting long paths and cycles in general graphs. More precisely, for a
fixed parameter and a dynamic graph , modified over time by edge
insertions and deletions, our data structures maintain answers to the following
queries:
- Does contain a simple path on vertices?
- Does contain a simple cycle on at least vertices?
In the first case, the data structure achieves amortized update time
. In the second case, the amortized update time is . In both cases we assume access to a dictionary
on the edges of .Comment: 74 pages, 5 figure