1,456 research outputs found
Dynamic programming for graphs on surfaces
We provide a framework for the design and analysis of dynamic
programming algorithms for surface-embedded graphs on n vertices
and branchwidth at most k. Our technique applies to general families
of problems where standard dynamic programming runs in 2O(k·log k).
Our approach combines tools from topological graph theory and
analytic combinatorics.Postprint (updated version
Topics in Graph Algorithms: Structural Results and Algorithmic Techniques, with Applications
Coping with computational intractability has inspired the development of a variety of algorithmic techniques. The main challenge has usually been the design of polynomial time algorithms for NP-complete problems in a way that guarantees some, often worst-case, satisfactory performance when compared to exact (optimal) solutions. We mainly study some emergent techniques that help to bridge the gap between computational intractability and practicality. We present results that lead to better exact and approximation algorithms and better implementations. The problems considered in this dissertation share much in common structurally, and have applications in several scientific domains, including circuit design, network reliability, and bioinformatics. We begin by considering the relationship between graph coloring and the immersion order, a well-quasi-order defined on the set of finite graphs. We establish several (structural) results and discuss their potential algorithmic consequences. We discuss graph metrics such as treewidth and pathwidth. Treewidth is well studied, mainly because many problems that are NP-hard in general have polynomial time algorithms when restricted to graphs of bounded treewidth. Pathwidth has many applications ranging from circuit layout to natural language processing. We present a linear time algorithm to approximate the pathwidth of planar graphs that have a fixed disk dimension. We consider the face cover problem, which has potential applications in facilities location and logistics. Being fixed-parameter tractable, we develop an algorithm that solves it in time O(5k + n2) where k is the input parameter. This is a notable improvement over the previous best known algorithm, which runs in O(8kn). In addition to the structural and algorithmic results, this text tries to illustrate the practicality of fixed-parameter algorithms. This is achieved by implementing some algorithms for the vertex cover problem, and conducting experiments on real data sets. Our experiments advocate the viewpoint that, for many practical purposes, exact solutions of some NP-complete problems are affordable
Dynamic Programming for Graphs on Surfaces
We provide a framework for the design and analysis of dynamic programming
algorithms for surface-embedded graphs on n vertices and branchwidth at most k.
Our technique applies to general families of problems where standard dynamic
programming runs in 2^{O(k log k)} n steps. Our approach combines tools from
topological graph theory and analytic combinatorics. In particular, we
introduce a new type of branch decomposition called "surface cut
decomposition", generalizing sphere cut decompositions of planar graphs
introduced by Seymour and Thomas, which has nice combinatorial properties.
Namely, the number of partial solutions that can be arranged on a surface cut
decomposition can be upper-bounded by the number of non-crossing partitions on
surfaces with boundary. It follows that partial solutions can be represented by
a single-exponential (in the branchwidth k) number of configurations. This
proves that, when applied on surface cut decompositions, dynamic programming
runs in 2^{O(k)} n steps. That way, we considerably extend the class of
problems that can be solved in running times with a single-exponential
dependence on branchwidth and unify/improve most previous results in this
direction.Comment: 28 pages, 3 figure
On space efficiency of algorithms working on structural decompositions of graphs
Dynamic programming on path and tree decompositions of graphs is a technique
that is ubiquitous in the field of parameterized and exponential-time
algorithms. However, one of its drawbacks is that the space usage is
exponential in the decomposition's width. Following the work of Allender et al.
[Theory of Computing, '14], we investigate whether this space complexity
explosion is unavoidable. Using the idea of reparameterization of Cai and
Juedes [J. Comput. Syst. Sci., '03], we prove that the question is closely
related to a conjecture that the Longest Common Subsequence problem
parameterized by the number of input strings does not admit an algorithm that
simultaneously uses XP time and FPT space. Moreover, we complete the complexity
landscape sketched for pathwidth and treewidth by Allender et al. by
considering the parameter tree-depth. We prove that computations on tree-depth
decompositions correspond to a model of non-deterministic machines that work in
polynomial time and logarithmic space, with access to an auxiliary stack of
maximum height equal to the decomposition's depth. Together with the results of
Allender et al., this describes a hierarchy of complexity classes for
polynomial-time non-deterministic machines with different restrictions on the
access to working space, which mirrors the classic relations between treewidth,
pathwidth, and tree-depth.Comment: An extended abstract appeared in the proceedings of STACS'16. The new
version is augmented with a space-efficient algorithm for Dominating Set
using the Chinese remainder theore
Large induced subgraphs via triangulations and CMSO
We obtain an algorithmic meta-theorem for the following optimization problem.
Let \phi\ be a Counting Monadic Second Order Logic (CMSO) formula and t be an
integer. For a given graph G, the task is to maximize |X| subject to the
following: there is a set of vertices F of G, containing X, such that the
subgraph G[F] induced by F is of treewidth at most t, and structure (G[F],X)
models \phi.
Some special cases of this optimization problem are the following generic
examples. Each of these cases contains various problems as a special subcase:
1) "Maximum induced subgraph with at most l copies of cycles of length 0
modulo m", where for fixed nonnegative integers m and l, the task is to find a
maximum induced subgraph of a given graph with at most l vertex-disjoint cycles
of length 0 modulo m.
2) "Minimum \Gamma-deletion", where for a fixed finite set of graphs \Gamma\
containing a planar graph, the task is to find a maximum induced subgraph of a
given graph containing no graph from \Gamma\ as a minor.
3) "Independent \Pi-packing", where for a fixed finite set of connected
graphs \Pi, the task is to find an induced subgraph G[F] of a given graph G
with the maximum number of connected components, such that each connected
component of G[F] is isomorphic to some graph from \Pi.
We give an algorithm solving the optimization problem on an n-vertex graph G
in time O(#pmc n^{t+4} f(t,\phi)), where #pmc is the number of all potential
maximal cliques in G and f is a function depending of t and \phi\ only. We also
show how a similar running time can be obtained for the weighted version of the
problem. Pipelined with known bounds on the number of potential maximal
cliques, we deduce that our optimization problem can be solved in time
O(1.7347^n) for arbitrary graphs, and in polynomial time for graph classes with
polynomial number of minimal separators
Hitting and Harvesting Pumpkins
The "c-pumpkin" is the graph with two vertices linked by c>0 parallel edges.
A c-pumpkin-model in a graph G is a pair A,B of disjoint subsets of vertices of
G, each inducing a connected subgraph of G, such that there are at least c
edges in G between A and B. We focus on covering and packing c-pumpkin-models
in a given graph: On the one hand, we provide an FPT algorithm running in time
2^O(k) n^O(1) deciding, for any fixed c>0, whether all c-pumpkin-models can be
covered by at most k vertices. This generalizes known single-exponential FPT
algorithms for Vertex Cover and Feedback Vertex Set, which correspond to the
cases c=1,2 respectively. On the other hand, we present a O(log
n)-approximation algorithm for both the problems of covering all
c-pumpkin-models with a smallest number of vertices, and packing a maximum
number of vertex-disjoint c-pumpkin-models.Comment: v2: several minor change
- …