Papers by Andreas Björklund
6 paper(s) by this author
· All BibTeX
The Shortest Even Cycle Problem is Tractable
Given a directed graph, we show how to efficiently find a shortest (directed, simple) cycle on an even number of vertices. As far as we know, no polynomial-time algorithm was previously known for this problem. In fact, finding any even cycle in a directed graph in polynomial time was open for more than two decades until Robertson, Seymour, and Thomas (Ann. of Math. (2) 1999) and, independently, McCuaig (Electron. J. Combin. 2004; announced jointly at STOC 1997) gave an efficiently testable structural characterisation of even-cycle-free directed graphs.
Methodologically, our algorithm relies on algebraic fingerprinting and randomized polynomial identity testing over a finite field, and uses a generating polynomial implicit in Vazirani and Yannakakis ( Discrete Appl. Math. 1989) that enumerates weighted cycle covers as a difference of a permanent and a determinant polynomial. The need to work with the permanent is where our main technical contribution occurs. We design a family of finite commutative rings of characteristic 4 that simultaneously (i) give a nondegenerate representation for the generating polynomial identity via the permanent and the determinant, (ii) support efficient permanent computations, and (iii) enable emulation of finite-field arithmetic in characteristic 2. Here our work is foreshadowed by that of Björklund and Husfeldt (SIAM J. Comput. 2019), who used a considerably less efficient ring design to obtain a polynomial-time algorithm for the shortest two disjoint paths problem.
Building on work of Gilbert and Tarjan (Numer. Math. 1978) as well as Alon and Yuster (J. ACM 2013), we also show how ideas from the nested dissection technique for solving linear equation systems leads to faster algorithm designs when we have control on the separator structure of the input graph; for example, this happens when the input has bounded genus.
Counting Short Vector Pairs by Inner Product and Relations to the Permanent
Given as input two $n$-element sets $\mathcal A,\mathcal B\subseteq\{0,1\}^d$ with $d=c\log n\leq(\log n)^2/(\log\log n)^4$ and a target $t\in \{0,1,\ldots,d\}$, we show how to count the number of pairs $(x,y)\in \mathcal A\times \mathcal B$ with integer inner product $\langle x,y \rangle=t$ deterministically, in $n^2/2^{Ω\bigl(\!\sqrt{\log n\log \log n/(c\log^2 c)}\bigr)}$ time. This demonstrates that one can solve this problem in deterministic subquadratic time almost up to $\log^2 n$ dimensions, nearly matching the dimension bound of a subquadratic randomized detection algorithm of Alman and Williams [FOCS 2015]. We also show how to modify their randomized algorithm to count the pairs w.h.p., to obtain a fast randomized algorithm. Our deterministic algorithm builds on a novel technique of reconstructing a function from sum-aggregates by prime residues, which can be seen as an {\em additive} analog of the Chinese Remainder Theorem. As our second contribution, we relate the fine-grained complexity of the task of counting of vector pairs by inner product to the task of computing a zero-one matrix permanent over the integers.
The Fine-Grained Complexity of Computing the Tutte Polynomial of a Linear Matroid
We show that computing the Tutte polynomial of a linear matroid of dimension $k$ on $k^{O(1)}$ points over a field of $k^{O(1)}$ elements requires $k^{Ω(k)}$ time unless the \#ETH---a counting extension of the Exponential Time Hypothesis of Impagliazzo and Paturi [CCC 1999] due to Dell {\em et al.} [ACM TALG 2014]---is false. This holds also for linear matroids that admit a representation where every point is associated to a vector with at most two nonzero coordinates. We also show that the same is true for computing the Tutte polynomial of a binary matroid of dimension $k$ on $k^{O(1)}$ points with at most three nonzero coordinates in each point's vector. This is in sharp contrast to computing the Tutte polynomial of a $k$-vertex graph (that is, the Tutte polynomial of a {\em graphic} matroid of dimension $k$---which is representable in dimension $k$ over the binary field so that every vector has two nonzero coordinates), which is known to be computable in $2^k k^{O(1)}$ time [Björklund {\em et al.}, FOCS 2008]. Our lower-bound proofs proceed via (i) a connection due to Crapo and Rota [1970] between the number of tuples of codewords of full support and the Tutte polynomial of the matroid associated with the code; (ii) an earlier-established \#ETH-hardness of counting the solutions to a bipartite $(d,2)$-CSP on $n$ vertices in $d^{o(n)}$ time; and (iii) new embeddings of such CSP instances as questions about codewords of full support in a linear code. We complement these lower bounds with two algorithm designs. The first design computes the Tutte polynomial of a linear matroid of dimension~$k$ on $k^{O(1)}$ points in $k^{O(k)}$ operations. The second design generalizes the Björklund~{\em et al.} algorithm and runs in $q^{k+1}k^{O(1)}$ time for linear matroids of dimension $k$ defined over the $q$-element field by $k^{O(1)}$ points with at most two nonzero coordinates each.
Trimmed Moebius Inversion and Graphs of Bounded Degree
Published in Dans Proceedings of the 25th Annual Symposium on the Theoretical Aspects of Computer Science - STACS 2008, Bordeaux : France (2008)
• Search Publication
We study ways to expedite Yates's algorithm for computing the zeta and Moebius transforms of a function defined on the subset lattice. We develop a trimmed variant of Moebius inversion that proceeds point by point, finishing the calculation at a subset before considering its supersets. For an $n$-element universe $U$ and a family $\scr F$ of its subsets, trimmed Moebius inversion allows us to compute the number of packings, coverings, and partitions of $U$ with $k$ sets from $\scr F$ in time within a polynomial factor (in $n$) of the number of supersets of the members of $\scr F$. Relying on an intersection theorem of Chung et al. (1986) to bound the sizes of set families, we apply these ideas to well-studied combinatorial optimisation problems on graphs of maximum degree $Δ$. In particular, we show how to compute the Domatic Number in time within a polynomial factor of $(2^{Δ+1-2)^{n/(Δ+1)$ and the Chromatic Number in time within a polynomial factor of $(2^{Δ+1-Δ-1)^{n/(Δ+1)$. For any constant $Δ$, these bounds are $O\bigl((2-ε)^n\bigr)$ for $ε>0$ independent of the number of vertices $n$.
Computing the Tutte polynomial in vertex-exponential time
The deletion--contraction algorithm is perhaps the most popular method for computing a host of fundamental graph invariants such as the chromatic, flow, and reliability polynomials in graph theory, the Jones polynomial of an alternating link in knot theory, and the partition functions of the models of Ising, Potts, and Fortuin--Kasteleyn in statistical physics. Prior to this work, deletion--contraction was also the fastest known general-purpose algorithm for these invariants, running in time roughly proportional to the number of spanning trees in the input graph. Here, we give a substantially faster algorithm that computes the Tutte polynomial--and hence, all the aforementioned invariants and more--of an arbitrary graph in time within a polynomial factor of the number of connected vertex sets. The algorithm actually evaluates a multivariate generalization of the Tutte polynomial by making use of an identity due to Fortuin and Kasteleyn. We also provide a polynomial-space variant of the algorithm and give an analogous result for Chung and Graham's cover polynomial. An implementation of the algorithm outperforms deletion--contraction also in practice.
Fourier meets Möbius: fast subset convolution
We present a fast algorithm for the subset convolution problem: given functions f and g defined on the lattice of subsets of an n-element set N, compute their subset convolution f*g, defined for all S\subseteq N by (f * g)(S) = \sum_{T \subseteq S}f(T) g(S\setminus T), where addition and multiplication is carried out in an arbitrary ring. Via Möbius transform and inversion, our algorithm evaluates the subset convolution in O(n^2 2^n) additions and multiplications, substantially improving upon the straightforward O(3^n) algorithm. Specifically, if the input functions have an integer range {-M,-M+1,...,M}, their subset convolution over the ordinary sum-product ring can be computed in O^*(2^n log M) time; the notation O^* suppresses polylogarithmic factors. Furthermore, using a standard embedding technique we can compute the subset convolution over the max-sum or min-sum semiring in O^*(2^n M) time. To demonstrate the applicability of fast subset convolution, we present the first O^*(2^k n^2 + n m) algorithm for the minimum Steiner tree problem in graphs with n vertices, k terminals, and m edges with bounded integer weights, improving upon the O^*(3^k n + 2^k n^2 + n m) time bound of the classical Dreyfus-Wagner algorithm. We also discuss extensions to recent O^*(2^n)-time algorithms for covering and partitioning problems (Björklund and Husfeldt, FOCS 2006; Koivisto, FOCS 2006).