alphaFeedback

WorksComputer Science

Get Permanent Results Faster by Counting Stars

AI contributions
  • GPT-6 Astra
View details

Abstract

We show that n×nn \times n permanents can be computed with O∗(2−ε)nO^*{(2-\varepsilon)^n} arithmetic operations over every commutative ring, for ε=10−40\varepsilon = 10^{-40}. This solves a problem stated in Knuth's The Art of Computer Programming. Our algorithm implements the classical Binet–Minc identity with dynamic programming and careful bookkeeping. It also gives algebraic branching programs of size O∗(2−ε)nO^*{(2-\varepsilon)^n}.

AI Statement

This work was developed in an exchange with GPT-6 Astra. The author laid out the old story that embedding counts are linear combinations of homomorphism counts (see, e.g., [25, 26, 27, 29, 30, 31, 32, 33, 34, 37, 38, 35, 36, 28, 39, 4]) and suggested finding a cutoff between different evaluation methods in view of the superexponential number of terms incurred by this technique. The LLM developed the vast majority of the technical work and the author subsequently invested significant effort in distilling the core idea and improving the presentation.

Introduction

We give a dynamic program that computes the permanent of an n×nn \times n matrix AA

per⁡(A)=∑σ∈Sn∏i=1nAi,σ(i)\operatorname{per}(A) = \sum_{\sigma\in S_n} \prod_{i=1}^{n} A_{i,\sigma(i)}

significantly faster than previous algorithms. Below, let O∗(⋅)O^*(\cdot) suppress polynomial factors.

Theorem 1.1. Let ε=10−40\varepsilon= 10^{-40}. The permanent of an n×nn \times n matrix AA over any commutative ring with identity can be computed in O∗((2−ε)n)O^*((2-\varepsilon)^n) ring operations. Moreover, there is an O∗((2−ε)n)O^*((2-\varepsilon)^n) time algorithm that uniformly constructs an algebraic branching program for the n×nn \times n permanent in indeterminates xijx_{ij}. Its transition labels are among xijx_{ij} and 0,1,−10, 1, -1.

For comparison, known algorithms based on Ryser’s and Glynn’s formulas use O(2nn)O(2^n n) operations [2, 5]. Knuth asked whether per⁡(A)\operatorname{per}(A) for a general real n×nn \times n matrix AA can be computed using fewer than 2n2^n arithmetic operations [1 Exercise 4.6.4–11, p. 497]. Writing the running time as O(2n/s(n))O(2^n/s(n)), Björklund [7] and Li [8] obtain savings s(n)=exp⁡(Ω(n/log⁡n))s(n) = \exp(\Omega(\sqrt{n/\log n})) and exp⁡(Ω(n))\exp(\Omega(\sqrt{n})), respectively, for integer matrices with polynomially many bits. For finite rings with q≤nq \le n elements, Björklund and Williams [9] achieve savings exp⁡(Ω(n/q))\exp(\Omega(n/q)). Knuth’s question for general real matrices however remained unanswered, and savings were only known conditionally [10] under Strassen’s asymptotic rank conjecture [12, 13].

Identifying centers of $M$ according to the partition $\pi$

Figure 1. Identifying centers of MM according to the partition π={{1,2,3},{4,5},{6}}\pi= \{\{1,2,3\},\{4,5\},\{6\}\} produces a star forest M/πM/\pi, and a left-pinned map φ\varphi sends the star centers to right vertices.

The Algorithm

Throughout, we view AA as the edge weights of a complete bipartite graph G=(L∪R,E)G = (L \cup R, E) with left vertices L={u1,…,un}L = \{u_1,\ldots,u_n\}, right vertices R={v1,…,vn}R = \{v_1,\ldots,v_n\}, and weight AijA_{ij} on the edge uivju_i v_j. Moreover, we write Pn\mathcal{P}_n for the set-partitions of [n][n], with ∣Pn∣=exp⁡((1+o(1))nlog⁡n)|\mathcal{P}_n| = \exp((1+o(1))n\log n).

The Binet–Minc identity

The starting point of our algorithm is the classical Binet–Minc formula, which expresses the permanent as a signed sum over ∣Pn∣|\mathcal{P}_n| terms that are individually easy to compute. As ∣Pn∣|\mathcal{P}_n| is superexponential, we cannot directly use this formula to obtain faster permanent algorithms. In this paper, we develop mechanisms for evaluating the formula more efficiently.

To explain the Binet–Minc formula itself, start with the matching MM of nn disjoint edges uisiu_i s_i. A left-pinned map φ\varphi from MM to GG is a map φ:V(M)→V(G)\varphi: V(M) \to V(G) with φ(ui)=ui\varphi(u_i) = u_i and φ(si)∈R\varphi(s_i) \in R for all i∈[n]i \in[n]. Its weight is w(φ)=∏iAi,φ(i)w(\varphi) = \prod_i A_{i,\varphi(i)}, where we abuse notation and read φ(si)=vj\varphi(s_i) = v_j as φ(i)=j\varphi(i) = j. Write Φ(M)\Phi(M) for the set of left-pinned maps from MM to GG. As the injective maps φ∈Φ(M)\varphi\in\Phi(M) correspond to permutations of [n][n], we have

per⁡(A)=∑φ∈Φ(M)injectivew(φ).(1)\operatorname{per}(A) = \sum_{\substack{\varphi\in\Phi(M)\\ \text{injective}}} w(\varphi). \tag*{(1)}

While general maps φ∈Φ(M)\varphi\in\Phi(M) need not be injective, we can isolate the injective maps by Möbius inversion. For a partition π∈Pn\pi\in\mathcal{P}_n, define the quotient M/πM/\pi of MM by identifying, for every block B∈πB \in\pi, the vertices {si∣i∈B}\{s_i \mid i \in B\} to a vertex sBs_B. Then M/πM/\pi is a disjoint union of stars, a star forest. We define left-pinned maps from M/πM/\pi exactly as above and denote their set by Φ(M/π)\Phi(M/\pi). The Binet–Minc identity (cf. Theorem 2.1) now recovers the right-hand side of (1) by signed cancellation of map counts, using coefficients μ(π)∈Z\mu(\pi) \in\mathbb{Z}:

per⁡(A)=∑π∈Pnμ(π)∑φ∈Φ(M/π)w(φ).(2)\operatorname{per}(A) = \sum_{\pi\in\mathcal{P}_n} \mu(\pi) \sum_{\varphi\in\Phi(M/\pi)} w(\varphi). \tag*{(2)}

For a fixed partition π∈Pn\pi\in\mathcal{P}_n, the inner sum in (2) factors over the stars, as each star can independently choose a placement φ(sB)=vj\varphi(s_B) = v_j for its center sBs_B. We obtain:

∑φ∈Φ(M/π)w(φ)=∏B∈π(∑j=1n∏i∈BAij).(3)\sum_{\varphi\in\Phi(M/\pi)} w(\varphi) = \prod_{B \in\pi} \left(\sum_{j=1}^{n} \prod_{i \in B} A_{ij}\right). \tag*{(3)}

The right-hand side can be evaluated with O(n2)O(n^2) ring operations. Together with (2), this allows us to evaluate per⁡(A)\operatorname{per}(A) with O∗(∣Pn∣)O^*(|\mathcal{P}_n|) ring operations, which is far from optimal.

Dynamic programming baseline

In preparation for the full construction, we first evaluate (2) by a dynamic programming approach that constructs the partitions π∈Pn\pi\in\mathcal{P}_n and maps φ∈Φ(M/π)\varphi\in\Phi(M/\pi) together, one star at a time. This already yields O∗(2n)O^*(2^n) time. At any given point in the construction, the program only remembers the set of left vertices used so far and a little information about one currently active star that is being constructed. The full dynamic program, discussed later, will use more states.

More formally, the basic DP tracks contributions of partial maps that already cover a set S⊆[n]S \subseteq[n] of left vertices and have a currently active star of size k∈Nk \in\mathbb{N} whose center maps to a given right vertex vj∈Rv_j \in R. We use (k,j)=(0,0)(k,j)=(0,0) when no star is active. The table is organized as follows:

Diagram of the dynamic programming table, showing covered left vertices, size of current star, and center image of current star

Figure 4.

Starting from the initial entry D[∅;0,0]=1D[\varnothing;0,0]=1, each step either

  • begins a new star with the smallest yet uncovered left vertex uiu_i and chooses its center image vjv_j on the right, thereby proceeding to D[S∪{i};1,j]D[S\cup\{i\};1,j], or

  • grows the current star by adding an arbitrary leaf i∉Si\notin S from the left vertices, or

  • closes the current star, proceeding to D[S;0,0]D[S;0,0].

The steps are weighted so that all ways of constructing (π,φ)(\pi,\varphi) contribute a total of μ(π)w(φ)\mu(\pi)w(\varphi) to the final value D[[n];0,0]D[[n];0,0], matching the contribution of (π,φ)(\pi,\varphi) in (2). Because the table has O∗(2n)O^*(2^n) entries and each depends on polynomially many earlier entries, this approach allows us to evaluate (2) with O∗(2n)O^*(2^n) operations. Our actual speedup from Theorem 1.1 follows the same idea, but it adds an extra layer of bookkeeping.

If there were only small stars

Before explaining the full DP leading to Theorem 1.1, imagine first that we could limit the stars grown by the basic DP to have at most rr leaves. In this case, covering ∣S∣=s|S|=s left vertices requires at least s/rs/r stars. Since our DP rules force each new star to begin at the smallest uncovered vertex, the set SS must contain the initial segment 1,…,⌈s/r⌉1,\ldots,\lceil s/r\rceil. This forced prefix leaves only 2n−s/r2^{n-s/r} choices for SS, which in turn leaves only O∗(crn)O^*(c_r^n) table entries for some cr<2c_r<2. This idea was already used by Koivisto for partitioning into sets of bounded size [40 Section 2].

Large stars may form in stellar nurseries

While it would be convenient to simply discard large stars, we must find a way to handle them. Our solution is to defer their formation until the very end, where they can be handled in one batch.

More concretely, for a cutoff r∈Nr\in\mathbb{N} chosen later, we modify the basic DP by (i) growing only stars with at most rr leaves, as above, and (ii) allowing the DP to defer the next vertex u∈Lu\in L to be destined for a large star. Whenever this happens, the DP commits to a right vertex v∈Rv\in R adjacent to uu, but not to the actual star with center vv that will receive uu; recall that φ\varphi may map several star centers to vv. At the end, we compute the contributions of all large stars simultaneously by summing over all groupings of leaves with the same center image into large stars.

This last step requires some bookkeeping, which we keep in a stellar nursery d=(d1,…,dn)\mathbf{d}=(d_1,\ldots,d_n), where djd_j simply counts deferred leaves with center vjv_j. This data suffices to reconstruct the relevant number of groupings, and it gives rise to an enlarged DP table

D[S,d;k,j].D[S,\mathbf{d};k,j].

A crude bound suggests there could be up to (2nn)\binom{2n}{n} vectors d\mathbf{d}, erasing any savings. However, on closer inspection, a delicate trade-off arises: As in the basic DP, each deferred leaf is chosen as the smallest uncovered vertex and therefore extends the initial segment covered by SS. This reduces the number of relevant DP states, exactly as in the small-star case discussed before. Thus, while tracking stellar nurseries incurs an exponential cost, it also reduces the number of DP states by an exponential factor. The final speedup hinges on the balance between these two factors: the total number of DP states must remain bounded by (2−ε)n(2-\varepsilon)^n.

From stargazing to number crunching

To make this trade-off favorable, we additionally allow a budget of at most αrn\alpha_r n stars larger than rr, for sufficiently small αr>0\alpha_r>0. The centers of these stars then have at most αrn\alpha_r n distinct images, so we only need to consider stellar nurseries with at most αrn\alpha_r n nonzero entries. Counting them together with the compatible covered sets SS yields an exponential saving.

To cover all partitions π\pi, we run the DP at several cutoffs rr and large-star budgets αr\alpha_r. As rr increases, more stars can be grown directly and fewer need the nursery. By an elementary counting argument, we can identify a fixed finite list of geometrically increasing cutoffs and corresponding fractions αr\alpha_r, independent of nn, such that every partition π\pi is handled by some cutoff: The main text shows an existence statement, and the appendix shows that 280 cutoffs suffice for Theorem 1.1.

To conclude, we assign each partition π∈Pn\pi\in\mathcal{P}_n to a unique cutoff from the finite parameter list and remember this choice when forming large stars from the stellar nursery. Summing contributions over the different cutoffs makes each (π,φ)(\pi,\varphi) contribute exactly μ(π)w(φ)\mu(\pi)w(\varphi). Overall, this evaluates (2) with O∗((2−ε)n)O^*((2-\varepsilon)^n) operations for a fixed ε>0\varepsilon>0 and proves Theorem 1.1.

Related Ideas

The Binet–Minc identity generalizes formulas found by Binet in 1812; its general form was given by Minc in 1979 [3]. It is an application of Möbius inversion on the lattice of set partitions, which was used for more general subgraph counting problems [25, 26]. The concrete Binet–Minc identity was used algorithmically for rectangular permanents [20]. It also occurs in circuit homogenization [21], set-multilinearization [22], and in works on the complexity of monomial symmetric polynomials [23, 24].

Our algorithm is inspired by Koivisto’s smallest-element ordering for set partitions with bounded block size [40], and by the chromatic-number algorithm of Björklund et al. [11], which combines specialized coloring routines with three-way partitioning under the asymptotic rank conjecture.

Neither False nor Obvious

An exponential improvement over the long-standing O∗(2n)O^*(2^n) time algorithms for permanents, under a dubious paper title, should naturally raise doubts. One answer to such concerns is provided in the ancillary proof of the following Lean statement. See Appendix § 8 for the definitions used.

theorem main_abp :
  ∃ (C : ℝ) (d : ℕ), 0 < C ∧ ∀ n : ℕ, ∃ G : ABP n,
    (∀ A : Fin n → Fin n → ℤ, G.output A = permanent A) ∧
    (G.vertices + G.transitions : ℝ) ≤ C * (n+1 : ℝ)^d * (2 : ℝ)^((0.999994 : ℝ)*n)

This certifies that the ABP existence part (over Z\mathbb{Z}) asserted by Theorem 1.1 is true. Let us also explain why it might be true, i.e., why it evades known lower bounds in restricted models.

  1. It is known that monotone arithmetic circuits for the permanent require Ω(2n)\Omega(2^n) size [14]. Our algorithm however crucially uses signed terms and their cancellations.

  1. ABPs for the permanent require size Ω(2n)\Omega(2^n) when every source-to-sink path uses the same fixed row order [15 Theorem 2.4]. While our rule for beginning stars would be compatible with the ascending row order, arbitrary uncovered left vertices may be added as leaves to the current star. This means that different walks through the ABP can use different row orders.

  1. The standard conversion from ABPs to determinants translates our Theorem 1.1 into a determinantal representation of dimension O∗((2−ε)n)O^*((2-\varepsilon)^n) for the permanent. Landsberg and Ressayre [16] prove a 2n−12^n-1 lower bound under equivariance, but this requires that row permutations of the input lift to compatible symmetries of the representation. Because we need to choose the smallest uncovered left vertex when beginning a new star, our rules impose an order on the left vertices, so our representation lies outside this model.

Note also that the recent subexponential #3\#3-SAT algorithms [41, 42] give 2o(v+e)2^{o(v+e)} time for counting perfect matchings in graphs with vv vertices and ee edges, when used with a standard reduction. For dense n×nn \times n permanent instances, this encoding has Θ(n2)\Theta(n^2) variables, so it does not give the bound in Theorem 1.1. However, a more efficient reduction is not ruled out.

Preliminaries

Throughout, rings are commutative with identity, and additions and multiplications have unit cost. For a statement ϕ\phi, the Iverson bracket [ϕ][\phi] is 1 if ϕ\phi holds and 0 otherwise.

The permanent counts injective left-pinned maps from the matching MM to GG. Binet–Minc recovers this count from left-pinned maps of the star forests M/πM/\pi. Identify each left vertex uiu_i with its ordered label ii. For a nonempty block BB and a partition π\pi, let

μ(B)=(−1)∣B∣−1(∣B∣−1)!andμ(π)=∏B∈πμ(B).(4)\mu(B)=(-1)^{|B|-1}(|B|-1)! \qquad\text{and}\qquad\mu(\pi)=\prod_{B\in\pi}\mu(B). \tag*{(4)}

Theorem 2.1 (Binet–Minc [3 Theorem 2]). Over every commutative ring with identity,

per⁡(A)=∑π∈Pnμ(π)∑φ∈Φ(M/π)w(φ).(5)\operatorname{per}(A)=\sum_{\pi\in\mathcal{P}_n}\mu(\pi)\sum_{\varphi\in\Phi(M/\pi)}w(\varphi). \tag*{(5)}

Proof. Fix a map f:[n]→[n]f:[n]\to[n] sending each left vertex uiu_i to the right vertex vf(i)v_{f(i)}, and let σ\sigma partition the left vertices by their images under ff. The map ff contributes the weight ∏i=1nAi,f(i)\prod_{i=1}^{n}A_{i,f(i)} for each partition π\pi on whose blocks it is constant, that is, for each π\pi refining σ\sigma. The total coefficient of this contribution is therefore

∑π⪯σμ(π)=∏C∈σ(∑ρ∈P(C)∏B∈ρμ(B)).\sum_{\pi\preceq\sigma}\mu(\pi)=\prod_{C\in\sigma}\left(\sum_{\rho\in\mathcal{P}(C)}\prod_{B\in\rho}\mu(B)\right).

The inner sum is the signed sum over permutations of CC: their cycles have supports BB, and a support of size bb admits (b−1)!(b-1)! cycles, each of sign (−1)b−1(-1)^{b-1}. This sum equals ∣C∣=1|C|=1, since for ∣C∣>1|C|>1 composing with a fixed transposition pairs opposite signs. Exactly the bijections ff survive, each with coefficient one. ▫

The individual map counts in (5) are easy to evaluate by (3), but there are superexponentially many partitions π\pi. We therefore construct π\pi and φ\varphi together and share work whenever partial constructions have the same possible continuations. The following model captures such computations.

Definition 2.2. An algebraic branching program (ABP) in a set of indeterminates XX is a tuple B=(H,s,t,λ)\mathcal{B}=(H,\mathrm{s},\mathrm{t},\lambda), where H=(V,E)H=(V,E) is a finite acyclic digraph, s,t∈V\mathrm{s},\mathrm{t}\in V are source and sink nodes with no incoming and no outgoing transitions, respectively, and λ\lambda assigns a polynomial in XX to each e∈Ee\in E. We call the elements of VV nodes and those of EE transitions. For each τ∈V\tau\in V, define

DB[τ]=∑P:path s⇝τ in Hwt⁡(P)withwt⁡(P)=∏e∈Pλ(e).(6)D_{\mathcal{B}}[\tau]=\sum_{P:\text{path }\mathrm{s}\rightsquigarrow\tau\text{ in }H}\operatorname{wt}(P) \qquad\text{with}\qquad \operatorname{wt}(P)=\prod_{e\in P}\lambda(e). \tag*{(6)}

The ABP computes DB[t]D_{\mathcal{B}}[\mathrm{t}] and we usually omit the subscript B\mathcal{B} from DBD_{\mathcal{B}}. Its size is ∣V∣+∣E∣|V|+|E| and its effective size counts the nodes reachable from s\mathrm{s}.

With D[s]=1D[\mathrm{s}]=1, all node values can be evaluated by dynamic programming in topological order. Joining disjoint ABPs to a new common source and sink by unit transitions gives an ABP computing the sum of their outputs.

Basic Dynamic Programming

Following the introduction, we first realize the Binet–Minc sum (5) by an ABP whose paths construct star forests M/πM/\pi together with their left-pinned maps φ\varphi. The ABP nodes are indexed by (S;k,j)(S;k,j), where S⊆[n]S\subseteq[n] tracks the covered left vertices, including the leaves of the currently open star. If (k,j)=(0,0)(k,j)=(0,0), then no star is open. Otherwise, k∈{1,…,n}k\in\{1,\ldots,n\} is the current number of leaves in the open star, and j∈[n]j\in[n] specifies its center image vjv_j. Accordingly, the source and sink are s=(∅;0,0)\mathrm{s}=(\varnothing;0,0) and t=([n];0,0)\mathrm{t}=([n];0,0). The construction rules sketched in the introduction manifest themselves in the ABP as three types of labeled transitions, see also Figure 2:

A path in the basic ABP for $n=9$

Figure 2. A path in the basic ABP for n=9n = 9 starts at the empty state. Blue edges belong to the open star and black edges to closed stars; unused vertices are gray. The path continues in Figure 3.

(S;0,0)→Aij(S∪{i};1,j),i=min⁡([n]∖S),j∈[n];(7)(S;0,0)\xrightarrow{A_{ij}}(S\cup\{i\};1,j),\qquad i=\min([n]\setminus S),\quad j\in[n]; \tag*{(7)}
(S;k,j)→−Avj(S∪{v};k+1,j),v∉S;(8)(S;k,j)\xrightarrow{-A_{v_j}}(S\cup\{v\};k+1,j),\qquad v\notin S; \tag*{(8)}
(S;k,j)→1(S;0,0).(9)(S;k,j)\xrightarrow{1}(S;0,0). \tag*{(9)}

Note that Begin requires a closed state with S≠[n]S\ne[n], while Grow and Close require an open star. The ABP has at most O∗(2n)O^*(2^n) nodes, each with O(n)O(n) outgoing transitions: a closed node has at most nn Begin transitions, and an open node has at most nn Grow transitions and one Close transition.

To obtain a topological order, sort the nodes by increasing ∣S∣|S|, with open states before closed states at each level. Then Close advances within a level, and every other transition increases ∣S∣|S|.

Lemma 3.1. The ABP above computes per⁡(A)\operatorname{per}(A).

Proof. Every source-to-sink path determines a partition π∈Pn\pi\in\mathcal{P}_n and a left-pinned map φ∈Φ(M/π)\varphi\in\Phi(M/\pi): each Begin transition begins a star BB and chooses φ(sB)=vj\varphi(s_B)=v_j, the subsequent Grow transitions add its remaining leaves, and Close ends the star. The stars appear in order of their smallest leaves, and each star’s smallest leaf comes first. Conversely, a pair (π,φ)(\pi,\varphi) together with an ordering of each star’s leaves with its smallest leaf first determines a unique source-to-sink path.

Fix (π,φ)(\pi,\varphi). For a star BB of size bb with φ(sB)=vj\varphi(s_B)=v_j, each of its (b−1)!(b-1)! leaf orders contributes the factor (−1)b−1∏i∈BAij(-1)^{b-1}\prod_{i\in B}A_{ij} to the path weight. Summing these factors over the leaf orders gives μ(B)∏i∈BAij\mu(B)\prod_{i\in B}A_{ij}. The leaf orders are chosen independently for each star, so the paths realizing (π,φ)(\pi,\varphi) have total weight μ(π)w(φ)\mu(\pi)w(\varphi). Summing over φ∈Φ(M/π)\varphi\in\Phi(M/\pi) gives μ(π)∑φ∈Φ(M/π)w(φ)\mu(\pi)\sum_{\varphi\in\Phi(M/\pi)}w(\varphi), and then summing over π∈Pn\pi\in\mathcal{P}_n gives per⁡(A)\operatorname{per}(A) by (5). ∎

Constructing the ABP

For our main construction, we build on the ABP from § 3. For a cutoff r≥1r \ge1, the main part described in § 4.2 grows stars with at most rr leaves and records deferred leaves in a stellar nursery. In § 4.3, we describe star-formation gadgets that form the large stars from the stellar nursery post-hoc to obtain the combined ABP.

The final construction relies on a specific parameter choice that is supplied in § 5, which also bounds the effective size of the combined ABP. This section keeps these parameters unspecified for now and focuses on the ABP construction and correctness.

Only Small Stars

As a warm-up, consider a restricted Binet–Minc sum over pairs (π,φ)(\pi,\varphi) such that all blocks in π\pi are of size at most rr, i.e., all stars in M/πM/\pi have at most rr leaves:

∑π∈Pn∀B∈π:∣B∣≤rμ(π)∑φ∈Φ(M/π)w(φ).(10)\sum_{\substack{\pi\in\mathcal{P}_n\\ \forall B \in\pi:\, |B| \le r}} \mu(\pi)\sum_{\varphi\in\Phi(M/\pi)} w(\varphi). \tag*{(10)}

Koivisto’s strategy [40] for partitioning into sets of bounded size allows us to evaluate (10) with exponential savings: Ordering stars by their smallest leaves forces a large covered prefix of left vertices, which significantly restricts the state space.

More concretely, we construct a modified ABP for (10) by keeping Grow transitions from the basic ABP only when k<rk < r. The source-to-sink paths in this modified ABP construct exactly the pairs (π,φ)(\pi,\varphi) with ∣B∣≤r|B| \le r for every B∈πB \in\pi, and as in the proof of Lemma 3.1, the paths realizing each such pair still have total weight μ(π)w(φ)\mu(\pi)w(\varphi). To bound the effective size of this ABP, consider a path from the source to a node (S;k,j)(S;k,j). For S⊆[N]S \subseteq[N], define the prefix length

pref⁡(S)=max⁡{p∈{0,…,N}:[p]⊆S}.(11)\operatorname{pref}(S) = \max\{p \in\{0,\ldots,N\} : [p] \subseteq S\}. \tag*{(11)}

Now say that the path to (S;k,j)(S;k,j) uses exactly b∈Nb \in\mathbb{N} transitions of type Begin. Each such Begin transition covers the smallest uncovered left vertex, so pref⁡(S)≥b\operatorname{pref}(S) \ge b. Moreover, each star has at most rr leaves, so ∣S∣≤rb|S| \le rb. Combining this, we find that only nodes with ∣S∣≤rpref⁡(S)|S| \le r\operatorname{pref}(S) are reachable from the source in the modified ABP. Thus the modified ABP has effective size O∗(crn)O^*(c_r^n) for some cr<2c_r < 2, later quantified in Lemma 5.2.

Stellar Nurseries

Next, we fix a cutoff rr as above and a rational fraction 0≤αr≤10\leq\alpha_r\leq1, and allow for up to αrn\alpha_r n larger stars. For a partition π\pi, write qs(π)q_s(\pi) for the number of blocks B∈πB\in\pi with ∣B∣>s|B|>s. We first construct the main part for the restricted Binet–Minc sum

∑π∈Pnqr(π)≤αrnμ(π)∑φ∈Φ(M/π)w(φ).(12)\sum_{\substack{\pi\in\mathcal{P}_n\\q_r(\pi)\leq\alpha_r n}}\mu(\pi)\sum_{\varphi\in\Phi(M/\pi)}w(\varphi). \tag*{(12)}

In § 4.3, we will further restrict this sum by assigning each partition to one cutoff.

The main part of the ABP keeps the transitions from § 4.1, with Grow still restricted to k<rk<r. For a leaf ii destined for a large star BB, we choose its center image φ(sB)=vj\varphi(s_B)=v_j but defer its block membership to be handled by a star-formation gadget introduced in the next subsection.

To enable this strategy, we extend the indexing of the ABP nodes to (S,d;k,j)(S,\mathbf{d};k,j), where d=(d1,…,dn)∈Nn\mathbf{d}=(d_1,\ldots,d_n)\in\mathbb{N}^n is the stellar nursery. Here djd_j counts deferred leaves with chosen center image vjv_j; the star-formation gadget will use this information to count large stars. For S≠[n]S\neq[n], we maintain stellar nursery information through the following transitions, where eje_j is the jjth unit vector:

Defer: (S,d;0,0)→Aij(S∪{i},d+ej;0,0)(S,\mathbf{d};0,0)\xrightarrow{A_{ij}}(S\cup\{i\},\mathbf{d}+e_j;0,0) with i=min⁡([n]∖S)i=\min([n]\setminus S) and j∈[n]j\in[n], (13)

Note that, for normalization purposes, we may only Defer if no small star is actively being constructed. We can safely keep only nodes with ∣supp⁡(d)∣≤αrn|\operatorname{supp}(\mathbf{d})|\leq\alpha_r n.

The source is (∅,0;0,0)(\varnothing,0;0,0) and § 4.3 will attach a star-formation gadget at each node ([n],d;0,0)([n],\mathbf{d};0,0) of the main part, leading to the common sink trt_r. Figure 3 summarizes the construction.

Continuation of Figure 3 star-formation gadget

Figure 3. Continuation of Figure 2 for cutoff 2, with six orange leaves deferred to v7v_7. The internal nodes of the star-formation gadget show (a;k,ν2)(a;k,\nu_2), blue edges belong to the open star, and dashed arrows abbreviate paths, with unit advances through empty clusters suppressed. The fork shows representative paths to one six-leaf star or two triples; summing all parallel Grow choices gives total weights −5!=−120-5!=-120 and (63)/2⋅(2!)2=40\binom{6}{3}/2\cdot(2!)^2=40, respectively.

Forming Stars in Stellar Nurseries

Fix a finite set R={r1<⋯<rℓ}\mathcal{R}=\{r_1<\cdots<r_\ell\} of cutoffs and rational fractions 0≤αs≤10\le\alpha_s\le1 for s∈Rs\in\mathcal{R}, all independent of nn. Their values will later be chosen in § 5.

Definition 4.1. A cutoff s∈Rs\in\mathcal{R} is admissible for π\pi if qs(π)≤αsnq_s(\pi)\le\alpha_s n. We assume every partition of [n][n], and hence (by singleton padding) every partition of a subset of [n][n], has an admissible cutoff. We assign each partition π\pi to its largest admissible cutoff r(π)r(\pi).

Fact 4.2. Let π\pi be a partition of a subset of [n][n]. For ρ={B∈π:∣B∣>r}\rho=\{B\in\pi:|B|>r\}, we have r(π)=rr(\pi)=r if and only if r(ρ)=rr(\rho)=r. This follows because qs(π)=qs(ρ)q_s(\pi)=q_s(\rho) for every s∈Rs\in\mathcal{R} with s≥rs\ge r.

We now clear the stellar nursery by forming large stars in it, essentially re-using the DP from § 3. Consider a path to a closed terminal node τd=([n],d;0,0)\tau_{\mathbf d}=([n],\mathbf d;0,0) of the main part at cutoff rr, and let UjU_j be its set of deferred leaves with chosen center image vjv_j, so ∣Uj∣=dj|U_j|=d_j. We call UjU_j a cluster. By Fact 4.2, it suffices to enforce r(ρ)=rr(\rho)=r for the partition ρ\rho formed by these large stars.

Definition 4.3 (Star-formation gadget). Given a stellar nursery d∈Nn\mathbf d\in\mathbb{N}^n with ∑jdj≤n\sum_jd_j\le n, choose disjoint clusters U1,…,Un⊆[n]U_1,\ldots,U_n\subseteq[n] with ∣Uj∣=dj|U_j|=d_j and define

Cr(d)=∑ρ:r(ρ)=rμ(ρ),(13)C_r(\mathbf d)=\sum_{\substack{\rho:r(\rho)=r}}\mu(\rho), \tag*{(13)}

where ρ\rho ranges over partitions of U1∪⋯∪UnU_1\cup\cdots\cup U_n into blocks larger than rr, each contained in a single cluster. A star-formation gadget for d\mathbf d is an ABP from τd\tau_{\mathbf d} to τr\tau_r computing Cr(d)C_r(\mathbf d).

Lemma 4.4. Every d\mathbf d admits a star-formation gadget of size O(n∣R∣+4)O(n^{|\mathcal{R}|+4}) with labels ±1\pm1.

Proof. We process the clusters U1,…,UnU_1,\ldots,U_n in nn serial ABP components in order, using DP rules similar to § 3. As unused leaves are interchangeable, our DP only tracks (a;k,ν)(a;k,\boldsymbol{\nu}), where a∈Na\in\mathbb{N} counts unused leaves, k∈Nk\in\mathbb{N} is the size of the currently open star, and counters νs\nu_s for s∈Rs\in\mathcal{R} and s≥rs\ge r count how many stars have grown past size ss, including the open star. Let δk\delta_k be the unit vector at coordinate kk if k∈Rk\in\mathcal{R} and k≥rk\ge r, and zero otherwise. Begin takes the smallest unused leaf, while Grow has aa choices, each of weight −1-1; the label −a-a below abbreviates aa parallel transitions.

Begin:

(a;0,ν)→1(a−1;1,ν),a>0;(14)(a;0,\boldsymbol{\nu})\xrightarrow{1}(a-1;1,\boldsymbol{\nu}),\qquad a>0; \tag*{(14)}

Grow:

(a;k,ν)→−a(a−1;k+1,ν+δk),a,k>0;(15)(a;k,\boldsymbol{\nu})\xrightarrow{-a}(a-1;k+1,\boldsymbol{\nu}+\delta_k),\qquad a,k>0; \tag*{(15)}

Close:

(a;k,ν)→1(a;0,ν),k>r.(16)(a;k,\boldsymbol{\nu})\xrightarrow{1}(a;0,\boldsymbol{\nu}),\qquad k>r. \tag*{(16)}

Use unit transitions to enter (d1;0,0)(d_1;0,0) from τd\tau_{\mathbf d} and to advance from (0;0,ν)(0;0,\boldsymbol{\nu}) in component j<nj<n to (dj+1;0,ν)(d_{j+1};0,\boldsymbol{\nu}) in the next component. After the last cluster, connect to τr\tau_r by a unit transition precisely when νr≤αrn\nu_r\le\alpha_rn and νs>αsn\nu_s>\alpha_sn for every s∈Rs\in\mathcal{R} with s>rs>r. We obtain a topological order along components and decreasing aa, and taking open states before closed states.

The Begin rule orders the stars within each cluster and fixes the first leaf of each star. A block BB of size bb has (b−1)!(b-1)! leaf orders, each of weight (−1)b−1(-1)^{b-1}, giving its factor μ(B)\mu(B) as in Lemma 3.1. The final counters satisfy νs=qs(ρ)\nu_s=q_s(\rho), so the sink condition selects exactly the partitions with r(ρ)=rr(\rho)=r. Summing their weights gives Cr(d)C_r(\mathbf d). There are O(n∣R∣+3)O(n^{|\mathcal{R}|+3}) nodes and O(n)O(n) outgoing transitions per node after expanding the −a-a labels, giving the claimed size bound. □\square

Now attach a gadget from Lemma 4.4 at each closed terminal τd\tau_{\mathrm d}, with common sink tr\mathrm t_r. Denote the resulting ABP by BrB_r and its source by sr=(∅,0;0,0)s_r=(\varnothing,0;0,0). The attached gadgets multiply each main-part path weight by Cr(d)C_r(\mathbf d), giving the output

Fr(A)=DBr[tr]=∑π∈Pnr(π)=rμ(π)∑φ∈Φ(M/π)w(φ).(17)F_r(A)=D_{B_r}[t_r]=\sum_{\substack{\pi\in\mathcal{P}_n\\r(\pi)=r}}\mu(\pi)\sum_{\varphi\in\Phi(M/\pi)}w(\varphi). \tag*{(17)}

Indeed, expanding Cr(d)C_r(\mathbf d) pairs the small blocks σ\sigma from the main part with large blocks ρ\rho; Fact 4.2 ensures that π=σ∪ρ\pi=\sigma\cup\rho is assigned to rr. Conversely, each assigned pair (π,φ)(\pi,\varphi) determines a unique main-part path for each choice of small-star leaf orders with the smallest leaf first. These paths are retained because their nursery support is at most qr(π)≤αrnq_r(\pi)\leq\alpha_r n. Summing the leaf orders gives μ(σ)w(φ)\mu(\sigma)w(\varphi) as in Lemma 3.1, including all factors AijA_{ij}; the term ρ\rho in Cr(d)C_r(\mathbf d) supplies μ(ρ)\mu(\rho). Their product is μ(π)w(φ)\mu(\pi)w(\varphi).

Corollary 4.5 (Combined ABP). Suppose every partition of [n][n] has an admissible cutoff in R\mathcal{R}. Take disjoint copies of BrB_r for r∈Rr\in\mathcal{R} and add a new source ss, a new sink tt, and unit transitions s→srs\to s_r and tr→tt_r\to t for each rr. The resulting combined ABP BB computes per⁡(A)\operatorname{per}(A).

Proof. By (17), each partition contributes exactly once to the output ∑r∈RFr(A)\sum_{r\in\mathcal{R}}F_r(A), which equals per⁡(A)\operatorname{per}(A) by Theorem 2.1.

The Economics of Stellar Nurseries

We now choose the cutoffs and large-star budgets. The budgets must be small enough that each cutoff ABP retains an exponential saving, yet generous enough that every partition has an admissible cutoff. The following parameter lemma shows that both requirements can be met by a fixed finite choice, independent of nn. Throughout, denote binary entropy by

H(α)=−αlog⁡2α−(1−α)log⁡2(1−α).H(\alpha)=-\alpha\log_2\alpha-(1-\alpha)\log_2(1-\alpha).

We will write αj\alpha_j, cjc_j, and EjE_j for the parameters at cutoff rjr_j.

Lemma 5.1. There are cutoffs R={r1<⋯<rℓ}\mathcal{R}=\{r_1<\cdots<r_\ell\} and rational parameters 0<αj<1/20<\alpha_j<1/2, 1<cj<21<c_j<2, satisfying cj(cj−1)rj−1≥1c_j(c_j-1)^{r_j-1}\geq1 and Ej<1E_j<1 for every j∈[ℓ]j\in[\ell], such that every partition π∈Pn\pi\in\mathcal{P}_n has an admissible cutoff for every n≥0n\geq0. Here, Ej=log⁡2cj+H(αj)−αjlog⁡2(cj−1)E_j=\log_2c_j+H(\alpha_j)-\alpha_j\log_2(c_j-1).

We first quantify the saving provided by a covered prefix, as in § 4.1 and [40 Lemma 3]: As the cutoff rr grows, larger stars can cover more leaves without beginning another star, so this restriction becomes weaker. Nevertheless, in our setup, it still subtracts Θ(n/r)\Theta(n/r) from the exponent. Eventually, we will show that the bookkeeping overhead for stellar nurseries fits into this saving.

Lemma 5.2. Let N≥0N\geq0 and r≥1r\geq1 be integers. If 1<c<21<c<2 and c(c−1)r−1≥1c(c-1)^{r-1}\geq1, then

∣{S⊆[N]:∣S∣≤rpref⁡(S)}∣≤(N+1)cN.(18)\left|\left\{S\subseteq[N]:|S|\leq r\operatorname{pref}(S)\right\}\right|\leq(N+1)c^N. \tag*{(18)}

Proof. Fix p∈{0,…,N}p\in\{0,\ldots,N\}. If pref⁡(S)=p\operatorname{pref}(S)=p and ∣S∣≤rp|S|\leq rp, then S=[p]∪TS=[p]\cup T with T⊆{p+1,…,N}T\subseteq\{p+1,\ldots,N\} and ∣T∣≤(r−1)p|T|\leq(r-1)p. Since 0<c−1<10<c-1<1, each such TT has weight (c−1)∣T∣−(r−1)p≥1(c-1)^{|T|-(r-1)p}\geq1. Their number is therefore at most the sum of these weights over all subsets TT, which the binomial theorem evaluates as

∑T⊆{p+1,…,N}(c−1)∣T∣−(r−1)p=(c−1)−(r−1)pcN−p=cN(c(c−1)r−1)p≤cN.(19)\sum_{T\subseteq\{p+1,\ldots,N\}}(c-1)^{|T|-(r-1)p}=(c-1)^{-(r-1)p}c^{N-p}=\frac{c^N}{\left(c(c-1)^{r-1}\right)^p}\leq c^N. \tag*{(19)}

Summing over the N+1N+1 possible values of pp proves the claim.

Recall that the nursery entry djd_j counts deferred leaves with chosen center image vjv_j. Every deferred leaf increases one such count and extends the covered prefix. The resulting reduction in possible covered sets can compensate for the number of ways to choose these counts. We therefore count stellar nurseries together with their compatible covered sets: even many deferred leaves can be affordable when they are assigned to few center images.

Proposition 5.3 (Effective size at one cutoff). For r∈Rr \in\mathcal{R}, choose 1<cr<21 < c_r < 2 with cr(cr−1)r−1≥1c_r(c_r-1)^{r-1} \ge1. The cutoff ABP BrABP\ B_r has effective size at most

O∗(crn∑p=0⌊αrn⌋(np)(cr−1)−p).(20)O^*\left(c_r^n \sum_{p=0}^{\lfloor\alpha_r n\rfloor} \binom{n}{p}(c_r-1)^{-p}\right). \tag*{(20)}

Proof. First fix d\mathbf{d} with m=∑jdj≤nm=\sum_j d_j\le n. A path from the source to (S,d;k,j)(S,\mathbf{d};k,j) uses exactly mm Defer transitions; let bb be its number of Begin transitions. Each of these m+bm+b transitions covers the smallest uncovered label, and each begun star has at most rr leaves. Thus

pref⁡(S)≥m+b,∣S∣−m≤rb.(21)\operatorname{pref}(S)\ge m+b,\qquad|S|-m\le rb. \tag*{(21)}

It follows that [m]⊆S[m]\subseteq S, and the injective map S↦T={i−m:i∈S∖[m]}⊆[n−m]S\mapsto T=\{i-m:i\in S\setminus[m]\}\subseteq[n-m] gives ∣T∣=∣S∣−m≤r(pref⁡(S)−m)=rpref⁡(T)|T|=|S|-m\le r(\operatorname{pref}(S)-m)=r\operatorname{pref}(T). Then Lemma 5.2, with N=n−mN=n-m and c=crc=c_r, bounds the number of such sets TT, and hence of sets SS, by (n−m+1)crn−m≤(n+1)crn−m(n-m+1)c_r^{n-m}\le(n+1)c_r^{n-m}.

Next sum over d\mathbf{d}. A positive coordinate contributes ∑a≥1cr−a=1/(cr−1)\sum_{a\ge1}c_r^{-a}=1/(c_r-1), so choosing its support gives

∑d∈Nn∣supp⁡(d)∣≤αrncr−∑jdj=∑p=0⌊αrn⌋(np)(cr−1)−p.(22)\sum_{\substack{\mathbf{d}\in\mathbb{N}^n\\|\operatorname{supp}(\mathbf{d})|\le\alpha_r n}}c_r^{-\sum_jd_j} =\sum_{p=0}^{\lfloor\alpha_r n\rfloor}\binom{n}{p}(c_r-1)^{-p}. \tag*{(22)}

Extending the sum beyond m≤nm\le n only increases the bound. Multiplying by (n+1)crn(n+1)c_r^n therefore bounds the choices of (S,d)(S,\mathbf{d}). There are at most 1+nmin⁡(r,n)1+n\min(r,n) choices of (k,j)(k,j) and O(n)O(n) outgoing transitions per node in the main part. By Lemma 4.4, each attached star-formation gadget has size O((n+1)∣R∣+4)O((n+1)^{|\mathcal{R}|+4}). Since R\mathcal{R} is fixed, attaching one per reachable closed terminal preserves (20). □

The binomial entropy bound gives

∑p=0⌊αn⌋(np)(cr−1)−p≤(n+1)2n(H(α)−αlog⁡2(cr−1)),0≤α≤1/cr.(23)\sum_{p=0}^{\lfloor\alpha n\rfloor}\binom{n}{p}(c_r-1)^{-p} \le(n+1)2^{n(H(\alpha)-\alpha\log_2(c_r-1))},\qquad0\le\alpha\le1/c_r. \tag*{(23)}

Indeed, (np)≤2nH(p/n)\binom{n}{p}\le2^{nH(p/n)}, and H(u)−ulog⁡2(cr−1)H(u)-u\log_2(c_r-1) is increasing on [0,1/cr][0,1/c_r]. For r=rjr=r_j and αj≤1/cj\alpha_j\le1/c_j, (20) therefore gives effective size O∗(2Ejn)O^*(2^{E_jn}), with EjE_j as defined in Lemma 5.1. This identifies the main remaining expense, namely, choosing the occupied center images. For small αr\alpha_r, this costs roughly nαrlog⁡(1/αr)n\alpha_r\log(1/\alpha_r) in the exponent. Comparing this with the saving of order n/rn/r suggests budgets of order 1/(rlog⁡(r+1))1/(r\log(r+1)), with a sufficiently small constant.

Finally, the coverage of partitions relies on the distribution of stars across cutoffs. A star of size bb contributes weight rjr_j at each cutoff rj<br_j<b. By choosing geometrically increasing cutoffs, we can bound the sum of these weights by O(b)O(b). For geometrically increasing cutoffs, taking αj\alpha_j of order 1/(rjlog⁡(rj+1))1/(r_j\log(r_j+1)) gives weighted thresholds rjαjnr_j\alpha_jn of order n/jn/j, since log⁡(rj+1)=Θ(j)\log(r_j+1)=\Theta(j). Their harmonic sum eventually exceeds the O(n)O(n) bound on the total contribution of all stars, forcing some cutoff test to succeed. The final parameter lemma formalizes this.

Proof of Lemma 5.1. Take rj=2j−1r_j=2^{j-1}, cj=2−12rjc_j=2-\frac{1}{2r_j}, and αj=164rjj\alpha_j=\frac{1}{64r_jj}. Bernoulli’s inequality shows that cj(cj−1)rj−1≥1+3rj−14rj2>1c_j(c_j-1)^{r_j-1}\ge1+\frac{3r_j-1}{4r_j^2}>1, and αj<1/2<1/cj\alpha_j<1/2<1/c_j. For r=rjr=r_j, use H(x)≤xlog⁡2(e/x)H(x)\le x\log_2(e/x), −log⁡2(cj−1)≤1-\log_2(c_j-1)\le1, log⁡2r=j−1\log_2r=j-1, and log⁡2j≤j\log_2j\le j to obtain

Ej≤1−14rln⁡2+j+6+log⁡2j+log⁡2e64rj≤1−14rln⁡2+8+log⁡2e64r<1.E_j\le1-\frac{1}{4r\ln2}+\frac{j+6+\log_2j+\log_2e}{64rj}\le1-\frac{1}{4r\ln2}+\frac{8+\log_2e}{64r}<1.

By harmonic divergence, choose a fixed finite ℓ\ell with ∑j=1ℓ1/j≥128\sum_{j=1}^{\ell}1/j\ge128. For every partition π∈Pn\pi\in\mathcal{P}_n,

∑j=1ℓrjqrj(π)=∑B∈π∑j:rj<∣B∣rj≤2∑B∈π∣B∣=2n,(24)\sum_{j=1}^{\ell}r_jq_{r_j}(\pi)=\sum_{B\in\pi}\sum_{j:r_j<|B|}r_j\le2\sum_{B\in\pi}|B|=2n, \tag*{(24)}

since the sum of the dyadic cutoffs below ∣B∣|B| is less than 2∣B∣2|B|. If no cutoff were admissible for π\pi, then qrj(π)>αjnq_{r_j}(\pi)>\alpha_jn for every jj, and hence we contradict (24) by ∑j=1ℓrjqrj(π)>n64∑j=1ℓ1j≥2n\sum_{j=1}^{\ell}r_jq_{r_j}(\pi)>\frac{n}{64}\sum_{j=1}^{\ell}\frac{1}{j}\ge2n. □

Finishing the Proof

We have collected all ingredients to prove the main theorem.

Proof of Theorem 1.1. Choose R\mathcal{R} and the parameters from Lemma 5.1. By Corollary 4.5, the combined ABP B\mathcal{B} computes per⁡(A)\operatorname{per}(A). Let γ=max⁡j∈[ℓ]Ej<1\gamma=\max_{j\in[\ell]}E_j<1. Summing the bounds for BrjB_{r_j} from Proposition 5.3 and (23) over the fixed finite set R\mathcal{R} gives effective size O∗(2γn)O^*(2^{\gamma n}) for B\mathcal{B}. Exploring allowed transitions via BFS constructs its reachable part on input n∈Nn\in\mathbb{N} and the fixed parameters, with polynomial work per node. Splitting each −Aij-A_{ij} transition into labels −1-1 and AijA_{ij} gives elementary labels with constant overhead. Finally, evaluation via DP in topological order uses linearly many ring operations in the size of this ABP, so construction and evaluation take O∗(2γn)O^*(2^{\gamma n}) time and ring operations, respectively.

Setting ε=2−2γ>0\varepsilon=2-2^\gamma>0 gives a fixed exponential saving. Using the parameters of Appendix § 7 in this construction gives 2γ<2−10−402^\gamma<2-10^{-40} and hence the stated value for ε\varepsilon. □

Finally, by clearing denominators and working over Z/2tZ\mathbb{Z}/2^t\mathbb{Z} with t∈Nt\in\mathbb{N} sufficiently large to recover the permanent exactly, we obtain the following bit complexity version of Theorem 1.1.

Corollary 6.1. For ε\varepsilon as above, there is an algorithm for computing permanents of n×nn\times n rational matrices with BB-bit numbers in poly⁡(B)⋅O∗((2−ε)n)\operatorname{poly}(B)\cdot O^*((2-\varepsilon)^n) bit operations.

Explicit Choice of Constants

This appendix gives explicit rational parameters for 280 cutoffs that yield ε=10−40\varepsilon= 10^{-40} in the main construction. For R={1=r1<⋯<rℓ}\mathcal{R} = \{1 = r_1 < \cdots< r_\ell\} and fractions αj\alpha_j, set β1=2\beta_1 = 2 and βj=rj−rj−1\beta_j = r_j - r_{j-1} for j≥2j \ge2. Every partition satisfies

∑j=1ℓβjqrj(π)=∑B∈π∑j:rj<∣B∣βj≤∑B∈π∣B∣=n.(25)\sum_{j=1}^{\ell} \beta_j q_{r_j}(\pi) = \sum_{B \in\pi} \sum_{j:r_j<|B|} \beta_j \le\sum_{B \in\pi} |B| = n. \tag*{(25)}

For a singleton the inner sum is zero. Otherwise, if rir_i is the largest selected cutoff below ∣B∣|B|, it telescopes to ri+1≤∣B∣r_i+1 \le|B|. Consequently every partition has an admissible cutoff as soon as

L:=∑j=1ℓβjαj≥1.(26)L := \sum_{j=1}^{\ell} \beta_j \alpha_j \ge1. \tag*{(26)}

Indeed, if no cutoff were admissible for π\pi, then qrj(π)>αjnq_{r_j}(\pi) > \alpha_j n for every jj, contradicting (25).

Proposition A.1. Take

ℓ=280,r1=1,rj+1=⌈4rj3⌉(1≤j<ℓ),(27)\ell= 280,\qquad r_1 = 1,\qquad r_{j+1} = \left\lceil\frac{4r_j}{3} \right\rceil\qquad(1 \le j < \ell), \tag*{(27)}

and set K=rℓ<1036K = r_\ell< 10^{36}. Use

α1=11100,c1=10089,\alpha_1 = \frac{11}{100},\qquad c_1 = \frac{100}{89},
αj=1rj(j+13),cj=2−23rj(2≤j≤ℓ).(28)\alpha_j = \frac{1}{r_j(j+13)},\qquad c_j = 2-\frac{2}{3r_j}\qquad(2 \le j \le\ell). \tag*{(28)}

These parameters satisfy

L>1.001,Ej<1−10−38(1≤j≤ℓ),L > 1.001,\qquad E_j < 1-10^{-38}\qquad(1 \le j \le\ell),

as well as cj(cj−1)rj−1>1c_j(c_j-1)r_j^{-1} > 1 and 0<αj<1/cj0 < \alpha_j < 1/c_j. In particular, one may take ε=10−40\varepsilon= 10^{-40} in the O∗((2−ε)n)O^*((2-\varepsilon)^n) bounds for ABP size, construction time, and ring operations.

Bounds for the Parameters

For rational 1≤y≤21 \le y \le2, put z=(y−1)/(y+1)z=(y-1)/(y+1) and

P(y)=2∑h=063z2h+12h+1,R(y)=2z129129(1−z2).P(y)=2\sum_{h=0}^{63}\frac{z^{2h+1}}{2h+1},\qquad R(y)=\frac{2z^{129}}{129(1-z^2)}.

The expansion ln⁡y=2∑h≥0z2h+1/(2h+1)\ln y = 2\sum_{h\ge0} z^{2h+1}/(2h+1) gives

P(y)≤ln⁡y≤P(y)+R(y).P(y) \le\ln y \le P(y)+R(y).

For any positive rational xx, write x=2kyx=2^k y with 1≤y<21 \le y < 2. Adding the intervals for ln⁡y\ln y and kln⁡2k\ln2 (reversing the latter endpoints when k<0k<0) gives rational bounds λ−(x)≤ln⁡x≤λ+(x)\lambda_-(x) \le\ln x \le\lambda_+(x).

For every triple (rj,αj,cj)(r_j,\alpha_j,c_j) in (28)–(29), the following rational inequalities hold:

1<cj<2,0<αj<12<1/cj,λ−(cj)+(rj−1)λ−(cj−1)>0,0<Uj<1−10−38,\begin{aligned} 1 &< c_j < 2,\qquad0 < \alpha_j < \frac{1}{2} < 1/c_j,\\ \lambda_-(c_j) + (r_j-1)\lambda_-(c_j-1) &> 0,\\ 0 &< U_j < 1-10^{-38}, \end{aligned}

where

Uj=λ+(cj)−αjλ−(αj)−(1−αj)λ−(1−αj)−αjλ−(cj−1)λ−(2).U_j=\frac{\lambda_+(c_j)-\alpha_j\lambda_-(\alpha_j)-(1-\alpha_j)\lambda_-(1-\alpha_j)-\alpha_j\lambda_-(c_j-1)}{\lambda_-(2)}.

The logarithmic inequality proves the subset-counting condition. The positive numerator and λ−(2)>0\lambda_-(2)>0 give Ej≤UjE_j\le U_j, proving the required effective-size bounds for the cutoff ABPs by § 5. The weighted mass is the rational number

L=1150+∑j=2280rj−rj−1rj(j+13).L=\frac{11}{50}+\sum_{j=2}^{280}\frac{r_j-r_{j-1}}{r_j(j+13)}.

Direct rational summation gives

1.001332419877≤L<1.001332419878.1.001332419877\le L<1.001332419878.

Thus (25) guarantees that every partition meets at least one cutoff test, for every nn. Finally, rj+1+3≤43(rj+3)r_{j+1}+3\le\frac{4}{3}(r_j+3) implies K=r280≤4(4/3)279−3<1036K=r_{280}\le4(4/3)^{279}-3<10^{36}. Convexity gives 21−10−38≤2−10−38<2−10−402^{1-10^{-38}}\le2-10^{-38}<2-10^{-40}, proving the claimed choice of ε\varepsilon.

Definitions for the Lean Statement

We expand the definitions used by main_abp on page 4.

variable {n : ℕ} (A : Fin n → Fin n → ℤ)
theorem main_abp :
  ∃ (C : ℝ) (d : ℕ), 0 < C ∧ ∀ n : ℕ, ∃ G : ABP n,
    (∀ A : Fin n → Fin n → ℤ, G.output A = permanent A) ∧
    (G.vertices + G.transitions : ℝ) ≤ C * (n+1 : ℝ)^d * (2 : ℝ)^((0.999994 : ℝ)*n)
noncomputable def ABP.output (G : ABP n) :=
  G.paths A G.vertices G.sink
noncomputable def permanent : ℤ :=
  ∑ p : Equiv.Perm (Fin n),
  ∏ i, A i (p i)
noncomputable def ABP.paths (G : ABP n) :
  ℕ → Fin G.vertices → ℤ
  | 0, v => if v = G.source then 1 else 0
  | k+1, v =>
    (if v = G.source then 1 else 0) +
      ∑ e : Fin G.transitions,
        if G.head e = v then
          (G.label e).eval A * G.paths k (G.tail e)
        else 0
structure ABP (n : ℕ) where
  (vertices transitions : ℕ)
  (source sink : Fin vertices)
  (tail head :
    Fin transitions → Fin vertices)
  label : Fin transitions → Label n
  rank : Fin vertices → Fin vertices
  increasing : ∀ e,
    rank (tail e) < rank (head e)
def Label.eval : Label n → ℤ
  | .variable i j => A i j
  | .constant c => c
inductive Label (n : ℕ)
  | variable (i j : Fin n)
  | constant (c : ℤ)

References

  1. [1]Donald E. Knuth. The Art of Computer Programming, Volume 2: Seminumerical Algorithms. Second edition. Addison–Wesley, Reading, Massachusetts, 1981.
  2. [2]Herbert John Ryser. Combinatorial Mathematics. Carus Mathematical Monographs 14, Mathematical Association of America, 1963. doi:10.5948/UPO9781614440147.DOI
  3. [3]Henryk Minc. Evaluation of permanents. Proceedings of the Edinburgh Mathematical Society 22(1):27–32, 1979. doi:10.1017/S0013091500027760.DOI
  4. [4]Omid Amini, Fedor V. Fomin, and Saket Saurabh. Counting subgraphs via homomorphisms. SIAM Journal on Discrete Mathematics 26(2):695–717, 2012. doi:10.1137/100789403.DOI
  5. [5]David G. Glynn. The permanent of a square matrix. European Journal of Combinatorics 31(7):1887–1891, 2010. doi:10.1016/j.ejc.2010.01.010.DOI
  6. [7]Andreas Björklund. Below all subsets for some permutational counting problems. SWAT, LIPIcs 53, 17:1–17:11, 2016. doi:10.4230/LIPIcs.SWAT.2016.17.DOI
  7. [8]Baitian Li. Counting perfect matchings and Hamiltonian cycles faster. ICALP, LIPIcs 374, 138:1–138:16, 2026. doi:10.4230/LIPIcs.ICALP.2026.138.
  8. [9]Andreas Björklund and Ryan Williams. Computing permanents and counting Hamiltonian cycles by listing dissimilar vectors. ICALP, LIPIcs 132, 25:1–25:14, 2019. doi:10.4230/LIPIcs.ICALP.2019.25.DOI
  9. [10]Andreas Björklund, Petteri Kaski, Tomohiro Koana, and Jesper Nederlof. Kronecker scaling of tensors with applications to arithmetic circuits and algorithms. ICALP, LIPIcs 374, 36:1–36:24, 2026. doi:10.4230/LIPIcs.ICALP.2026.36.DOI
  10. [11]Andreas Björklund, Radu Curticapean, Thore Husfeldt, Petteri Kaski, and Kevin Pratt. Fast deterministic chromatic number under the asymptotic rank conjecture. SODA, pages 2804–2818, 2025. doi:10.1137/1.9781611978322.91.DOI
  11. [12]Volker Strassen. Algebra and complexity. In First European Congress of Mathematics, Vol. II, Progress in Mathematics 120, 429–446. Birkhäuser, 1994. doi:10.1007/978-3-0348-9112-7_18.DOI
  12. [13]Austin Conner, Fulvio Gesmundo, Joseph M. Landsberg, Emanuele Ventura, and Yao Wang. Towards a geometric approach to Strassen’s asymptotic rank conjecture. Collectanea Mathematica 72(1):63–86, 2021. doi:10.1007/s13348-020-00280-8.DOI
  13. [14]Mark Jerrum and Marc Snir. Some exact complexity results for straight-line computations over semirings. Journal of the ACM 29(3):874–897, 1982. doi:10.1145/322326.322341.DOI
  14. [15]Christian Ikenmeyer and Joseph M. Landsberg. On the complexity of the permanent in various computational models. Journal of Pure and Applied Algebra 221(12):2911–2927, 2017. doi:10.1016/j.jpaa.2017.02.008.DOI
  15. [16]Joseph M. Landsberg and Nicolas Ressayre. Permanent v. determinant: An exponential lower bound assuming symmetry and a potential path towards Valiant’s conjecture. Differential Geometry and its Applications 55:146–166, 2017. doi:10.1016/j.difgeo.2017.03.017.DOI
  16. [20]Tsutomu Kawabata and Jun Tarui. On complexity of computing the permanent of a rectangular matrix. IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences E82-A(5):741–744, 1999. Publisher’s page.
  17. [21]Nutan Limaye, Srikanth Srinivasan, and Sébastien Tavenas. Superpolynomial lower bounds against low-depth algebraic circuits. Electronic Colloquium on Computational Complexity, TR21-081, original version, 2021. Original manuscript.
  18. [22]Michael A. Forbes. Low-depth algebraic circuit lower bounds over any field. CCC, LIPIcs 300, 31:1–31:16, 2024. doi:10.4230/LIPIcs.CCC.2024.31.
  19. [23]Radu Curticapean, Nutan Limaye, and Srikanth Srinivasan. On the VNP-hardness of some monomial symmetric polynomials. FSTTCS, LIPIcs 250, 16:1–16:14, 2022. doi:10.4230/LIPIcs.FSTTCS.2022.16.DOI
  20. [24]Markus Bläser, Radu Curticapean, Sagnik Dutta, and Gorav Jindal. When are monomial symmetric polynomials hard? 2026. arXiv:2610.25181.arxiv.org/abs/2610.25181
  21. [25]László Lovász. Large Networks and Graph Limits. Colloquium Publications 60, American Mathematical Society, 2012. doi:10.1090/coll/060.DOI
  22. [26]Radu Curticapean, Holger Dell, and Dániel Marx. Homomorphisms are a good basis for counting small subgraphs. STOC, 2017. doi:10.1145/3055399.3055502.
  23. [27]Marc Roth. Parameterized counting of partially injective homomorphisms. Algorithmica 83:1829–1860, 2021. doi:10.1007/s00453-021-00805-y.DOI
  24. [28]Radu Curticapean. Counting problems in parameterized complexity. IPEC 2018, LIPIcs 115, 1:1–1:18, 2019. doi:10.4230/LIPIcs.IPEC.2018.1.DOI
  25. [29]Marc Roth and Johannes Schmitt. Counting induced subgraphs: A topological approach to #W[1]-hardness. Algorithmica 82:2267–2291, 2020. doi:10.1007/s00453-020-00676-9.
  26. [30]Julian Dörfer, Marc Roth, Johannes Schmitt, and Philip Wellnitz. Counting induced subgraphs: An algebraic approach to #W[1]-hardness. Algorithmica 84:379–404, 2022. doi:10.1007/s00453-021-00894-9.
  27. [31]Marc Roth, Johannes Schmitt, and Philip Wellnitz. Counting small induced subgraphs satisfying monotone properties. SIAM Journal on Computing 53(6):FOCS20-139–FOCS20-174, 2024. doi:10.1137/20M1365624.
  28. [32]Norbert Peyerimhoff, Marc Roth, Johannes Schmitt, Jakob Stix, Alina Vdovina, and Philip Wellnitz. Parameterized counting and Cayley graph expanders. SIAM Journal on Discrete Mathematics 37(2):405–486, 2023. doi:10.1137/22M1479804.DOI
  29. [33]Jacob Focke and Marc Roth. Counting small induced subgraphs with hereditary properties. SIAM Journal on Computing 53(2):189–220, 2024. doi:10.1137/22M1512211.
  30. [34]Simon Döring, Dániel Marx, and Philip Wellnitz. From graph properties to graph parameters: Tight bounds for counting on small subgraphs. SODA, 3637–3676, 2025. doi:10.1137/1.9781611978322.121.
  31. [35]Panagiotis Aivasiliotis, Andreas Göbel, Marc Roth, and Johannes Schmitt. Parameterised Holant problems. ICALP, LIPIcs 334, 7:1–7:14, 2025. doi:10.4230/LIPIcs.ICALP.2025.7.DOI
  32. [36]Radu Curticapean. Count on CFI graphs for #P-hardness. SODA, 1854–1871, 2024. doi:10.1137/1.9781611977912.74.
  33. [37]Tim Seppelt. Logical equivalences, homomorphism indistinguishability, and forbidden minors. MFCS, LIPIcs 272, 82:1–82:15, 2023. doi:10.4230/LIPIcs.MFCS.2023.82.
  34. [38]Daniel Neuen. Homomorphism-distinguishing closedness for graphs of bounded tree-width. STACS, LIPIcs 289, 53:1–53:12, 2024. doi:10.4230/LIPIcs.STACS.2024.53.
  35. [39]Marc Roth. Parameterised counting complexity theory. Computer Science Review 59:100837, 2026. doi:10.1016/j.cosrev.2025.100837.DOI
  36. [40]Mikko Koivisto. Partitioning into sets of bounded cardinality. IWPEC, LNCS 5917, 258–263, 2009. Author’s manuscript.
  37. [41]Claude (Anthropic). A 2ᵒ⁽ⁿ⁾ time algorithm for 3-SAT. Preprint, October 26, 2026. Manuscript.
  38. [42]OpenAI. The Exponential Time Hypothesis is False. Preprint, October 17, 2026; revised October 25, 2026. Manuscript source.

Paper details

vlnc:W_cyr6d6kg
v1 · latestHistory (1)

published · Fresh — added to the Hub within the last 30 days

added ·

Usage

views · 7

downloads · 1

A view counts once per browser per day, a download each time the PDF is requested.

CC BY-SA 4.0

Original source

  • Computer Science

GPT-6 Astra · View statement →

Looking for related papers…
Contents