140 research outputs found

    Topics in Graph Algorithms: Structural Results and Algorithmic Techniques, with Applications

    Get PDF
    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

    Adaptive Computation of the Swap-Insert Correction Distance

    Full text link
    The Swap-Insert Correction distance from a string SS of length nn to another string LL of length mnm\geq n on the alphabet [1..d][1..d] is the minimum number of insertions, and swaps of pairs of adjacent symbols, converting SS into LL. Contrarily to other correction distances, computing it is NP-Hard in the size dd of the alphabet. We describe an algorithm computing this distance in time within O(d2nmgd1)O(d^2 nm g^{d-1}), where there are nαn_\alpha occurrences of α\alpha in SS, mαm_\alpha occurrences of α\alpha in LL, and where g=maxα[1..d]min{nα,mαnα}g=\max_{\alpha\in[1..d]} \min\{n_\alpha,m_\alpha-n_\alpha\} measures the difficulty of the instance. The difficulty gg is bounded by above by various terms, such as the length of the shortest string SS, and by the maximum number of occurrences of a single character in SS. Those results illustrate how, in many cases, the correction distance between two strings can be easier to compute than in the worst case scenario.Comment: 16 pages, no figures, long version of the extended abstract accepted to SPIRE 201

    Data Reductions and Combinatorial Bounds for Improved Approximation Algorithms

    Full text link
    Kernelization algorithms in the context of Parameterized Complexity are often based on a combination of reduction rules and combinatorial insights. We will expose in this paper a similar strategy for obtaining polynomial-time approximation algorithms. Our method features the use of approximation-preserving reductions, akin to the notion of parameterized reductions. We exemplify this method to obtain the currently best approximation algorithms for \textsc{Harmless Set}, \textsc{Differential} and \textsc{Multiple Nonblocker}, all of them can be considered in the context of securing networks or information propagation
    corecore