Source author record

Andreas Björklund

Andreas Björklund appears in the imported research catalog. Authorship, coauthor and topic links are available while profile ownership is still unclaimed.

ResearcherUnclaimed source record

Catalog footprint

What is connected

14works
4topics
4close collaborators

Actions

Connect this record

Log in to claim

Research graph

See the researcher in context

Open full explorer

Inspect adjacent papers, topics, institutions and collaborators without losing the researcher page.

Building this map preview

BZPEER is loading the nearby papers, people, topics and institutions for this page.

Published work

14 published item(s)

preprint2020arXiv

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.

preprint2020arXiv

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.

preprint2016arXiv

How proofs are prepared at Camelot

We study a design framework for robust, independently verifiable, and workload-balanced distributed algorithms working on a common input. An algorithm based on the framework is essentially a distributed encoding procedure for a Reed--Solomon code, which enables (a) robustness against byzantine failures with intrinsic error-correction and identification of failed nodes, and (b) independent randomized verification to check the entire computation for correctness, which takes essentially no more resources than each node individually contributes to the computation. The framework builds on recent Merlin--Arthur proofs of batch evaluation of Williams~[{\em Electron.\ Colloq.\ Comput.\ Complexity}, Report TR16-002, January 2016] with the observation that {\em Merlin's magic is not needed} for batch evaluation---mere Knights can prepare the proof, in parallel, and with intrinsic error-correction. The contribution of this paper is to show that in many cases the verifiable batch evaluation framework admits algorithms that match in total resource consumption the best known sequential algorithm for solving the problem. As our main result, we show that the $k$-cliques in an $n$-vertex graph can be counted {\em and} verified in per-node $O(n^{(ω+ε)k/6})$ time and space on $O(n^{(ω+ε)k/6})$ compute nodes, for any constant $ε>0$ and positive integer $k$ divisible by $6$, where $2\leqω<2.3728639$ is the exponent of matrix multiplication. This matches in total running time the best known sequential algorithm, due to Ne{š}et{ř}il and Poljak [{\em Comment.~Math.~Univ.~Carolin.}~26 (1985) 415--419], and considerably improves its space usage and parallelizability. Further results include novel algorithms for counting triangles in sparse graphs, computing the chromatic polynomial of a graph, and computing the Tutte polynomial of a graph.

preprint2015arXiv

Coloring Graphs having Few Colorings over Path Decompositions

Lokshtanov, Marx, and Saurabh SODA 2011 proved that there is no $(k-ε)^{\operatorname{pw}(G)}\operatorname{poly}(n)$ time algorithm for deciding if an $n$-vertex graph $G$ with pathwidth $\operatorname{pw}(G)$ admits a proper vertex coloring with $k$ colors unless the Strong Exponential Time Hypothesis (SETH) is false. We show here that nevertheless, when $k>\lfloor Δ/2 \rfloor + 1$, where $Δ$ is the maximum degree in the graph $G$, there is a better algorithm, at least when there are few colorings. We present a Monte Carlo algorithm that given a graph $G$ along with a path decomposition of $G$ with pathwidth $\operatorname{pw}(G)$ runs in $(\lfloor Δ/2 \rfloor + 1)^{\operatorname{pw}(G)}\operatorname{poly}(n)s$ time, that distinguishes between $k$-colorable graphs having at most $s$ proper $k$-colorings and non-$k$-colorable graphs. We also show how to obtain a $k$-coloring in the same asymptotic running time. Our algorithm avoids violating SETH for one since high degree vertices still cost too much and the mentioned hardness construction uses a lot of them. We exploit a new variation of the famous Alon--Tarsi theorem that has an algorithmic advantage over the original form. The original theorem shows a graph has an orientation with outdegree less than $k$ at every vertex, with a different number of odd and even Eulerian subgraphs only if the graph is $k$-colorable, but there is no known way of efficiently finding such an orientation. Our new form shows that if we instead count another difference of even and odd subgraphs meeting modular degree constraints at every vertex picked uniformly at random, we have a fair chance of getting a non-zero value if the graph has few $k$-colorings. Yet every non-$k$-colorable graph gives a zero difference, so a random set of constraints stands a good chance of being useful for separating the two cases.

preprint2015arXiv

Counting thin subgraphs via packings faster than meet-in-the-middle time

Vassilevska and Williams (STOC 2009) showed how to count simple paths on $k$ vertices and matchings on $k/2$ edges in an $n$-vertex graph in time $n^{k/2+O(1)}$. In the same year, two different algorithms with the same runtime were given by Koutis and Williams~(ICALP 2009), and Björklund \emph{et al.} (ESA 2009), via $n^{st/2+O(1)}$-time algorithms for counting $t$-tuples of pairwise disjoint sets drawn from a given family of $s$-sized subsets of an $n$-element universe. Shortly afterwards, Alon and Gutner (TALG 2010) showed that these problems have $Ω(n^{\lfloor st/2\rfloor})$ and $Ω(n^{\lfloor k/2\rfloor})$ lower bounds when counting by color coding. Here we show that one can do better, namely, we show that the "meet-in-the-middle" exponent $st/2$ can be beaten and give an algorithm that counts in time $n^{0.45470382 st + O(1)}$ for $t$ a multiple of three. This implies algorithms for counting occurrences of a fixed subgraph on $k$ vertices and pathwidth $p\ll k$ in an $n$-vertex graph in $n^{0.45470382k+2p+O(1)}$ time, improving on the three mentioned algorithms for paths and matchings, and circumventing the color-coding lower bound. We also give improved bounds for counting $t$-tuples of disjoint $s$-sets for $s=2,3,4$. Our algorithms use fast matrix multiplication. We show an argument that this is necessary to go below the meet-in-the-middle barrier.

preprint2015arXiv

Fast Witness Extraction Using a Decision Oracle

The gist of many (NP-)hard combinatorial problems is to decide whether a universe of $n$ elements contains a witness consisting of $k$ elements that match some prescribed pattern. For some of these problems there are known advanced algebra-based FPT algorithms which solve the decision problem but do not return the witness. We investigate techniques for turning such a YES/NO-decision oracle into an algorithm for extracting a single witness, with an objective to obtain practical scalability for large values of $n$. By relying on techniques from combinatorial group testing, we demonstrate that a witness may be extracted with $O(k\log n)$ queries to either a deterministic or a randomized set inclusion oracle with one-sided probability of error. Furthermore, we demonstrate through implementation and experiments that the algebra-based FPT algorithms are practical, in particular in the setting of the $k$-path problem. Also discussed are engineering issues such as optimizing finite field arithmetic.

preprint2015arXiv

Spotting Trees with Few Leaves

We show two results related to the Hamiltonicity and $k$-Path algorithms in undirected graphs by Björklund [FOCS'10], and Björklund et al., [arXiv'10]. First, we demonstrate that the technique used can be generalized to finding some $k$-vertex tree with $l$ leaves in an $n$-vertex undirected graph in $O^*(1.657^k2^{l/2})$ time. It can be applied as a subroutine to solve the $k$-Internal Spanning Tree ($k$-IST) problem in $O^*(\min(3.455^k, 1.946^n))$ time using polynomial space, improving upon previous algorithms for this problem. In particular, for the first time we break the natural barrier of $O^*(2^n)$. Second, we show that the iterated random bipartition employed by the algorithm can be improved whenever the host graph admits a vertex coloring with few colors; it can be an ordinary proper vertex coloring, a fractional vertex coloring, or a vector coloring. In effect, we show improved bounds for $k$-Path and Hamiltonicity in any graph of maximum degree $Δ=4,\ldots,12$ or with vector chromatic number at most 8.

preprint2013arXiv

Below All Subsets for Some Permutational Counting Problems

We show that the two problems of computing the permanent of an $n\times n$ matrix of $\operatorname{poly}(n)$-bit integers and counting the number of Hamiltonian cycles in a directed $n$-vertex multigraph with $\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(2^n)$ time in the worst case. Classic $\operatorname{poly}(n)2^n$ time algorithms for the two problems have been known since the early 1960's. Our algorithms run in $2^{n-Ω(\sqrt{n/\log n})}$ time.

preprint2011arXiv

Counting Perfect Matchings as Fast as Ryser

We show that there is a polynomial space algorithm that counts the number of perfect matchings in an $n$-vertex graph in $O^*(2^{n/2})\subset O(1.415^n)$ time. ($O^*(f(n))$ suppresses functions polylogarithmic in $f(n)$).The previously fastest algorithms for the problem was the exponential space $O^*(((1+\sqrt{5})/2)^n) \subset O(1.619^n)$ time algorithm by Koivisto, and for polynomial space, the $O(1.942^n)$ time algorithm by Nederlof. Our new algorithm's runtime matches up to polynomial factors that of Ryser's 1963 algorithm for bipartite graphs. We present our algorithm in the more general setting of computing the hafnian over an arbitrary ring, analogously to Ryser's algorithm for permanent computation. We also give a simple argument why the general exact set cover counting problem over a slightly superpolynomial sized family of subsets of an $n$ element ground set cannot be solved in $O^*(2^{(1-ε_1)n})$ time for any $ε_1>0$ unless there are $O^*(2^{(1-ε_2)n})$ time algorithms for computing an $n\times n$ 0/1 matrix permanent, for some $ε_2>0$ depending only on $ε_1$.

preprint2010arXiv

Determinant Sums for Undirected Hamiltonicity

We present a Monte Carlo algorithm for Hamiltonicity detection in an $n$-vertex undirected graph running in $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^*(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.414^{n})$ time. Both the bipartite and the general algorithm can be implemented to use space polynomial in $n$. 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 $k$-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örklund STACS 2010) to evaluate it.

preprint2010arXiv

Exact Covers via Determinants

Given a k-uniform hypergraph on n vertices, partitioned in k equal parts such that every hyperedge includes one vertex from each part, the k-dimensional matching problem asks whether there is a disjoint collection of the hyperedges which covers all vertices. We show it can be solved by a randomized polynomial space algorithm in time O*(2^(n(k-2)/k)). The O*() notation hides factors polynomial in n and k. When we drop the partition constraint and permit arbitrary hyperedges of cardinality k, we obtain the exact cover by k-sets problem. We show it can be solved by a randomized polynomial space algorithm in time O*(c_k^n), where c_3=1.496, c_4=1.642, c_5=1.721, and provide a general bound for larger k. Both results substantially improve on the previous best algorithms for these problems, especially for small k, and follow from the new observation that Lovasz' perfect matching detection via determinants (1979) admits an embedding in the recently proposed inclusion-exclusion counting scheme for set covers, despite its inability to count the perfect matchings.

preprint2010arXiv

Narrow sieves for parameterized paths and packings

We present randomized algorithms for some well-studied, hard combinatorial problems: the k-path problem, the p-packing of q-sets problem, and the q-dimensional p-matching problem. Our algorithms solve these problems with high probability in time exponential only in the parameter (k, p, q) and using polynomial space; the constant bases of the exponentials are significantly smaller than in previous works. For example, for the k-path problem the improvement is from 2 to 1.66. We also show how to detect if a d-regular graph admits an edge coloring with $d$ colors in time within a polynomial factor of O(2^{(d-1)n/2}). Our techniques build upon and generalize some recently published ideas by I. Koutis (ICALP 2009), R. Williams (IPL 2009), and A. Björklund (STACS 2010, FOCS 2010).

preprint2006arXiv

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).