11 research outputs found

    Faster exponential-time algorithms in graphs of bounded average degree

    Get PDF
    We first show that the Traveling Salesman Problem in an n-vertex graph with average degree bounded by d can be solved in O*(2^{(1-\eps_d)n}) time and exponential space for a constant \eps_d depending only on d, where the O*-notation suppresses factors polynomial in the input size. Thus, we generalize the recent results of Bjorklund et al. [TALG 2012] on graphs of bounded degree. Then, we move to the problem of counting perfect matchings in a graph. We first present a simple algorithm for counting perfect matchings in an n-vertex graph in O*(2^{n/2}) time and polynomial space; our algorithm matches the complexity bounds of the algorithm of Bjorklund [SODA 2012], but relies on inclusion-exclusion principle instead of algebraic transformations. Building upon this result, we show that the number of perfect matchings in an n-vertex graph with average degree bounded by d can be computed in O*(2^{(1-\eps_{2d})n/2}) time and exponential space, where \eps_{2d} is the constant obtained by us for the Traveling Salesman Problem in graphs of average degree at most 2d. Moreover we obtain a simple algorithm that counts the number of perfect matchings in an n-vertex bipartite graph of average degree at most d in O*(2^{(1-1/(3.55d))n/2}) time, improving and simplifying the recent result of Izumi and Wadayama [FOCS 2012].Comment: 10 page

    Families with infants: a general approach to solve hard partition problems

    Full text link
    We introduce a general approach for solving partition problems where the goal is to represent a given set as a union (either disjoint or not) of subsets satisfying certain properties. Many NP-hard problems can be naturally stated as such partition problems. We show that if one can find a large enough system of so-called families with infants for a given problem, then this problem can be solved faster than by a straightforward algorithm. We use this approach to improve known bounds for several NP-hard problems as well as to simplify the proofs of several known results. For the chromatic number problem we present an algorithm with O((2ε(d))n)O^*((2-\varepsilon(d))^n) time and exponential space for graphs of average degree dd. This improves the algorithm by Bj\"{o}rklund et al. [Theory Comput. Syst. 2010] that works for graphs of bounded maximum (as opposed to average) degree and closes an open problem stated by Cygan and Pilipczuk [ICALP 2013]. For the traveling salesman problem we give an algorithm working in O((2ε(d))n)O^*((2-\varepsilon(d))^n) time and polynomial space for graphs of average degree dd. The previously known results of this kind is a polyspace algorithm by Bj\"{o}rklund et al. [ICALP 2008] for graphs of bounded maximum degree and an exponential space algorithm for bounded average degree by Cygan and Pilipczuk [ICALP 2013]. For counting perfect matching in graphs of average degree~dd we present an algorithm with running time O((2ε(d))n/2)O^*((2-\varepsilon(d))^{n/2}) and polynomial space. Recent algorithms of this kind due to Cygan, Pilipczuk [ICALP 2013] and Izumi, Wadayama [FOCS 2012] (for bipartite graphs only) use exponential space.Comment: 18 pages, a revised version of this paper is available at http://arxiv.org/abs/1410.220

    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

    A faster hafnian formula for complex matrices and its benchmarking on a supercomputer

    Full text link
    We introduce new and simple algorithms for the calculation of the number of perfect matchings of complex weighted, undirected graphs with and without loops. Our compact formulas for the hafnian and loop hafnian of n×nn \times n complex matrices run in O(n32n/2)O(n^3 2^{n/2}) time, are embarrassingly parallelizable and, to the best of our knowledge, are the fastest exact algorithms to compute these quantities. Despite our highly optimized algorithm, numerical benchmarks on the Titan supercomputer with matrices up to size 56×5656 \times 56 indicate that one would require the 288000 CPUs of this machine for about a month and a half to compute the hafnian of a 100×100100 \times 100 matrix.Comment: 11 pages, 7 figures. The source code of the library is available at https://github.com/XanaduAI/hafnian . Accepted for publication in Journal of Experimental Algorithmic

    Franck-Condon factors by counting perfect matchings of graphs with loops

    Full text link
    We show that the Franck-Condon Factor (FCF) associated to a transition between initial and final vibrational states in two different potential energy surfaces, having NN and MM vibrational quanta, respectively, is equivalent to calculating the number of perfect matchings of a weighted graph with loops that has P=N+MP = N+M vertices. This last quantity is the loop hafnian of the (symmetric) adjacency matrix of the graph which can be calculated in O(P32P/2)O(P^3 2^{P/2}) steps. In the limit of small numbers of vibrational quanta per normal mode our loop hafnian formula significantly improves the speed at which FCFs can be calculated. Our results more generally apply to the calculation of the matrix elements of a bosonic Gaussian unitary between two multimode Fock states having NN and MM photons in total and provide a useful link between certain calculations of quantum chemistry, quantum optics and graph theory.Comment: 13+3 pages, 4 figures. Source code available at https://github.com/XanaduAI/fockgaussia
    corecore