Counting Perfect Matchings and Hamiltonian Cycles Faster
Abstract
We show that the hafnian of a symmetric matrix of -bit integers (which counts the number of perfect matchings of a -vertex graph) and the number of Hamiltonian cycles of an -vertex directed graph can be computed in time , improving and generalizing an earlier algorithm of Björklund, Kaski, and Williams (Algorithmica 2019) that runs in time .
A key tool of our approach is the design of a data structure that supports fast evaluation of high-order derivatives of hafnian and Hamiltonian cycles, which integrates with the new approach on multivariate multipoint evaluation by Bhargava, Ghosh, Guo, Kumar, and Umans (FOCS 2022, JACM 2024).
Keywords and phrases:
permanent, hafnian, Hamiltonian cycle, Kakeya setsCategory:
Track A: Algorithms, Complexity and GamesFunding:
Baitian Li: Supported in part by NSF Grant CCF-2238221, a Packard Foundation Fellowship, and a Columbia SEAS Presidential Fellowship.2012 ACM Subject Classification:
Theory of computation Design and analysis of algorithmsAcknowledgements:
The work was done when the author was an undergraduate student at Tsinghua University. The author would like to thank Josh Alman and anonymous referees for helpful comments on earlier drafts.Editors:
Sayan Bhattacharya, Danupon Nanongkai, Michael Benedikt, and Gabriele PuppisSeries and Publisher:
Leibniz International Proceedings in Informatics, Schloss Dagstuhl – Leibniz-Zentrum für Informatik
1 Introduction
Given an matrix over a commutative ring , the -Permanent is defined by
where denotes the symmetric group on , i.e., permutations of . Similarly, -HamCycles is defined as
where denotes the number of cycles in .
The permanent and Hamiltonian cycles are two fundamental problems in computer science. The problem of deciding whether a given graph has a Hamiltonian cycle is one of Karp’s 21 -complete problems [19]. Valiant proved that over the integers, computing the permanent is -complete, even if the entries of the matrix are restricted to and [24], and counting Hamiltonian cycles is also -complete [25].
Ryser’s formula [23] shows that the permanent can be computed with arithmetic operations. It remains a prominent open problem whether the permanent can be computed with arithmetic circuits of size less than , as mentioned by Knuth [21, Exercise 4.6.4.11].
Indeed, beyond the confines of arithmetic operations, faster algorithms for computing the permanent have emerged. Bax and Franklin [1] gave an algorithm that computes the -permanent in expected time. For dense instances over finite fields and integers, Björklund [7] introduced a framework based on self-reduction and tabulation, achieving a running time of . Björklund, Kaski, and Williams [11] refined the tabulation step via Kakeya sets, obtaining an improved running time .
1.1 Our results
In this paper, we further improve the algorithm of Björklund, Kaski, and Williams [11], removing the term in the exponent. We also show how to extend the complexity bound for permanent to a natural extension called hafnian.
For a symmetric matrix over a commutative ring , the -Hafnian of is defined as
where is the family of partitions of into pairs. The permanent of an matrix can be reduced to the hafnian of a matrix via the following basic relation:
Previously the best known algorithm for hafnian ran in time (for a matrix), first developed by Björklund [5] and alternatively by Cygan and Pilipczuk [15].
Theorem 1.
There is an algorithm that computes the permanent of a given matrix in time . The same bound holds for hafnian of a given symmetric matrix , and for computing Hamiltonian cycles of a given matrix .
The Chinese remainder theorem and a simple estimate of prime products yield the following corollary for integer-valued matrices.
Corollary 2.
Given a symmetric matrix with integer entries having absolute values bounded by , we can compute (or ) in time . The same type of bound holds for computing Hamiltonian cycles of a given integer matrix.
1.2 Related works
Multivariate Multipoint Evaluation. Our algorithm is inspired by progress in multivariate multipoint evaluation. Kedlaya and Umans [20] introduced a tabulation-based approach (combined with the Chinese remainder theorem) that later became a key ingredient in fast polynomial composition and factorization. More recently, a sequence of works [4, 2, 3] developed the use of Hasse derivatives and Hermite interpolation to extract more information per evaluation point. We adapt these ideas to our sparse tabulation framework.
Permanents. There exist faster algorithms for computing the permanent in other settings. For sparse matrices, Cygan and Pilipczuk [15] gave a time algorithm, where is the average degree of non-zero entries per row. Björklund and Williams [12] gave a time algorithm for -regular bipartite graphs, and a time algorithm that runs over a finite ring with elements. Björklund, Husfeldt, and Lyckberg [9] gave a time algorithm for computing the permanent modulo a prime power , for any constant .
Hamiltonian cycles. There exist faster algorithms for counting Hamiltonian cycles in other settings as well. Björklund, Kaski, and Koutis [10] gave an -time algorithm for counting Hamiltonian cycles modulo moderate prime powers. In the general setting, it is somewhat surprising that our counting algorithm also yields the fastest known algorithm for deciding Hamiltonicity. This differs from the case of permanents: the support of the permanent corresponds to perfect matchings in bipartite graphs, whose existence can be decided in polynomial time. Faster decision algorithms are known in special cases, including Björklund’s -time algorithm for undirected graphs [6] and the -time algorithm of Cygan, Kratsch, and Nederlof for directed bipartite graphs [14].
1.3 Technical overview
For simplicity, we first sketch the case of computing the permanent.
Our improvement comes from combining three ideas:
-
1.
Reduce to smaller instances. We reduce the computation on an matrix to many instances on matrices. Taking around is what creates room for an improvement in the exponent, provided we can answer the reduced instances fast. This kind of reduction (“self-reduction”) for permanents and Hamiltonian cycles was introduced by Björklund [7]. More concretely, for a parameter , the reduction produces about instances on matrices.
-
2.
Tabulate only on a sparse set of points. A direct lookup table for all smaller matrices would be far too large. Instead, we employ the fact that permanent is a low-degree polynomial – we tabulate only on a carefully chosen sparse subset of points with the following key property: for every query point, there exists a low-degree univariate curve passing through it whose other points all lie inside the tabulated subset. Then we can recover the value at the query point by interpolating along that curve. (Over finite fields, such subsets are called Kakeya sets. Björklund, Kaski, and Williams [11] were the first to leverage this idea for multivariate polynomial multipoint evaluation in our setting, and we build on their approach.)
-
3.
Make each tabulated point more informative. Interpolating from plain point evaluations is limited by how many points we see on a curve. We use the recent idea from Bhargava, Ghosh, Guo, Kumar, and Umans [2, 3] to enrich each tabulated point with additional local information (captured via suitable high-order derivatives), and then use Hermite interpolation to recover higher-degree information along the curve. This is what allows the sparse tabulation approach to only require smaller Kakeya sets, thus working at the larger subproblem sizes we need. (We refer to this task as high-order derivative evaluation.)
Our main technical contribution is a dynamic programming algorithm that makes the required derivative access efficient for the permanent, and we develop analogous data structures for hafnian and Hamiltonian cycles. More concretely, for any constant and a parameter , our data structure tabulates over a Kakeya set of size 111Here means that the hidden constant factor depends on . and takes time to evaluate one permanent, so the total time complexity is . Balancing the savings from self-reduction with the costs of tabulation yields the final running time .
The same high-level framework extends to hafnian and Hamiltonian cycles. For hafnian, we derive a suitable self-reduction by modifying components of Björklund’s algorithm [5]. For Hamiltonian cycles, we design an efficient derivative-evaluation data structure based on a determinant characterization [13].
1.4 Discussion
With the tabulation of information on Kakeya sets in dimensional space, our algorithm essentially computes the hafnian and Hamiltonian cycles in time. It seems that a better construction of a smaller Kakeya set of size would lead to a faster algorithm. However, the resolution of the finite field Kakeya conjecture [16, 17] rules out such possibilities, showing that the size of a Kakeya set is at least when the degree of the curve is not greater than , which corresponds to the regime of our application. Thus, the current construction is essentially optimal for our purposes.
It seems that we have reached a limit with the current approach of self-reduction and Kakeya sets. It remains open whether the techniques on perturbing Ryser’s formula, which work well for sparse permanents [12] and modulo permanents [9], can be adapted to dense permanents to achieve a faster algorithm.
2 Preliminaries
2.1 Notation
We use to denote .
Bold symbols like denote vectors .
For any positive integer , we use to denote the set .
We use Iverson’s bracket notation. Let be a logical proposition, we let be if is true and otherwise.
With , we denote the disjoint union of two sets and .
For an matrix , for subsets and , we use to denote the submatrix of with rows indexed by and columns indexed by .
Let denote the partial sum of binomial coefficients, i.e.,
2.2 Inequality for binomials
We need the estimate of the partial sum of binomials, see [18, Lemma 3.13] for a proof.
Lemma 3.
Consider . Then we have
where is the binary entropy function.
2.3 Hermite interpolation
We need the following lemma for Hermite interpolation, see [26, Section 5.6] for a proof.
Lemma 4.
Let be a polynomial of degree less than , and distinct points in , with multiplicities positive integers such that . Given the remainder polynomials for each , then
-
is uniquely determined by these ,
-
moreover, the coefficients of can be recovered in many -operations, given the coefficients of as input.
In particular, our algorithm uses the case where those distinct points are the entire finite field , and for all .
Corollary 5.
Let be a polynomial of degree less than . Given the coefficients of for all , then the coefficients of can be recovered in -operations.
2.4 Multimodular reduction
Our algorithm uses the Chinese remainder theorem to reduce the problem to small finite fields.
Theorem 6.
Let be distinct primes, and be integers such that . Let . Then there exists a unique integer in the range such that for every . Moreover, can be computed in time .
See [26, Section 10.3] for a proof.
We also need an estimate on the product of primes.
Lemma 7.
For an integer , we have
See [20, Lemma 2.4] for a proof.
3 Common framework
In this section, we set up the common framework for computing hafnians and counting Hamiltonian cycles.
3.1 Self reduction
We borrow the self-reduction lemma of Hamiltonian cycles from [7, Lemma 4].
Lemma 8.
Suppose , given a matrix , one can compute instances such that
Furthermore, the computation of these instances takes -operations.
3.2 Kakeya set
We borrow the definition and construction of Kakeya sets mentioned in [11].
Definition 9.
A set is said to be a Kakeya set of degree , if for every , there exists degree- polynomials , such that the degree coefficient of is , and the set
is a subset of .
Theorem 10.
Let be a positive integer such that divides . Then there is a Kakeya set of degree in of size at most
Such can be constructed in time and for each point , the coefficients of the corresponding polynomials can be computed in time .
For the convenience of the reader, we provide the construction below, which is originally from [22].
Proof.
Since divides , we have , thus is coprime with , so is invertible in . For each point , we consider the polynomials given by
The -th degree coefficient of cancels out, and the -th degree coefficient is
So these polynomials satisfy the leading monomial condition of Definition 9, and one can easily compute the coefficients of in polynomial time, through the explicit expression given above.
Since divides , from basic finite field theory, the set consists of and roots of unity of order , so . Let be the set of points
Since each and can take values, we have . Moreover, for each , we have for and . This shows that is indeed a Kakeya set of degree , and satisfies the size bound. It is also straightforward to see that the construction can be done in time .
3.3 High-order derivative evaluation
Definition 11.
Let be a polynomial over indeterminates. We call the following operation a derivative evaluation of at up to order (-order evaluation): Given a polynomial vector , where each is a polynomial with degree less than , and . Compute the coefficients of the polynomial .
This terminology comes from the intuition in characteristic zero. In that case, computing is equivalent to computing all the derivatives of up to order .
Theorem 12.
Let be a homogeneous degree polynomial over indeterminates, be a positive integer such that . Let and . Let be a Kakeya set of degree , with an oracle that supports -order evaluation query at any point of .
Then given any point and the associated curve , we can compute with oracle queries, and arithmetic operations over .
Proof.
By the definition of Kakeya sets, it is guaranteed that for all . The polynomial is of degree . Write with
since , we have
from which we have that the coefficient of in is .
By the choice of , we have . Let . If we are given for each , by Hermite interpolation (Lemma 4), we can recover in operations. So the problem reduces to computing for each .
In order to compute , one can write where , then is the desired result. Thus we have , so we can compute , and then reveal by substituting . The conversion of coefficients only takes arithmetic operations over . Thus we only need to compute for each . This is exactly an -order evaluation of at .
4 Self reduction for hafnian
In this section, we show that it is enough to take a truncation of Björklund’s algorithm [5] to obtain a self-reduction algorithm for the hafnian.
4.1 Technical ingredients from Björklund’s algorithm
First, we list the technical ingredients we borrow from Björklund.
We first recap a basic concept introduced in [5, Section 3.1]. For a commutative ring , the set-partition algebra is defined as follows. Intuitively, may be viewed as a partial semigroup whose elements are the subsets of , with the operation given by disjoint union. Thus, the product of two subsets is defined precisely when and are disjoint. The algebra is then the -algebra associated with this partial semigroup, analogous to the group algebra associated with a group .
More explicitly, every element can be written uniquely as a formal sum
where . Addition in is defined componentwise, while multiplication is given by
where the inner sum ranges over all ordered decompositions of as a disjoint union .
We identify and the inclusion via the inclusion . Computationally, an element can be stored as the coefficients where goes through all subsets of . The multiplication in is known as the subset convolution, which can be done in -operations [8].
Then, Björklund [5, Section 3.2] introduced a sequence of matrices (for ) starting with , together with a sequence called squeeze factors (for ). We will not need the precise definition of these matrices and factors, but we invoke the following two facts.
Lemma 13 (Björklund [5, Lemma 4]).
For every where , the following relation holds:
The above lemma has an efficient algorithmic counterpart.222Lemma 14 is implicit in Björklund’s original paper. In the original text Björklund merely stated how to sequentially compute and for all and gave a time complexity analysis, however, in the last paragraph of [5, Section 3.4], the analysis of a single squeeze step is given.
Lemma 14 (Björklund [5, Section 3.4]).
There is an algorithm that given , computes and in -operations.
4.2 Self reduction via inclusion-exclusion
We take several steps to obtain a self-reduction for hafnian. For , we denote to be the prefix product , by repeatedly applying Lemma 13, we obtain
| (1) |
Then the next step involves extracting the ideas of ranked Möbius transform and inversion from the subset convolution algorithm [8, Section 2].
We consider the ranked Möbius transform, for which for every , we introduce the polynomial defined as
Similarly, we define as
For a polynomial , let denote the coefficient of in . We first prove a general statement and then apply it to equation (1).
Lemma 15.
For a polynomial and , for every , let
and , let its Möbius inversion be
then we have
Proof.
By linearity, it suffices to prove the case when is a monomial. Furthermore, we can without loss of generality, assume that is a monomial of the form
In this case, we have
On the other hand, since is the Möbius transform of , and is the Möbius inversion of , the basic property of the Möbius transform gives us
Since , we have and the equality is attained when form a partition of . Thus, we have
In equation (1), treating as a polynomial in and all entries of , we have the following corollary.
Corollary 16.
For every define by and its Möbius inversion
then we have
Now we are ready to give the self-reduction algorithm for hafnian.
Theorem 17.
Let be a finite field with . There is an algorithm that takes a symmetric matrix as input, outputs instances, consisting of and symmetric matrices such that
This algorithm also runs in -operations.
Proof.
Consider the following algorithm.
-
1.
Iteratively compute and for via Lemma 14.
-
2.
Compute via fast subset convolution [8].
-
3.
Compute and entries of for all , via fast Möbius transform [8, Section 2.2].
-
4.
Let . Since , by Lagrange interpolation, it is possible to choose points and coefficients such that hold for every polynomial of degree at most . For every and , compute the pair of a scalar and a matrix over :
and they are the instances we need.
We now explain the correctness of the algorithm. By Corollary 16, we have
Since is a polynomial of degree in the entries of , is a polynomial of degree in , so we have
correctly computes . Each step of the algorithm requires -operations, and outputs many instances, each is a tuple consisting of a scalar in and a matrix in .
5 Data structure for hafnian
Lemma 18.
For a commutative ring and symmetric matrices , we have
Proof.
We give a combinatorial proof. The hafnian takes the summation over perfect matchings of the complete graph with the product of edge weights. By expanding the product of , this is equivalent to coloring each selected edge with one of two colors and , and taking the product of the weights of edges with the selected color. Hence we can first determine the vertices whose matching edges have color and respectively, say vertices colored by form the set (whose cardinality must be even). Then the contribution of such a coloring is .
Theorem 19.
Given a symmetric matrix and a positive integer , we can precompute in time , and answer the -order evaluation of hafnian at in time . Both are measured in -operations.
Proof.
We write , where has no constant term.
Note that when , the term does not contribute to the result. Let , these can be computed via dynamic programming, described as follows.
For the base case, we have .
For and , let be a member of , by enumerating the matching vertex of , we have
After computing all , we can compute
where can be precomputed via Björklund’s algorithm in time . The precomputation time is , and each query takes time .
Note that when for some , by Lemma 3, precomputation takes time , and each query takes time .
6 Data structure for Hamiltonian cycles
In [13] they considered that Hamiltonian cycles can be counted as spanning trees with restricted degree and used it to count undirected Hamiltonian cycles in time exponential of treewidth. We give a directed version.
Let be a permutation, let denote the permutation matrix associated with , such that .
Lemma 20.
For a permutation ,
Proof.
Consider a directed graph with directed edges , then is exactly the Laplacian of the graph . By the directed version of matrix tree theorem, is the number of directed spanning trees rooted at vertex . When , then clearly there is exactly one spanning tree, otherwise there is no spanning tree. Thus we can conclude the claimed equality.
Therefore, we use the above characterization of Hamiltonian cycles to help computing HamCycles.
Theorem 21.
Given a matrix and a positive integer , we can precompute in , and answer the -order evaluation of Hamiltonian cycles polynomial at in time . Both are measured in -operations.
Proof.
By the definition of HamCycles and Lemma 20, we have
We also expand the determinant by the Leibniz formula, i.e.,
Combining the above two equations, and interpret as , where
denotes the number of inversions for a sequence , we have
Now consider dynamic programming. For and say , let only counts in the last values of and , with domain and , and the inversions of in the last values are counted, i.e.,
| (2) |
We let denote for simplicity in describing the updating rules. The base case is simply , and for each , we use the computed values of with to compute with by the following rules. Let . For each , we can choose to be , then there are two choices of :
Here means the number of elements such that .
Finally, we have the choice of , thus
This dynamic programming takes , which is slower than the usual one, but its dependence on the rows of is explicitly graded by , so is useful for our purpose.
Now suppose the first rows are left undetermined, we can first preprocess all the for in time , since their value does not depend on the first rows. Then for each query, i.e., given the first rows, can be computed in time
Write , where has no constant term, by the multilinearity on rows of , we have
where denote the matrix obtained by replacing the rows indexed in of by those rows of . The terms do not contribute to the result. For each , we can reorder the rows and columns simultaneously to make be the first rows, and use the above dynamic programming to do precomputation and handle queries.
There are ways to choose , so the precomputation needs time, and for each query.
Note that when for some , by Lemma 3, precomputation takes time , and each query takes time .
7 The algorithms
We first prove Theorem 1 under some restrictions, and then remove the restrictions by bootstrapping the results.
Lemma 22.
Let satisfy and , where . There is an algorithm that computes the hafnian of a given symmetric matrix in time , for some .
Proof.
Let and , and consider the following algorithm.
-
1.
First compute the Kakeya set by Theorem 10 over variables of degree .
-
2.
Precompute the data structure for -order evaluation for at each point of .
-
3.
Use the self-reduction of hafnian (Theorem 17) to reduce the problem to instances of size .
-
4.
For each instance, use Theorem 12 to compute the hafnian.
Then we analyze the time complexity. In the precomputation phase, by Theorem 10, the size of Kakeya set is , and by Theorem 19, each data structure takes time to precompute, so the total time of the first two steps is .
The data structure can answer -order evaluation in time . Here we have , hence , the total time in last two steps is
In conclusion, we have satisfies the requirement.
Lemma 23.
Let satisfy and , where . There is an algorithm that computes Hamiltonian cycles of a given matrix in time , for some .
Proof.
The algorithm is similar to the proof of Lemma 22, with replacing the data structure for Hamiltonian cycles instead of hafnian.
By Theorem 21, the data structure can answer -order evaluation of Hamiltonian cycles in time , where .
Then the total time in the last two steps is
In conclusion, we have satisfies the requirement.
7.1 Proof of Theorem 1
To prove Theorem 1, we only need to remove the conditions of Lemma 22 and Lemma 23 on that and for some fixed modulus .
Note that for some integer , we can embed into a larger finite field . We only need to satisfy and . When is coprime with , taking is enough to satisfy the second condition, where is the Euler totient function. Taking as the smallest multiple of such that , we have .
For the hafnian, since is a prime power, it must be coprime with either or . For Hamiltonian cycles, must be coprime with either or . Therefore, we have since we only consider finite possibilities for .
Therefore, by invoking the algorithms in Lemma 22 and Lemma 23 through the finite field , we can compute the hafnian and Hamiltonian cycles in time .
To actually support the computation in the finite field , we need to find an irreducible polynomial and identify as . We can enumerate the polynomials of degree over and test whether they satisfy the conditions. By [26, Theorem 14.37], the time complexity of testing irreducibility is . The time required to find an irreducible polynomial is , so this is not a bottleneck.
7.2 Proof of Corollary 2
The absolute value of and is trivially bounded by . Let be distinct prime numbers such that . Then if we can compute and modulo , the values of and are uniquely determined.
By the Chinese remainder theorem, we only need to compute and modulo for each , and then combine them to get the result modulo .
By Lemma 7, the primes not greater than have their product greater than . So we only need to compute and over finite fields with . By Theorem 1, we can compute them in time . There are instances to compute. Since the product of the chosen primes has bits, by Theorem 6, it takes time to combine them, which is not a bottleneck. So the total time is .
References
- [1] Eric Bax and Joel Franklin. A finite-difference sieve to count paths and cycles by length. Inform. Process. Lett., 60(4):171–176, 1996. doi:10.1016/S0020-0190(96)00159-7.
- [2] Vishwas Bhargava, Sumanta Ghosh, Zeyu Guo, Mrinal Kumar, and Chris Umans. Fast multivariate multipoint evaluation over all finite fields. In Proceedings of the 63rd annual IEEE symposium on foundations of computer science, FOCS 2022, Denver, CO, USA, October 31 – November 3, 2022, pages 221–232. Los Alamitos, CA: IEEE Computer Society, 2022. doi:10.1109/FOCS54457.2022.00028.
- [3] Vishwas Bhargava, Sumanta Ghosh, Zeyu Guo, Mrinal Kumar, and Chris Umans. Fast multivariate multipoint evaluation over all finite fields. J. ACM, 71(3):Art. 22, 32, 2024. doi:10.1145/3652025.
- [4] Vishwas Bhargava, Sumanta Ghosh, Mrinal Kumar, and Chandra Kanta Mohapatra. Fast, algebraic multivariate multipoint evaluation in small characteristic and applications. In Proceedings of the 54th annual ACM SIGACT symposium on theory of computing, STOC ’22, Rome, Italy June 20–24, 2022, pages 403–415. New York, NY: Association for Computing Machinery (ACM), 2022. doi:10.1145/3519935.3519968.
- [5] Andreas Björklund. Counting perfect matchings as fast as Ryser. In Proceedings of the twenty-third annual acm-siam symposium on discrete algorithms, pages 914–921. SIAM, 2012. doi:10.1137/1.9781611973099.73.
- [6] Andreas Björklund. Determinant sums for undirected Hamiltonicity. SIAM J. Comput., 43(1):280–299, 2014. doi:10.1137/110839229.
- [7] Andreas Björklund. Below all subsets for some permutational counting problems. In 15th Scandinavian symposium and workshops on algorithm theory, SWAT 2016, Reykjavik, Iceland, June 22–24, 2016. Proceedings, page 11. Wadern: Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2016. Id/No 17. doi:10.4230/LIPIcs.SWAT.2016.17.
- [8] Andreas Björklund, Thore Husfeldt, Petteri Kaski, and Mikko Koivisto. Fourier meets Möbius: fast subset convolution. In Proceedings of the thirty-ninth annual ACM symposium on Theory of computing, pages 67–74, 2007. doi:10.1145/1250790.1250801.
- [9] Andreas Björklund, Thore Husfeldt, and Isak Lyckberg. Computing the permanent modulo a prime power. Inform. Process. Lett., 125:20–25, 2017. doi:10.1016/j.ipl.2017.04.015.
- [10] Andreas Björklund, Petteri Kaski, and Ioannis Koutis. Directed Hamiltonicity and out-branchings via generalized Laplacians. In Ioannis Chatzigiannakis, Piotr Indyk, Fabian Kuhn, and Anca Muscholl, editors, 44th International Colloquium on Automata, Languages, and Programming (ICALP 2017), volume 80 of Leibniz International Proceedings in Informatics (LIPIcs), pages 91:1–91:14, Dagstuhl, Germany, 2017. Schloss Dagstuhl – Leibniz-Zentrum für Informatik. doi:10.4230/LIPIcs.ICALP.2017.91.
- [11] Andreas Björklund, Petteri Kaski, and Ryan Williams. Generalized Kakeya sets for polynomial evaluation and faster computation of fermionants. Algorithmica, 81(10):4010–4028, 2019. doi:10.1007/s00453-018-0513-7.
- [12] Andreas Björklund and Ryan Williams. Computing permanents and counting hamiltonian cycles by listing dissimilar vectors. In 46th International Colloquium on Automata, Languages, and Programming, volume 132 of LIPIcs. Leibniz Int. Proc. Inform., pages Art. No. 25, 14. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2019. doi:10.4230/LIPIcs.ICALP.2019.25.
- [13] Hans L. Bodlaender, Marek Cygan, Stefan Kratsch, and Jesper Nederlof. Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth. Inform. and Comput., 243:86–111, 2015. doi:10.1016/j.ic.2014.12.008.
- [14] Marek Cygan, Stefan Kratsch, and Jesper Nederlof. Fast Hamiltonicity checking via bases of perfect matchings. J. ACM, 65(3):Art. 12, 46, 2018. doi:10.1145/3148227.
- [15] Marek Cygan and Marcin Pilipczuk. Faster exponential-time algorithms in graphs of bounded average degree. Inform. and Comput., 243:75–85, 2015. doi:10.1016/j.ic.2014.12.007.
- [16] Zeev Dvir. On the size of Kakeya sets in finite fields. J. Amer. Math. Soc., 22(4):1093–1097, 2009. doi:10.1090/S0894-0347-08-00607-3.
- [17] Zeev Dvir, Swastik Kopparty, Shubhangi Saraf, and Madhu Sudan. Extensions to the method of multiplicities, with applications to Kakeya sets and mergers. SIAM J. Comput., 42(6):2305–2328, 2013. doi:10.1137/100783704.
- [18] Fedor V. Fomin and Dieter Kratsch. Exact exponential algorithms. Texts Theor. Comput. Sci., EATCS Ser. Berlin: Springer, 2010. doi:10.1007/978-3-642-16533-7.
- [19] Richard M. Karp. Reducibility among combinatorial problems. In Complexity of computer computations (Proc. Sympos., IBM Thomas J. Watson Res. Center, Yorktown Heights, N.Y., 1972), The IBM Research Symposia Series, pages 85–103. Plenum, New York-London, 1972. doi:10.1007/978-1-4684-2001-2_9.
- [20] Kiran S. Kedlaya and Christopher Umans. Fast polynomial factorization and modular composition. SIAM J. Comput., 40(6):1767–1802, 2011. doi:10.1137/08073408X.
- [21] Donald E. Knuth. The art of computer programming. Vol. 2: Seminumerical algorithms. Addison-Wesley Publishing Co., Reading, Mass.-London-Don Mills, Ont., 1969.
- [22] Gerd Mockenhaupt and Terence Tao. Restriction and Kakeya phenomena for finite fields. Duke Math. J., 121(1):35–74, 2004. doi:10.1215/S0012-7094-04-12112-8.
- [23] Herbert John Ryser. Combinatorial mathematics, volume No. 14 of The Carus Mathematical Monographs. Mathematical Association of America, distributed by John Wiley and Sons, Inc., New York, 1963. doi:10.5948/UPO9781614440147.
- [24] L. G. Valiant. The complexity of computing the permanent. Theoret. Comput. Sci., 8(2):189–201, 1979. doi:10.1016/0304-3975(79)90044-6.
- [25] Leslie G. Valiant. The complexity of enumeration and reliability problems. SIAM J. Comput., 8(3):410–421, 1979. doi:10.1137/0208032.
- [26] Joachim von zur Gathen and Jürgen Gerhard. Modern computer algebra. Cambridge University Press, Cambridge, third edition, 2013. doi:10.1017/CBO9781139856065.
