research

Directed Hamiltonicity and Out-Branchings via Generalized Laplacians

Abstract

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

    Similar works