29,154 research outputs found

    Space Saving by Dynamic Algebraization

    Full text link
    Dynamic programming is widely used for exact computations based on tree decompositions of graphs. However, the space complexity is usually exponential in the treewidth. We study the problem of designing efficient dynamic programming algorithm based on tree decompositions in polynomial space. We show how to construct a tree decomposition and extend the algebraic techniques of Lokshtanov and Nederlof such that the dynamic programming algorithm runs in time O(2h)O^*(2^h), where hh is the maximum number of vertices in the union of bags on the root to leaf paths on a given tree decomposition, which is a parameter closely related to the tree-depth of a graph. We apply our algorithm to the problem of counting perfect matchings on grids and show that it outperforms other polynomial-space solutions. We also apply the algorithm to other set covering and partitioning problems.Comment: 14 pages, 1 figur

    Below All Subsets for Some Permutational Counting Problems

    Full text link
    We show that the two problems of computing the permanent of an n×nn\times n matrix of poly(n)\operatorname{poly}(n)-bit integers and counting the number of Hamiltonian cycles in a directed nn-vertex multigraph with exp(poly(n))\operatorname{exp}(\operatorname{poly}(n)) edges can be reduced to relatively few smaller instances of themselves. In effect we derive the first deterministic algorithms for these two problems that run in o(2n)o(2^n) time in the worst case. Classic poly(n)2n\operatorname{poly}(n)2^n time algorithms for the two problems have been known since the early 1960's. Our algorithms run in 2nΩ(n/logn)2^{n-\Omega(\sqrt{n/\log n})} time.Comment: Corrected several technical errors, added comment on how to use the algorithm for ATSP, and changed title slightly to a more adequate on

    Determinant Sums for Undirected Hamiltonicity

    Full text link
    We present a Monte Carlo algorithm for Hamiltonicity detection in an nn-vertex undirected graph running in O(1.657n)O^*(1.657^{n}) time. To the best of our knowledge, this is the first superpolynomial improvement on the worst case runtime for the problem since the O(2n)O^*(2^n) bound established for TSP almost fifty years ago (Bellman 1962, Held and Karp 1962). It answers in part the first open problem in Woeginger's 2003 survey on exact algorithms for NP-hard problems. For bipartite graphs, we improve the bound to O(1.414n)O^*(1.414^{n}) time. Both the bipartite and the general algorithm can be implemented to use space polynomial in nn. We combine several recently resurrected ideas to get the results. Our main technical contribution is a new reduction inspired by the algebraic sieving method for kk-Path (Koutis ICALP 2008, Williams IPL 2009). We introduce the Labeled Cycle Cover Sum in which we are set to count weighted arc labeled cycle covers over a finite field of characteristic two. We reduce Hamiltonicity to Labeled Cycle Cover Sum and apply the determinant summation technique for Exact Set Covers (Bj\"orklund STACS 2010) to evaluate it.Comment: To appear at IEEE FOCS 201

    Tight Euler tours in uniform hypergraphs - computational aspects

    Full text link
    By a tight tour in a kk-uniform hypergraph HH we mean any sequence of its vertices (w0,w1,,ws1)(w_0,w_1,\ldots,w_{s-1}) such that for all i=0,,s1i=0,\ldots,s-1 the set ei={wi,wi+1,wi+k1}e_i=\{w_i,w_{i+1}\ldots,w_{i+k-1}\} is an edge of HH (where operations on indices are computed modulo ss) and the sets eie_i for i=0,,s1i=0,\ldots,s-1 are pairwise different. A tight tour in HH is a tight Euler tour if it contains all edges of HH. We prove that the problem of deciding if a given 33-uniform hypergraph has a tight Euler tour is NP-complete, and that it cannot be solved in time 2o(m)2^{o(m)} (where mm is the number of edges in the input hypergraph), unless the ETH fails. We also present an exact exponential algorithm for the problem, whose time complexity matches this lower bound, and the space complexity is polynomial. In fact, this algorithm solves a more general problem of computing the number of tight Euler tours in a given uniform hypergraph

    Directed Hamiltonicity and Out-Branchings via Generalized Laplacians

    Get PDF
    We are motivated by a tantalizing open question in exact algorithms: can we detect whether an nn-vertex directed graph GG has a Hamiltonian cycle in time significantly less than 2n2^n? We present new randomized algorithms that improve upon several previous works: 1. We show that for any constant 0<λ<10<\lambda<1 and prime pp we can count the Hamiltonian cycles modulo p(1λ)n3pp^{\lfloor (1-\lambda)\frac{n}{3p}\rfloor} in expected time less than cnc^n for a constant c<2c<2 that depends only on pp and λ\lambda. Such an algorithm was previously known only for the case of counting modulo two [Bj\"orklund and Husfeldt, FOCS 2013]. 2. We show that we can detect a Hamiltonian cycle in O(3nα(G))O^*(3^{n-\alpha(G)}) time and polynomial space, where α(G)\alpha(G) is the size of the maximum independent set in GG. In particular, this yields an O(3n/2)O^*(3^{n/2}) time algorithm for bipartite directed graphs, which is faster than the exponential-space algorithm in [Cygan et al., STOC 2013]. Our algorithms are based on the algebraic combinatorics of "incidence assignments" that we can capture through evaluation of determinants of Laplacian-like matrices, inspired by the Matrix--Tree Theorem for directed graphs. In addition to the novel algorithms for directed Hamiltonicity, we use the Matrix--Tree Theorem to derive simple algebraic algorithms for detecting out-branchings. Specifically, we give an O(2k)O^*(2^k)-time randomized algorithm for detecting out-branchings with at least kk internal vertices, improving upon the algorithms of [Zehavi, ESA 2015] and [Bj\"orklund et al., ICALP 2015]. We also present an algebraic algorithm for the directed kk-Leaf problem, based on a non-standard monomial detection problem

    Dynamic programming based algorithms for set multicover and multiset multicover problems

    Get PDF
    Given a universe N containing n elements and a collection of multisets or sets over N, the multiset multicover (MSMC) problem or the set multicover (SMC) problem is to cover all elements at least a number of times as specified in their coverage requirements with the minimum number of multisets or sets. In this paper, we give various exact algorithms for these two problems with or without constraints on the number of times a multiset or set may be chosen. First, we show that the MSMC without multiplicity constraints problem can be solved in O* ((b + 1)n | F |) time and polynomial space, where b is the maximum coverage requirement and | F | denotes the total number of given multisets over N. (The O* notation suppresses a factor polynomial in n.) To our knowledge, this is the first known exact algorithm for the MSMC without multiplicity constraints problem. Second, by combining dynamic programming and the inclusion-exclusion principle, we can exactly solve the SMC without multiplicity constraints problem in O ((b + 2)n) time. Compared with two recent results, in [Q.-S. Hua, Y. Wang, D. Yu, F.C.M. Lau, Set multi-covering via inclusion-exclusion, Theoretical Computer Science, 410 (38-40) (2009) 3882-3892] and [J. Nederlof, Inclusion exclusion for hard problems, Master Thesis, Utrecht University, The Netherlands, 2008], respectively, ours is the fastest exact algorithm for the SMC without multiplicity constraints problem. Finally, by directly using dynamic programming, we give the first known exact algorithm for the MSMC or the SMC with multiplicity constraints problem in O ((b + 1)n | F |) time and O* ((b + 1)n) space. This algorithm can also be easily adapted as a constructive algorithm for the MSMC without multiplicity constraints problem. © 2010 Elsevier B.V. All rights reserved.postprin
    corecore