Deterministic polynomial-time approximation algorithms for partition functions and graph polynomials

Viresh Patel, Guus Regts

Introduction

Computational counting is an important area of computer science where one seeks to find efficient algorithms to count certain combinatorial objects such as independent sets, proper colorings, or matchings in a graph. More generally, each combinatorial counting problem has an associated generating function, namely the independence polynomial for independent sets, the chromatic and more generally Tutte polynomial for proper graph colorings, and the matching polynomial for matchings. Such graph polynomials are studied in mathematics and computer science, but also in statistical physics where they are normally referred to as partition functions. A fundamental question asks for which graphs and at which numerical values one can approximately evaluate these polynomials efficiently. Indeed the counting problems correspond to evaluating these graph polynomials or partition functions at particular values.

Many of these counting problems are known to be computationally hard in the sense of being #P-hard, even when one restricts to graphs of maximum degree at most three . On the other hand several efficient randomized approximation algorithms exist for some of these #P-hard problems via the use of the powerful Markov chain Monte Carlo technique. In a major breakthrough, Weitz , inspired by ideas from statistical physics, developed the so-called correlation decay method allowing him to obtain the first efficient deterministic approximation algorithm for counting independent sets in graphs of maximum degree at most five. (One expects no such algorithm for graphs of maximum degree larger than five , while previously the best known (randomized) algorithm worked only for graphs of maximum degree at most four.) The correlation decay method has subsequently been refined and applied to various other problems; see e.g. and references therein.

In this paper we consider a different approach. The approach is quite robust in that it can be applied to a large class of graph polynomials and gives the first general polynomial-time method to approximate graph polynomials at complex values for bounded degree graphs. Very recently complex evaluations have also been considered by Harvey, Srivastava, and Vondrák for the special case of the independence polynomial. Complex evaluations of graph polynomials, aside from being the natural extensions of real evaluations, arise as interesting counting problems e.g. counting restricted tensions or flows can be modelled as the partition functions of a complex spin system (see ) and the number of homomorphisms into any fixed graph can be modelled as the partition function of a complex edge-coloring model (see ).

A further important aspect of our work is to highlight the explicit relation between the (absence of complex) roots of a graph polynomial and efficient algorithms to evaluate it. Indeed, in Remark 1.3 below we give the explicit connection between a conjecture of Sokal on zero-free regions of the chromatic polynomial and the notorious algorithmic problem of efficiently approximating the number of proper colorings in a bounded degree graph.

Our approach combines a number of ingredients including ideas from sparse graph limits , results on the locations of zeros of graph polynomials and partition functions and an algorithmic development due to Barvinok . The Taylor approximation technique of Barvinok has been used to construct deterministic quasi-polynomial-time approximation algorithms for evaluating a number of graph partition functions (for general graphs); see e.g. work by Barvinok , by Barvinok and Sobeŕon , and by the second author . We refer to Barvinok’s recent book for more background.

The approach can be roughly described as follows. First the problem of evaluating the partition function or graph polynomial is cast as the evaluation of a univariate polynomial. Next, a region is identified where this polynomial does not vanish; hence in this region the logarithm of the polynomial is well-approximated by a low-order Taylor approximation (of order log⁡n\log n, where nn in the degree of the polynomial). Finally we must compute this Taylor approximation by efficiently computing the first O(log⁡n)O(\log n) coefficients of the polynomial. So far this approach has only resulted in algorithms that run in quasi-polynomial time. The main technical contribution of the present paper is a polynomial-time algorithm for computing (essentially) the first O(log⁡n)O(\log n) coefficients of a large class of graph polynomials whenever we work with bounded degree graphs cf. Theorem 3.1, and we believe it to be of independent interest.

Below we shall state and discuss some concrete results that can be obtained by combining this approach with (known) results on the location of roots of graph polynomials and partition functions. In particular, we obtain new deterministic polynomial-time algorithms (FPTAS) for evaluating the independence polynomial, the Tutte polynomial, and computing partition functions of spin and edge-coloring models in the case of bounded degree graphs. Before we state our algorithmic results, we first need a definition. Since we will approximate polynomials at complex values, we define what it means to be a good approximation.

The independence polynomial of a graph G=(V,E)G=(V,E) is denoted by Z(G)Z(G) and is defined as

In Weitz proved, based on the correlation decay method, that if 0≤λ<λc0\leq\lambda<\lambda_{c}, where

then there exists a deterministic algorithm, which given a graph G=(V,E)G=(V,E) of maximum degree at most Δ\Delta and ε>0\varepsilon>0, computes a multiplicative ε\varepsilon-approximation to Z(G)(λ)Z(G)(\lambda) in time (∣V∣/ε)O(1)(|V|/\varepsilon)^{O(1)}. Sly and Sun proved this is tight by showing that, as soon as λ>λc\lambda>\lambda_{c}, one cannot efficiently approximate Z(G,λ)Z(G,\lambda) unless NP=RP.

In Section 4 we prove the following result, which has been independently obtained by Harvey, Srivastava and Vondrák using the correlation decay method.

From the proof of Theorem 1.1 it follows that the running time is in fact bounded by

for some absolute constants D,D′D,D^{\prime}.

Theorem 1.1 in fact also applies to the multivariate independence polynomial, as we will briefly explain in Subsection 4.2.

For positive valued λ\lambda our result is weaker than Weitz’s result since λc>λ∗\lambda_{c}>\lambda^{*}. However our result works for negativeIn an unpublished note Srivastava notes that the correlation decay method of Weitz in fact also applies to negative λ\lambda as long as λ>−λ∗\lambda>-\lambda^{*}. and even complex λ\lambda. The case λ<0\lambda<0 is relevant due to its connection to the Lovász local lemma, cf. . We remark here that by very recent results of Peters and the second author confirming a conjecture of Sokal , and by the method from Subsection 4.3 below, we are able to obtain an alternative proof of Weitz’s result. We say more about this in Section 8.

As an extension to Theorem 1.1, we are able to efficiently approximate the independence polynomial on almost the entire complex plane for the special class of claw-free graphs. We make use of a result of Chudnovsky and Seymour stating that the independence polynomial of a claw-free graph has only negative real roots. We prove the following result in Subsection 4.3.

Note that when GG is the line graph of some graph HH we have that ZG(λ)Z_{G}(\lambda) is equal to the matching polynomial of HH. So in particular, Theorem 1.2 implies a result of Bayati, Gamarnik, Katz, Nair, and Tetali . Our proof of it however is entirely different from the proof in .

2 The Tutte polynomial

The random cluster formulation of the Tutte polynomial of a graph G=(V,E)G=(V,E) is a two-variable polynomial, which is denoted by ZT(G)Z_{T}(G) and is defined by

where k(A)k(A) denotes the number of components of the graph (V,A)(V,A). In particular, if w=−1w=-1, ZT(G)(q,−1)Z_{T}(G)(q,-1) is equal to the chromatic polynomial of GG.

Jerrum and Sinclair showed that when q=2q=2 and w>0w>0 there exists a randomized polynomial-time approximation algorithm for computing evaluations of the Tutte polynomial in general. In Goldberg and Jerrum showed that approximating evaluations of the Tutte polynomial on general graphs for q>2q>2 and w>0w>0 is as hard as counting independent sets in bipartite graphs and in Goldberg and Jerrum showed that for several choices of real parameters (q,w)(q,w) it is even #P-hard to approximate the evaluation of the Tutte polynomial on general graphs. Goldberg and Guo looked at the complexity of approximately evaluating the Tutte polynomial for general graphs at complex values.

We will consider the Tutte polynomial as a univariate polynomial by considering ww to be constant. In Section 5 we prove the following result.

From the proof the Theorem 1.3 it follows that the running time is in fact bounded by

for some absolute constants D,D′D,D^{\prime}.

The constant KK in the theorem above comes from a paper of Jackson, Procacci and Sokal and unfortunately takes half a page to state exactly. However, when ww satisfies ∣1+w∣≤1|1+w|\leq 1 (this includes the chromatic polynomial), the constant KK may be taken to be 6.91Δ6.91\Delta.

Sokal [30, Conjecture 21] conjectured that ZT(G)(q,−1)≠0Z_{T}(G)(q,-1)\neq 0 as long as ℜ(q)>Δ(G)\Re(q)>\Delta(G). Combined with our results (and the technique from Section 4.3) a confirmation of the conjecture would imply an efficient approximation algorithm for computing the number of (Δ+1)(\Delta+1)-colorings of any graph GG of maximum degree at most Δ\Delta, a notorious problem in computational counting.

3 Partition functions of spin models

If AA is the adjacency matrix of some graph HH, then p(G)(H)p(G)(H) is equal to the number of graph homomorphisms from GG to HH. In p(G)(A)p(G)(A) is called the graph homomorphism partition function.

Building on a line of research started by Dyer and Greenhill and Bulatov and Grohe , a full dichotomy theorem has been proved for the complexity of exactly computing the partition function of a complex spin model by Cai, Chen and Lu . This dichotomy essentially says that computing the partition function of AA exactly is #P hard unless the matrix AA has some special structure.

Building on the work of Barvinok and Sobéron we prove in Section 6 the following result.

The constant 0.340.34 can be replaced by 0.450.45 if Δ≥3\Delta\geq 3, and by 0.540.54 if Δ\Delta is large enough, cf. .

In Barvinok and Soberón introduced partition functions of graph homomorphisms of GG with multiplicities and gave a quasi-polynomial-time algorithm for computing them for certain matrices. In Section 6 we will show that our results also apply to these partition functions.

4 Partition functions of edge-coloring models

Just as for partition functions for spin models much work has been done to establish a complexity dichotomy result for exactly computing Holant problems; see . Not much is known about the complexity of approximating partition functions of edge-coloring models except for a few special cases. As already mentioned, Bayati, Gamarnik, Katz, Nair, and Tetali found an efficient approximation algorithm for counting matchings in bounded degree graphs and Lin, Liu and Lu found efficient approximation algorithms for counting edge covers. Both of these algorithms are based on the correlation decay method.

Building on work of the second author we will prove the following result in Section 7.

The constant 0.350.35 may be replaced by 0.470.47 if Δ≥3\Delta\geq 3 and by 0.560.56 if Δ\Delta is large enough; see . Moreover, for readers familiar with the orthogonal group invariance of these partition functions, it is interesting to note that one can use Corollary 6b from to find a much larger family of edge-coloring models for which the partition function can be efficiently approximated.

5 Organization

In the next section we shall consider an algorithm due to Barvinok to approximate evaluations of polynomials. Section 3 contains our main technical contribution: we will introduce a class of graph polynomials and give an efficient algorithm for computing their low order coefficients on bounded degree graphs. These two algorithms (or variations of them) will then be combined in Sections 4–7 to prove the results above. These sections can be read independently of one another. Finally, we conclude in Section 8 with some remarks and questions.

Approximating evaluations of polynomials

In this section we present an algorithm due to Barvinok to approximate evaluations of polynomials. We take a slightly different approach and give full details for the sake of completeness.

This can then be transformed to give a multiplicative approximation to pp. It will be more convenient for us to use a slightly different form of (6) which we derive below.

Thus defining the jjth inverse power sum to be pj:=ζ1−j+⋯+ζd−jp_{j}:=\zeta_{1}^{-j}+\cdots+\zeta_{d}^{-j} we see that

In the next proposition we derive a variant of the Newton identities that relate the inverse power sums and the coefficients of the polynomial.

For the polynomial p(z)=a0+⋯+adzdp(z)=a_{0}+\cdots+a_{d}z^{d} as above and its inverse power sums pjp_{j} as defined above, we have for each k=1,2,…k=1,2,\ldots that

From (7) we know that for z∈Dz\in D we have ln⁡(p(z))=ln⁡(a0)−∑j=1∞pjzjj\ln(p(z))=\ln(a_{0})-\sum_{j=1}^{\infty}\frac{p_{j}z^{j}}{j}. Differentiating both sides and multiplying by p(z)p(z) we obtain

Comparing coefficients of zk−1z^{k-1} on each side gives the desired identity. ∎

The next lemma shows that the quality of the approximation (6) and hence (7) depends on the location of the complex roots of pp.

Let q:=∣t∣/Mq:=|t|/M. Then, as ∣t∣<M|t|<M, we have q<1q<1. We will first show that

By assumption we know that ∣ζi∣≥M|\zeta_{i}|\geq M for each i=1,…,di=1,\ldots,d. Hence ∣pj∣≤d/Mj|p_{j}|\leq d/M^{j} and so ∣pjtj∣≤dqj|p_{j}t^{j}|\leq dq^{j}. Substituting this in into (9) and using that q<1q<1 we obtain (8).

Take m=Cln⁡(d/ε)m=C\ln(d/\varepsilon), where CC is chosen such that C≥(ln⁡1/q)−1C\geq(\ln 1/q)^{-1} and 1/m≤1−q1/m\leq 1-q (so it is easy to check that e.g. C=(1−q)−1C=(1-q)^{-1} suffices). Then the right-hand side of (8) is at most ε\varepsilon. Write z=Tm(f)(t)z=T_{m}(f)(t). Then we have ∣ef(t)−z∣≤e∣f(t)−z∣≤eε|e^{f(t)-z}|\leq e^{|f(t)-z|}\leq e^{\varepsilon} and similarly ∣ez−f(t)∣≤eε|e^{z-f(t)}|\leq e^{\varepsilon}. (This follows from the fact that for a complex number y=a+biy=a+bi, we have ∣ey∣=ea≤e∣y∣|e^{y}|=e^{a}\leq e^{|y|}.) Moreover, the angle between eze^{z} and ef(t)e^{f(t)} is bounded by ∣ℑln⁡ez−f(t)∣≤∣ln⁡ez−f(t)∣≤ε|\Im\ln e^{z-f(t)}|\leq|\ln e^{z-f(t)}|\leq\varepsilon. This shows that ez=exp⁡(Tm(f)(t))e^{z}=\exp(T_{m}(f)(t)) is a multiplicative ε\varepsilon-approximation to p(t)p(t). ∎

From (7) and Lemma 2.2, if we have an efficient way of computing the inverse power sums pjp_{j} from j=1j=1 up to O(ln⁡(deg⁡(p)))O(\ln(\deg(p))) (which by Proposition 2.1 is essentially equivalent to computing the first O(ln⁡(deg⁡(p)))O(\ln(\deg(p))) coefficients of pp), then we have an efficient way of approximating evaluations of pp at points in the disk around zero where pp is nonvanishing. We formalize this in the corollary below. In the next section we will show that for certain types of graph polynomials we can compute the inverse power sums efficiently.

The corollary is immediate from (6), (7) and Lemma 2.2. ∎

Computing coefficients of graph polynomials

In this section we present our main technical contribution, which is an efficient way to compute the inverse power sums (and hence the coefficients) of a large class of graph polynomials for bounded degree graphs. Throughout, we will focus on graph polynomials whose coefficients can be expressed as linear combinations of induced subgraph counts. Note that in this section we make no assumptions on the locations of the roots of polynomials. The results in this section are stated only for graphs, but are in fact valid for multigraphs. So the reader could read multigraph instead of graph everywhere in this section. (The degree of a vertex in a multigraph is the number of edges incident with the vertex, where a loop is counted twice.)

We start with some definitions after which we state the main result of this section. Two graphs H=(VH,EH)H=(V_{H},E_{H}) and G=(VG,EG)G=(V_{G},E_{G}) are said to be isomorphic if there exists a bijection f:VH→VGf:V_{H}\rightarrow V_{G} such that for any u,v∈VHu,v\in V_{H}, we have that f(u)f(v)∈EGf(u)f(v)\in E_{G} if and only if uv∈EHuv\in E_{H}. We say that HH is an induced subgraph of GG if there is a subset S⊆VGS\subseteq V_{G} such that HH is isomorphic to G[S]G[S], the graph induced by SS. We write ind(H,G)\text{ind}(H,G) for the number of sets S⊆VGS\subseteq V_{G} such that HH is isomorphic to G[S]G[S] (i.e. the number of induced subgraphs of GG isomorphic to HH). Note that if HH is the empty graph we have ind(H,G)=1\text{ind}(H,G)=1 for all GG.

Let pp be a multiplicative graph polynomial defined by

for every graph GG, the coefficients eie_{i} satisfy

for each H∈GαiH\in\mathcal{G}_{\alpha i}, the coefficients λH,i\lambda_{H,i} can be computed in time O(β∣V(H)∣)O(\beta^{|V(H)|}).

If, for example, for each ii, the coefficient ei(G)e_{i}(G) in (10) is equal to the number of independent sets of size ii in GG, then it is easy to see that pp (which is of course the independence polynomial) is a BIGCP. In this case the obvious brute force algorithm to compute the coefficient ei(G)e_{i}(G) for an nn-vertex graph GG runs in time O(ni)O(n^{i}) (by checking all ii-subsets of V(G)V(G)) and if i=O(ln⁡n)i=O(\ln n) then this is quasi-polynomial time. Our main result of this section is a general algorithm for computing inverse power sums of BIGCPs (and hence the coefficients of BIGCP’s by Proposition 2.1), which when applied to this example, computes ei(G)e_{i}(G) in polynomial time even when i=O(ln⁡n)i=O(\ln n) as long as the maximum degree of GG is bounded.

The algorithm in the theorem above only has access to the polynomial pp via condition (ii) in the definition of BIGCP, that is, it relies only on the algorithm which computes the complex numbers λH,i\lambda_{H,i}.

Assuming Δ≥3\Delta\geq 3, the proof of the theorem above in fact yields a running time of nC1(n/ε)C2=(n/ε)O(1)n^{C_{1}}(n/\varepsilon)^{C_{2}}=(n/\varepsilon)^{O(1)}, where C1C_{1} can be explicitly determined (and does not depend on α,β,C\alpha,\beta,C and Δ\Delta) and where we can crudely take C2=10Cαln⁡(βΔ)C_{2}=10C\alpha\ln(\beta\Delta), where α\alpha and β\beta are the constants from the definition of BIGCP.

Before we prove Theorem 3.1 we will first gather some facts about induced subgraph counts and the number of connected induced subgraphs of fixed size that occur in a graph which we will need for the proof.

where for a graph HH, cH1,H2Hc^{H}_{H_{1},H_{2}} is the number of ordered pairs of subsets of V(H)V(H), (S,T)(S,T), such that S∪T=V(H)S\cup T=V(H) and H[S]H[S] is isomorphic to H1H_{1} and H[T]H[T] is isomorphic to H2H_{2}. In particular, given H1H_{1} and H2H_{2}, cH1,H2Hc^{H}_{H_{1},H_{2}} is nonzero for only a finite number of graphs HH.

Computing the parameter ind(H,G)\text{ind}(H,G) is generally difficult, but it becomes easier if HH is connected (and V(H)V(H) is not too large) and GG has bounded degree.

there is an O(nΔk−1)O(n\Delta^{k-1})-time algorithm, which, given any nn-vertex graph GG with maximum degree at most Δ\Delta, checks whether ind(H,G)≠0\text{ind}(H,G)\neq 0;

there is an O(k2n2Δ2(k−1))O(k^{2}n^{2}\Delta^{2(k-1)})-time algorithm, which, given any nn-vertex graph GG with maximum degree at most Δ\Delta, computes the number ind(H,G)\text{ind}(H,G).

Note that Lemma 3.2 (i) enables us to test for graph isomorphism between bounded degree graphs when ∣V(G)∣=∣V(H)∣|V(G)|=|V(H)|.

Let us list the vertices of V(H)V(H), v1,…,vkv_{1},\ldots,v_{k} in such a way that for i≥1i\geq 1 vertex viv_{i} has a neighbour among v1,…,vi−1v_{1},\ldots,v_{i-1}. Then to embed HH into GG we first select a target vertex for v1v_{1} and then given that we have embedded v1,…,vi−1v_{1},\ldots,v_{i-1} with i≥2i\geq 2 there are at most Δ\Delta choices for where to embed viv_{i}. After kk iterations, we have a total of at most nΔk−1n\Delta^{k-1} potential ways to embed HH and each possibility is checked in the procedure above. Hence we determine if ind(H,G)\text{ind}(H,G) is zero or not in O(nΔk−1)O(n\Delta^{k-1}) time.

The procedure above gives a list LL (of size at most nΔk−1n\Delta^{k-1}) of all sets S⊆V(G)S\subseteq V(G) such that G[S]G[S] is isomorphic to HH, although the list may contain repetitions. It takes time O(k2∣L∣2)=O(k2n2Δ2(k−1))O(k^{2}|L|^{2})=O(k^{2}n^{2}\Delta^{2(k-1)}) to eliminate repetitions (by comparing every pair of elements in LL), and the length of the resulting list gives the value of ind(H,G)\text{ind}(H,G). ∎

Next we consider how to enumerate all possible connected induced subgraphs of fixed size in a bounded degree graph. We will need the following result of Borgs, Chayes, Kahn, and Lovász [10, Lemma 2.1]:

Let GG be a graph of maximum degree Δ\Delta. Fix a vertex v0v_{0} of GG. Then the number of connected induced subgraphs of GG with kk vertices containing the vertex v0v_{0} is at most (eΔ)k−12\frac{(e\Delta)^{k-1}}{2}.

As a consequence we can efficiently enumerate all connected induced subgraphs of logarrithmic size that occur in a bounded degree graph GG.

By the previous result, we know that ∣Tk∣≤nk(eΔ)k−1|\mathcal{T}_{k}|\leq nk(e\Delta)^{k-1} for all kk.

We inductively construct Tk\mathcal{T}_{k}. For k=1k=1, Tk\mathcal{T}_{k} is clearly the set of singleton vertices and takes time O(n)O(n) to output.

Given that we have found Tk−1\mathcal{T}_{k-1} we compute Tk\mathcal{T}_{k} as follows. We first compute the multiset

Here ∣NG(S)∣≤∣S∣Δ≤kΔ|N_{G}(S)|\leq|S|\Delta\leq k\Delta and takes time O(kΔ)O(k\Delta) to find (assuming GG is given in adjacency list form). Therefore computing Tk∗\mathcal{T}_{k}^{*} takes time O(∣Tk−1∣kΔ)=O(nk2(eΔ)k)O(|\mathcal{T}_{k-1}|k\Delta)=O(nk^{2}(e\Delta)^{k}), which is also the size of Tk∗\mathcal{T}_{k}^{*}. Finally we compute the set Tk\mathcal{T}_{k} by removing the repetitions in Tk∗\mathcal{T}_{k}^{*} (by comparing each element with all previous elements), which takes time O(k2∣Tk∗∣2)=O(n2k6(eΔ)2k)O(k^{2}|\mathcal{T}_{k}^{*}|^{2})=O(n^{2}k^{6}(e\Delta)^{2k}).

Starting from T1\mathcal{T}_{1}, we perform the above iteration kk times, requiring a total running time of O(n2k7(eΔ)2k)O(n^{2}k^{7}(e\Delta)^{2k}).

It remains only to show that Tk\mathcal{T}_{k} contains all the sets we desire. Clearly Tk−1⊂Tk\mathcal{T}_{k-1}\subset\mathcal{T}_{k} and assume by induction that Tk−1\mathcal{T}_{k-1} contains all T⊂VT\subset V of size k−1k-1 with G[T]G[T] connected. Given S⊆VS\subseteq V such that ∣S∣=k|S|=k and G[S]G[S] is connected, take any tree of G[S]G[S], remove a leaf vv and call the resulting set of vertices S′S^{\prime}. Then it is clear that S′∈Tk−1S^{\prime}\in\mathcal{T}_{k-1} and this implies S=S′∪{v}∈TkS=S^{\prime}\cup\{v\}\in\mathcal{T}_{k}. ∎

Let HH be connected. Then for G1,G2∈GG_{1},G_{2}\in\mathcal{G} we have ind(H,G1∪G2)=ind(H,G1)+ind(H,G2)\text{ind}(H,G_{1}\cup G_{2})=\text{ind}(H,G_{1})+\text{ind}(H,G_{2}), as HH is connected. Thus ind(H,⋅)\text{ind}(H,\cdot) is additive. Clearly, linear combinations of additive graph parameters are again additive. This implies that if ff is supported on connected graphs, then ff is additive.

Suppose next that ff is additive. We need to show that aH=0a_{H}=0 if HH is disconnected. By the previous part of the proof, we may assume that aH=0a_{H}=0 for all connected graphs HH. Let now H=H1∪H2H=H_{1}\cup H_{2} with both H1H_{1} and H2H_{2} nonempty. We may assume by induction that for all graphs H′H^{\prime} of order strictly smaller than k:=∣V(H)∣k:=|V(H)| we have aH′=0a_{H^{\prime}}=0. Now, by additivity we have

since ∣V(Hi)∣<k|V(H_{i})|<k for i=1,2i=1,2. On the other hand we have

As ind(H,H)≠0\text{ind}(H,H)\neq 0, this implies that aH=0a_{H}=0 and finishes the proof. ∎

2 Proof of Theorem 3.1

for each k=1,…,dk=1,\ldots,d. By (11), for i≥1i\geq 1, the eie_{i} can be expressed as linear combinations of induced subgraph counts of graphs with at most αi\alpha i vertices. Since p1=−e1p_{1}=-e_{1}, this implies that the same holds for p1p_{1}. By induction, (12), and (13) we have that for each kk

for certain, yet unknown, coefficients aH,ka_{H,k}.

Since pp is multiplicative, the inverse power sums are additive. Thus Lemma 3.5 implies that aH,k=0a_{H,k}=0 if HH is not connected. Denote by Ci(G)\mathcal{C}_{i}(G) the set of connected graphs of order at most ii that occur as induced subgraphs in GG. This way we can rewrite (14) as follows:

The next lemma says that we can compute the coefficients aH,ka_{H,k} efficiently for k=1,…,mk=1,\ldots,m, where m=Cln⁡(n/ε)m=C\ln(n/\varepsilon).

There is an (n/ε)O(1)(n/\varepsilon)^{O(1)}-time algorithm, which given a BIGCP pp and an nn-vertex graph GG of bounded maximum degree, computes and lists the coefficients aH,ka_{H,k} in (15) for all H∈Cαk(G)H\in\mathcal{C}_{\alpha k}(G) and all k=1,…,m=Cln⁡(n/ε)k=1,\ldots,m=C\ln(n/\varepsilon).

Using the algorithm of Lemma 3.4, we first compute the sets Tαk\mathcal{T}_{\alpha k} consisting of all subsets SS of V(G)V(G) such that ∣S∣≤αk|S|\leq\alpha k and G[S]G[S] is connected, for k=1…,mk=1\ldots,m. This takes time bounded by (n/ε)O(1)(n/\varepsilon)^{O(1)}. (Note that the algorithm in Lemma 3.4 computes and lists all the sets Ti\mathcal{T}_{i} for i=1,…,αmi=1,\ldots,\alpha m.) We next compute and list the graphs in Cαk(G)\mathcal{C}_{\alpha k}(G) by considering the set of graphs {G[S]∣S∈Tαk}\{G[S]\mid S\in\mathcal{T}_{\alpha k}\} and removing copies of isomorphic graphs using Lemma 3.2 (i) to test for isomorphism. This takes time at most (n/ε)O(1)(n/\varepsilon)^{O(1)} for each kk, so the total time to compute and list the Cαk(G)\mathcal{C}_{\alpha k}(G) is bounded by (n/ε)O(1)(n/\varepsilon)^{O(1)}.

To prove the lemma, let us fix k≤mk\leq m and show how to compute the coefficients aH,ka_{H,k}, assuming that we have already computed and listed the coefficients aH,k′a_{H,k^{\prime}} for all k′<kk^{\prime}<k. Let us fix H∈Cαk(G)H\in\mathcal{C}_{\alpha k}(G). By (13), it suffices to compute the coefficient of ind(H,⋅)\text{ind}(H,\cdot) in pk−ieip_{k-i}e_{i} for i=1,…,ki=1,\ldots,k (where we set p0=1)p_{0}=1). By (11), (12) and (14) we know that the coefficient of ind(H,⋅)\text{ind}(H,\cdot) in pk−ieip_{k-i}e_{i} is given by

As ∣V(H)∣≤αk=O(ln⁡(n/ε))|V(H)|\leq\alpha k=O(\ln(n/\varepsilon)), the second sum in (16) is over at most 4αk=(n/ε)O(1)4^{\alpha k}=(n/\varepsilon)^{O(1)} pairs (S,T)(S,T). For each such pair, we need to compute λH[S],i\lambda_{H[S],i} and look up aH[T],(k−i)a_{H[T],(k-i)}. We can compute λH[S],i\lambda_{H[S],i} in time bounded by β∣S∣=(n/ε)O(1)\beta^{|S|}=(n/\varepsilon)^{O(1)} since pp is a BIGCP.

Looking up aH[T],(k−i)a_{H[T],(k-i)} in the given list requires us to test isomorphism of H[T]H[T] with each graph in Cα(k−i)(G)\mathcal{C}_{\alpha(k-i)}(G) (noting that aH[T],(k−i)=0a_{H[T],(k-i)}=0 if H[T]∉Cα(k−i)(G)H[T]\not\in\mathcal{C}_{\alpha(k-i)}(G) by Lemma 3.5). Using Lemma 3.2(i) to test for graph isomorphism, this takes time at most

Here we use Lemma 3.3 to bound ∣Cα(k−i)(G)∣|\mathcal{C}_{\alpha(k-i)}(G)|. Together, all this implies that the coefficient of ind(H,⋅)\text{ind}(H,\cdot) in pk−ieip_{k-i}e_{i} can be computed in time bounded by (n/ε)O(1)(n/\varepsilon)^{O(1)}, and so the coefficient aH,ka_{H,k} can be computed in time (n/ε)O(1)(n/\varepsilon)^{O(1)}. Thus all coefficients aH,ka_{H,k} for H∈Cαk(G)H\in\mathcal{C}_{\alpha k}(G) can be computed and listed in time bounded by ∣Cαk(G)∣(n/ε)O(1)=(n/ε)O(1)|\mathcal{C}_{\alpha k}(G)|(n/\varepsilon)^{O(1)}=(n/\varepsilon)^{O(1)}. This can be done for each k=1,…,mk=1,\ldots,m in time (n/ε)O(1)(n/\varepsilon)^{O(1)}. ∎

To finish the proof of the theorem, we compute pkp_{k} for each k=1,…,mk=1,\ldots,m by adding all the numbers aH,kind(H,G)a_{H,k}\text{ind}(H,G) over all H∈Cαk(G)H\in\mathcal{C}_{\alpha k}(G). This can be done in time

where we use that computing ind(H,G)\text{ind}(H,G) with H∈Cαk(G)H\in\mathcal{C}_{\alpha k}(G) takes time O((αk)2n2Δ2(αk−1))O((\alpha k)^{2}n^{2}\Delta^{2(\alpha k-1)}) by Lemma 3.2(ii).

3 Extensions to colored graphs

In this section, we treat the case of colored graphs, which we shall require later. In fact all earlier proofs go through line by line for the colored case, but we chose to avoid excessive generality for the sake of exposition. Here we restate various definitions for the colored case and restate the main theorem.

We can then extend the definitions in the natural way to their colored versions. In particular G\mathcal{G}, Gk\mathcal{G}_{k}, Ck(G)\mathcal{C}_{k}(G) become respectively the set of all vertex (resp. edge) colored graphs, the set of all vertex (resp. edge) colored graphs of order at most kk, and the set of all connected, vertex (resp. edge) colored induced subgraphs of GG of order at most kk. Note that Gk\mathcal{G}_{k} becomes infinite in the colored setting but is finite in the uncolored setting, but this will not matter. The definition of (multiplicative) graph invariant and graph polynomial extend in the natural way to vertex (resp. edge) colored graphs and in particular a BIGCP for vertex (resp. edge) colored graphs is defined in exactly the same way. We need only note that although the sum in part (i) of the definition of BIGCP is infinite in the colored version, all but finitely many terms will be zero when evaluating for a particular choice of colored graph GG. Now the colored version of Theorem 3.1 reads as follows.

The independence polynomial

Now fix an nn-vertex graph GG of maximum degree at most Δ\Delta. Let m=Cln⁡(n/ε)m=C\ln(n/\varepsilon), where C=C(λ,λ∗)C=C(\lambda,\lambda^{*}) is the constant in Corollary 2.3. As the kkth coefficient of Z(G)Z(G) is equal to ind(∙k,G)\text{ind}(\bullet^{k},G), where ∙k\bullet^{k} denotes the graph consisting of kk isolated vertices and as Z(G)Z(G) is clearly multiplicative and has constant term equal to 11, we have that Z(G)Z(G) is a BIGCP (taking α=β=1\alpha=\beta=1). So by Theorem 3.1 we see that for k=1,…,mk=1,\ldots,m we can compute the first mm inverse power sums of Z(G)Z(G) in time (n/ε)O(1)(n/\varepsilon)^{O(1)}. Noting that the degree of Z(G)Z(G) is at most nn, Corollary 2.3 implies we can compute a multiplicative ε\varepsilon-approximation to Z(G)(λ)Z(G)(\lambda) in time (n/ε)O(1)(n/\varepsilon)^{O(1)}. This concludes the proof. ∎

Evaluating the independence polynomial at negative and complex values gives us new information about the distribution of independent sets in a graph, as illustrated by the following example. We denote by Ze(G)(λ)Z_{e}(G)(\lambda) the polynomial defined in the same way as the independence polynomial except that in the sum (1), we only allow independent sets whose cardinality is even.

We apply the algorithm of Theorem 1.1 to compute multiplicative ε\varepsilon-approximations A(λ)A(\lambda) and A(−λ)A(-\lambda) to Z(G)(λ)Z(G)(\lambda) and Z(G)(−λ)Z(G)(-\lambda) respectively in time (∣V∣/ε)O(1)(|V|/\varepsilon)^{O(1)}. We have

Taking half the sum of these equations and noting that Ze(G)(λ)=12(Z(G)(λ)+ZG(−λ))Z_{e}(G)(\lambda)=\frac{1}{2}(Z(G)(\lambda)+Z_{G}(-\lambda)), we see that 12(A(λ)+A(−λ))\frac{1}{2}(A(\lambda)+A(-\lambda)) is a multiplicative ε\varepsilon-approximation to Ze(G)(λ)Z_{e}(G)(\lambda) provided both Z(G)(λ)Z(G)(\lambda) and Z(G)(−λ)Z(G)(-\lambda) have the same sign.

Clearly Z(G)(λ)>0Z(G)(\lambda)>0 since the coefficients of Z(G)Z(G) are nonnegative real numbers. Also Z(G)(−λ)>0Z(G)(-\lambda)>0 because we know by the result of Scott and Sokal that Z(G)Z(G) does not vanish in the interval [−λ∗,λ∗][-\lambda^{*},\lambda^{*}], and we know Z(G)Z(G) is positive in the interval [0,λ∗][0,\lambda^{*}] since all the coefficients of Z(G)Z(G) are nonnegative real numbers. Hence Z(G)Z(G) is positive on the whole interval [−λ∗,λ∗][-\lambda^{*},\lambda^{*}] and in particular Z(G)(λ)>0Z(G)(\lambda)>0. ∎

2 The multivariate independence polynomial

Here we will briefly mention how our results apply to the multivariate independence polynomial. For a graph G=(V,E)G=(V,E) and a variable zvz_{v} for each v∈Vv\in V define

Fix the complex values of zvz_{v}, v∈Vv\in V at which we wish to evaluate the multivariate independence polynomial. Now define a univariate graph polynomial q(G)q(G) by q(G)(λ)=Z(G)((λzv)v∈V)q(G)(\lambda)=Z(G)((\lambda z_{v})_{v\in V}), where q(G)(1)q(G)(1) is what we wish to estimate. The coefficient of λk\lambda^{k} in q(G)q(G) is then given by the sum over all independent sets of GG of size kk, where an independent set II is counted with weight ∏v∈Izv\prod_{v\in I}z_{v}. While we can no longer represent this as a linear combination of ordinary induced subgraph counts, we can view this as a linear combination of vertex-colored induced subgraph counts, as we will now explain.

Suppose now that GG has nn vertices labelled 1,…,n1,\ldots,n. We view GG as a vertex-colored graph by giving the vertex labeled ii color ii for i=1,…,ni=1,\ldots,n. Then qvc(G)=q(G)q_{vc}(G)=q(G). So if GG has bounded degree, we can by Theorem 3.7 compute the logarithmic order inverse power sums of q(G)q(G) efficiently, as in the previous section.

The result of Shearer , cf. Scott and Sokal [41, Corollary 5.7] also applies to the multivariate independence polynomial (i.e. Z(G)((zv)v∈V)Z(G)((z_{v})_{v\in V}) is non-zero whenever ∣zv∣<λ∗(Δ)|z_{v}|<\lambda^{*}(\Delta) for all v∈Vv\in V and Δ(G)≤Δ\Delta(G)\leq\Delta). This means q(G)(λ)q(G)(\lambda) is nonzero whenever ∣λ∣<M|\lambda|<M for some M>1M>1. It then follows that we can efficiently approximate q(G)(1)q(G)(1) and hence Z(G)((zv)v∈V)Z(G)((z_{v})_{v\in V}) if GG has maximum degree at most Δ\Delta and if all zvz_{v} satisfy ∣zv∣<λ∗(Δ)|z_{v}|<\lambda^{*}(\Delta).

3 The independence polynomial on claw-free graphs

In this subsection, we illustrate a technique of Barvinok for approximating graph polynomials on larger regions of the complex plane by making careful polynomial transformations. We use this technique to prove Theorem 1.2, which shows that we can approximate the independence polynomial of claw-free graphs on almost the entire complex plane. First we require a few preliminary results.

We also require the following lemma of Barvinok .

ϕ(0)=0\phi(0)=0 and ϕ(1)=1\phi(1)=1 and ϕ\phi has degree NN;

SρS_{\rho} is a bounded strip parallel to the real axis in the complex plane, so λSρ\lambda S_{\rho} is the same strip enlarged by a factor rr and rotated by an angle θ\theta. The proposition then follows from elementary trigonometry. ∎

Set n:=∣V(G)∣n:=|V(G)| and let λ=reiθ\lambda=re^{i\theta} with θ∈(−π,π)\theta\in(-\pi,\pi). Set

and consider the polynomial g(z)=Z(G)(λϕρ(z))g(z)=Z(G)(\lambda\phi_{\rho}(z)). Note that the degree of gg is O(n)O(n) since the degree of Z(G)Z(G) is at most nn and the degree of ϕρ\phi_{\rho} is a constant N(ρ)N(\rho).

We will use Corollary 2.3 to find a multiplicative ε\varepsilon-approximation to g(1)=Z(G)(λ)g(1)=Z(G)(\lambda) in time (n/ε)O(1)(n/\varepsilon)^{O(1)}. In order to apply Corollary 2.3 to draw this conclusion, it is enough to check that (i) gg has no roots in the disk ∣z∣≤β:=β(ρ)|z|\leq\beta:=\beta(\rho) and that (ii) the first m=Cln⁡(d/ε)m=C\ln(d/\varepsilon) inverse power sums of gg can be computed in time (n/ε)O(1)(n/\varepsilon)^{O(1)}, where d=O(n)d=O(n) is the degree of gg and C=C(β,1)C=C(\beta,1) is the constant in the statement of Corollary 2.3.

For (ii), we show that we can compute the first mm coefficients of gg in time (n/ε)O(1)(n/\varepsilon)^{O(1)}, which is sufficient by Proposition 2.1. Given a polynomial p(z)=∑i=0daizip(z)=\sum_{i=0}^{d}a_{i}z^{i}, write p[m](z):=∑i=0maizip_{[m]}(z):=\sum_{i=0}^{m}a_{i}z^{i}. Then we note that g[m]=(Z(G)∘(λϕ))[m]=(Z(G)[m]∘(λϕ[m]))[m]g_{[m]}=(Z(G)\circ(\lambda\phi))_{[m]}=(Z(G)_{[m]}\circ(\lambda\phi_{[m]}))_{[m]}, where we crucially use the fact that ϕ\phi has no constant term since ϕ(0)=0\phi(0)=0. In words, to obtain g[m](z)g_{[m]}(z) we substitute λϕ[m](z)\lambda\phi_{[m]}(z) into Z(G)[m](z)Z(G)_{[m]}(z) and keep the first mm terms. Thus, in O(m3)O(m^{3})-time we can obtain the first mm coefficients of gg if we know the first mm coefficients of Z(G)Z(G). As Z(G)Z(G) is a BIGCP, we can compute its first mm inverse power sums in time (n/ε)O(1)(n/\varepsilon)^{O(1)} (as in the proof of Theorem 1.1), from which we can find its first mm coefficients in time O(m2)O(m^{2}) by Proposition 2.1. This finishes the proof. ∎

We remark that, for the (n/ε)O(1)(n/\varepsilon)^{O(1)} running time in the algorithm above, the O(1)O(1) in the exponent depends on λ\lambda and grows exponentially fast in r=∣λ∣r=|\lambda|. However, this dependence can be brought down to O(∣λ∣1/2)O(|\lambda|^{1/2}) by adapting Lemma 4.3 as described by Barvinok .

The Tutte polynomial

By a result of Jackson, Procacci and Sokal, cf. [31, Theorem 1.2] (which is valid for loopless multigraphs) we know that there exists a constant K>0K>0 depending on Δ\Delta and ww such that for all qq with ∣q∣>K|q|>K we have ZT(G)(q,w)≠0Z_{T}(G)(q,w)\neq 0 for all graphs GG of maximum degree at most Δ\Delta. This is exactly opposite to what we need to apply Corollary 2.3, so let us define the graph polynomial pTp_{T} by

for any graph G=(V,E)G=(V,E). Note that pT(G)p_{T}(G) has degree n:=∣V∣n:=|V| and that if xx is a multiplicative ε\varepsilon-approximation to pT(G)(1/q,w)p_{T}(G)(1/q,w), then qnxq^{n}x is a multiplicative ε\varepsilon-approximation to ZT(G)(q,w)Z_{T}(G)(q,w), so it is sufficient to find the former.

We will show that for any nn-vertex graph GG of maximum degree at most Δ\Delta, we can compute the first mm inverse power sums of pT(G)p_{T}(G) in time (n/ε)O(1)(n/\varepsilon)^{O(1)}, where m=Cln⁡(n/ε)m=C\ln(n/\varepsilon) and C=C(1/q,1/K)C=C(1/q,1/K) is the constant in Corollary 2.3. Corollary 2.3 then implies we can compute a multiplicative ε\varepsilon-approximation to pT(G)(1/q)p_{T}(G)(1/q) and hence to ZT(G)(q,w)Z_{T}(G)(q,w) in time (n/ε)O(1)(n/\varepsilon)^{O(1)}.

We will show that pT(G)p_{T}(G) is a BIGCP so that by Theorem 3.1 we can conclude that we can compute the first mm inverse power sums in time (n/ε)O(1)(n/\varepsilon)^{O(1)}.

Since the Tutte polynomial ZT(G)(z,w)Z_{T}(G)(z,w) (as a polynomial in zz) is a monic and multiplicative graph polynomial (of degree n=∣V(G)∣n=|V(G)|), we know that the constant term of pTp_{T} equals 11 and that pTp_{T} is multiplicative. So it suffices to show conditions (i) and (ii) in Definition 3.1. The coefficient of zkz^{k} in pT(G)p_{T}(G) equals the coefficient of zn−kz^{n-k} in ZT(G)(z,w)Z_{T}(G)(z,w) and is by definition equal to the sum over all subsets AA of EE such that AA induces a graph with exactly n−kn-k components, where each subset is counted with weight w∣A∣w^{|A|}. Let us call a component of a graph nontrivial if it consists of more than one vertex. Suppose some subset of the edges A⊆EA\subseteq E induces n−kn-k components of which cc are nontrivial. Then we have n−k−cn-k-c isolated vertices and so the graph FF, consisting of the union of these nontrivial components, has n−(n−k−c)=k+cn-(n-k-c)=k+c vertices and k(F)=ck(F)=c components. Thus we have a correspondence between subsets AA of EE that induce a graph with exactly n−kn-k components and subgraphs FF of GG with no isolated vertices satisfying k(F)=V(F)−kk(F)=V(F)-k. Therefore, writing δ(F)\delta(F) for the minimum degree of the subgraph FF, the coefficient of zn−kz^{n-k} in ZT(G)Z_{T}(G) can be expressed as

In fact the first sum can be taken over graphs HH with at most 2k2k vertices. This is because V(H)=V(F)V(H)=V(F) and

From (18), we can compute the coefficient of ind(H,G)\text{ind}(H,G) by checking all subsets of E(H)E(H) in time O(2E(H))=O(2Δ∣V(H)∣)O(2^{E(H)})=O(2^{\Delta|V(H)|}). This implies that pTp_{T} is a BIGCP (taking α=2\alpha=2 and β=2Δ\beta=2^{\Delta}). ∎

Csikvári and Frenkel introduced graph polynomials of bounded exponential type and showed that these polynomials have bounded roots on bounded degree graphs. This was utilized in to give quasi-polynomial-time approximation algorithm for evaluations of these polynomials. The Tutte polynomial with the second argument fixed is an example of such a polynomial. We remark here that the proof given above for the Tutte polynomial also easily extends to graph polynomial of bounded exponential type. So the algorithm in can be adapted to run in polynomial time on bounded degree graphs.

Partition functions of spin models

In this section we will state and prove a generalization of Theorem 1.4 and we will indicate how our method applies to partition functions of graph homomorphisms with multiplicities.

Let G=(V,E)G=(V,E) be a graph. Suppose also that for each e∈Ee\in E we have a symmetric k×kk\times k-matrix AeA^{e}. Let us write A=(Ae)e∈E\mathcal{A}=(A^{e})_{e\in E}. Then we can extend the definition of the partition function of a spin model as follows:

We will refer to p(G)(A)p(G)(\mathcal{A}) as the partition function of A\mathcal{A}. In this is called a Markov random field (if the AeA^{e} are nonnegative) and in this is called a multi spin system. Clearly, if all AeA^{e} are the same, this just reduces to the partition function of a spin model. We have the following result, which implies Theorem 1.4.

The constant 0.340.34 may be replaced by 0.450.45 if Δ≥3\Delta\geq 3 and by 0.540.54 if Δ\Delta is large enough; see .

Then q(G)(0)=1q(G)(0)=1 and q(G)(1)=k−∣V∣p(G)(A)q(G)(1)=k^{-|V|}p(G)(\mathcal{A}). Barvinok and Soberón [8, Theorem 1.6] showed that there exists a constant δ>0\delta>0 such that q(G)(z)≠0q(G)(z)\neq 0 for all zz satisfying ∣z∣≤1+δ|z|\leq 1+\delta.

We will show that for any nn-vertex graph GG of maximum degree at most Δ\Delta, we can compute the first mm inverse power sums of q(G)q(G) in time (n/ε)O(1)(n/\varepsilon)^{O(1)}, where m=Cln⁡(n/ε)m=C\ln(n/\varepsilon) and C=C(1,1+δ)C=C(1,1+\delta) is the constant in Corollary 2.3. Noting that the degree of q(G)q(G) is at most ∣E∣≤nΔ/2|E|\leq n\Delta/2, Corollary 2.3 implies we can compute a multiplicative ε\varepsilon-approximation to q(G)(1)q(G)(1) in time (n/ε)O(1)(n/\varepsilon)^{O(1)}. So it remains to show that we can compute the first mm inverse power sums of q(G)q(G) in time (n/ε)O(1)(n/\varepsilon)^{O(1)}.

For a subset FF of EE, define G[F]G[F] to be the edge-colored graph induced by the edges in FF. The vertex set of G[F]G[F] consists of those vertices incident with edges in FF and hence has size at most 2∣F∣2|F|. Then we see that the coefficient of ziz^{i} in (21) can be written as follows:

where we interpret G2i\mathcal{G}_{2i} as the collection of edge-colored graphs on at most 2i2i vertices. This shows how to extend qq to edge-colored graphs. The inner sum in (22) can be computed in time O(k∣V(H)∣)O(k^{|V(H)|}), and clearly qq has constant term equal to 11 and it is multiplicative. This implies that the extension of qq to edge-colored graphs is a BIGCP (with constant α=2\alpha=2 and β=k\beta=k) and so Theorem 3.7 implies that we can compute the first mm inverse power sums of qq in time bounded by O(n/ε)O(1)O(n/\varepsilon)^{O(1)}. This finishes the proof. ∎

2 Partition functions of graph homomorphisms with multiplicities

We refer to for more details and background on this type of partition function.

Building on a result from Barvinok and Soberón [9, Section 2] and using exactly the same proof as above we directly establish the following:

Partition functions of edge-coloring models

In this section we state and prove a generalization of Theorem 1.5. It is along the same lines as the generalization of Theorem 1.4 in the previous section. The proof also goes along the same line, but as we will see below there are some details that are different.

Let G=(V,E)G=(V,E) be a graph. Suppose that we have kk-color edge-coloring models hvh^{v} for each v∈Vv\in V. Let us write H=(hv)v∈V\mathcal{H}=(h^{v})_{v\in V}. Often the pair (G,H)(G,\mathcal{H}) is called a signature grid, cf. . Then we can extend the definition of the partition function of an edge-coloring model as follows:

We will refer to p(G)(H)p(G)(\mathcal{H}) as the partition function of H\mathcal{H}. Clearly, if all hvh^{v} are equal we obtain the ordinary partition function of an edge-coloring model. It is also called the Holant problem of the signature grid (G,H)(G,\mathcal{H}) cf. . We have the following result, which implies Theorem 1.5.

The constant 0.350.35 may be replaced by 0.470.47 if Δ≥3\Delta\geq 3 and by 0.560.56 if Δ\Delta is large enough; see . Moreover, for readers familiar with the orthogonal group invariance of these partition functions one can use Corollary 6b from to find a larger family of edge-coloring models for which the partition function can be efficiently approximated.

Observe that q(G)(1)=k−∣E∣p(G)(H)q(G)(1)=k^{-|E|}p(G)(\mathcal{H}) and that q(G)q(G) is a polynomial of degree at most n:=∣V∣n:=|V|. So, just as in the previous section, the problem of approximating the partition function p(G)(H)p(G)(\mathcal{H}) is replaced by approximating an evaluation of a univariate polynomial.

By Corollary 6a from (which is valid for multigraphs) there exists δ>0\delta>0 such that q(G)(z)≠0q(G)(z)\neq 0 whenever ∣z∣≤1+δ|z|\leq 1+\delta. We will show (in Theorem 7.2) that for any nn-vertex graph GG of maximum degree at most Δ\Delta, we can compute the first mm inverse power sums of q(G)q(G) in time (n/ε)O(1)(n/\varepsilon)^{O(1)}, where m=Cln⁡(n/ε)m=C\ln(n/\varepsilon) and C=C(1,1+δ)C=C(1,1+\delta) is the constant in Corollary 2.3. Noting that the degree of q(G)q(G) is at most nn, Corollary 2.3 implies we can compute a multiplicative ε\varepsilon-approximation to q(G)(1)q(G)(1) in time (n/ε)O(1)(n/\varepsilon)^{O(1)}.

Ideally we would like to do this using Theorem 3.1 just as in the proof of Theorem 6.1. Since partition functions of edge-coloring models are multiplicative, the polynomial qq is also multiplicative and it has constant term equal to 11. So to be able to apply Theorem 3.1 we need only check that the coefficients of qq can be expressed as linear combinations of (colored) induced graph counts. This is in fact proved in if all hvh^{v} are equal, but there it is not clear whether the coefficients λH,i\lambda_{H,i} in (11) can be computed efficiently. So instead of directly applying Theorem 3.1 we will have to do a little more work, which we postpone to the next section. ∎

2 Computing coefficients of q​(G)​(z)𝑞𝐺𝑧q(G)(z)

where for U⊆VU\subseteq V, E(U)E(U) denotes the set of edges of GG that are incident with at least one vertex of UU.

The second sum inside the brackets of the third line of (26) is almost the partition function of (hu−J)u∈U(h^{u}-J)_{u\in U}, except that the pair (U,E(U))(U,E(U)) may not actually be a graph as some of the edges of E(U)E(U) are not spanned by UU. We will refer to such a graph-like structure as a fragment and the edges in E(U)E(U) that are ‘sticking out’ (i.e. not spanned by UU) as half edges. Formally, a fragment, is a pair (H,κ)(H,\kappa), where HH is a vertex-colored graph and where κ\kappa is a map κ:V(H)→{0,1,…,Δ}\kappa:V(H)\to\{0,1,\ldots,\Delta\}, which records the number of half edges incident with each vertex. Suppose GG has nn vertices labeled 1,…,n1,\ldots,n. From now on we will consider the graph GG as a vertex-colored graph, where vertex ii gets color ii for i=1,…,ni=1,\ldots,n. For U⊆VU\subseteq V we let G(U)G(U) be the fragment (G[U],κ)(G[U],\kappa) where κ(u)\kappa(u) is equal to the number of edges that connect uu with V∖UV\setminus U. Note that the graph GG itself can be thought of as a fragment by taking the map κ:V(G)→{0,…,Δ}\kappa:V(G)\to\{0,\ldots,\Delta\} to be κ(v)=0\kappa(v)=0 for all v∈V(G)v\in V(G).

Clearly, for each UU of size ii the expression inside the second sum of the third line of (26) only depends on the isomorphism class of the fragment G(U)G(U). (An isomorphism from a fragment (H,κ)(H,\kappa) to a fragment (H′,κ′)(H^{\prime},\kappa^{\prime}) is an isomorphism α\alpha of the underlying vertex-colored graphs and such that for each u∈V(H)u\in V(H), κ(u)=κ′(α(u))\kappa(u)=\kappa^{\prime}(\alpha(u)).) For a fragment F=(H,κ)F=(H,\kappa) let E(F)E(F) denote the set of edges of FF including half edges and let V(F)V(F) denote the vertex set of the underlying graph HH. Assume that for each i=1,2,…i=1,2,\ldots we have a kk-color edge coloring-model hih^{i} and let H=(hi)i≥1\mathcal{H}=(h^{i})_{i\geq 1} Then define,

Here we implicitly identify the the color of a vertex of HH with the vertex itself. Define for a fragment F=(H,κ)F=(H,\kappa), ind∗(F,G)\text{ind}^{*}(F,G) to be the number of sets UU of size ∣V(F)∣|V(F)| such that G(U)G(U) is isomorphic to FF. Writing H−J=(hi−J)i≥1\mathcal{H}-J=(h^{i}-J)_{i\geq 1}, we can rewrite (26) as

where the sum runs over fragments. This shows how to extend qq to vertex-colored graphs. Let us denote the coefficient of ziz^{i} in (28) by eie_{i}. In it is proved that in case all hih^{i} are equal, ind∗(F,G)\text{ind}^{*}(F,G) can be expressed as a linear combination of the parameters ind(H,G)\text{ind}(H,G) for certain graphs HH. As mentioned above, the coefficients in this expression may not be easy to compute (at least we do not know how to do this). So we will have to work with the parameters ind∗(F,⋅)\text{ind}^{*}(F,\cdot) instead. This is not a severe problem, since essentially if we replace ind in (11) by ind∗\text{ind}^{*}, then Theorem 3.1 remains valid. Indeed, we have the following theorem.

The proof of Theorem 7.2 follows the same line as the proof of Theorem 3.1. Essentially we need to replace graphs by fragments in the proof and check that everything remains valid. For completeness we will give the proof.

We first need to note that for a fragment F1=(H1,κ1)F_{1}=(H_{1},\kappa_{1}) the graph parameter ind∗(F1,⋅)\text{ind}^{*}(F_{1},\cdot) can be extended to the collection of all fragments as follows: for a fragment F2=(H2,κ2)F_{2}=(H_{2},\kappa_{2}) we let ind∗(F1,F2)\text{ind}^{*}(F_{1},F_{2}) denote the number of sets S⊆V(H2)S\subseteq V(H_{2}) such that H1H_{1} is isomorphic to H2[S]H_{2}[S] as vertex-colored graphs and such that for each vertex vv of H1H_{1} we have that the number of neighbours of vv in V(H2)∖SV(H_{2})\setminus S is equal to κ1(v)−κ2(v)\kappa_{1}(v)-\kappa_{2}(v). Then for two fragments F1F_{1} and F2F_{2} we have

where the sum runs over all fragments FF and where for a fragment FF, cF1,F2Fc^{F}_{F_{1},F_{2}} denotes the number of pairs of subsets (S,T)(S,T) of V(F)V(F) such that S∪T=V(F)S\cup T=V(F) and F1=F(S)F_{1}=F(S) and F2=F(T)F_{2}=F(T). (Here F(S)F(S) is the fragment induced by SS, i.e., if F=(H,κ)F=(H,\kappa), then F(S)=(H[S],α)F(S)=(H[S],\alpha) where for s∈Ss\in S we set α(s)=deg⁡H(s)−deg⁡H[S](s)+κ(s)\alpha(s)=\deg_{H}(s)-\deg_{H[S]}(s)+\kappa(s).) We call a fragment F=(H,κ)F=(H,\kappa) connected if the graph HH is connected. We now adapt some of the statements and proofs of the results in Section 3 to include fragments.

Note that Lemma 7.3 enables us to test for isomorphism of fragments between bounded degree fragments when ∣V(F)∣=∣V(F^)∣|V(F)|=|V(\hat{F})|.

This follows immediately from the proof of Lemma 3.2. We apply the proof of Lemma 3.2 to the underlying graphs and then remove any potential embedding that either violates the vertex coloring constraints or the constraints that κ\kappa imposes. ∎

Concluding remarks and open questions

In this paper we have presented a direct connection between the absence of complex roots for a large class of graph polynomials (BIGCPs) and the existence of (deterministic) algorithms to efficiently approximate evaluations of these polynomials. We have illustrated its use by giving deterministic polynomial-time approximation algorithms for evaluations of the Tutte polynomial, the independence polynomial and graph polynomials obtained from spin and edge-coloring models at complex numbers on bounded degree graphs.

As is noted in the introduction Theorem 1.1 does not allow us to efficiently approximate the independence polynomial at λ\lambda for λ∗≤λ<λc\lambda^{*}\leq\lambda<\lambda_{c}, while this can be done with the correlation decay approach cf. Weitz . However, confirming a conjecture of Sokal , Peters and the second author proved the following:

for all v∈Vv\in V, we have Z(G)((λv)v∈V)≠0Z(G)((\lambda_{v})_{v\in V})\neq 0.

Now combining this result with the approach in Section 4.3, it follows that with the methods in this paper we can efficiently approximate the independence polynomial at λ\lambda for λ<λc\lambda<\lambda_{c}, thereby giving a different proof of Weitz’s result.

Let us restate another conjecture of Sokal [30, Conjecture 21], which, if true, would by the methods of the present paper imply that we have an efficient algorithm for approximately counting the number of (Δ+1)(\Delta+1)-colorings in any graph of maximum degree at most Δ\Delta.

This connection between absence of complex roots and efficient approximation algorithms naturally leads to the question of how hard it is to approximate evaluations of these graph polynomials close to (complex) roots. In light of this we remark that some progress on this question has been made. As mentioned in the introduction, there exists a sequence of trees TnT_{n} of maximum degree at most Δ\Delta and λn<−λ∗\lambda_{n}<-\lambda^{*} with λn→−λ∗\lambda_{n}\to-\lambda^{*} such that Z(Tn,λn)=0Z(T_{n},\lambda_{n})=0. This was utilized by Galanis, Goldberg and Štefankovič, to show that it is NP hard to approximate ZG(λ)Z_{G}(\lambda) when λ<−λ∗(Δ)\lambda<-\lambda^{*}(\Delta).

Another question that arises naturally is the following. Barvinok found quasi-polynomial-time approximation algorithms for computing the permanent of certain matrices, based on absence of zeros. Our method for computing inverse power sums of BIGCPs on bounded degree graphs presented in Section 3 does not seem to apply to permanents of general matrices. It would be very interesting to find a more general method that also applies to permanents.

Our algorithmic results in Section 3 can be interpreted as giving a fixed parameter tractability result for determining ind(H,G)\text{ind}(H,G) for certain graphs HH. If GG has bounded degree, the algorithm runs in time 2O(∣V(H)∣∣V(G)∣O(1)2^{O(|V(H)|}|V(G)|^{O(1)}. However, the algorithm only works for graphs HH for which ind(H,⋅)\text{ind}(H,\cdot) are coefficients of a multiplicative graph polynomial. Very recently, we were able to extend the algorithm to all graphs HH; see . A natural question is whether our approach can be extended to other classes of graphs such as planar graphs for example. More concretely, let us state the following question.

Acknowledgements

We thank Alexander Barvinok for stimulating discussions, useful remarks and for sharing the results in with us. We thank Andreas Galanis for informing us about . We are grateful to Pinyan Lu for some useful remarks on an earlier version of this paper.

We moreover thank the anonymous referees for helpful comments and suggestions, improving the presentation of the paper.

References