Approximate Counting of Matchings in
(3, 3)-Hypergraphs?

arXiv:1402.6190v3 [math.CO] 25 Oct 2017

Andrzej Dudek1?? , Marek Karpinski2? ? ? , Andrzej Ruciński3† , and Edyta
Szymańska3‡
1

Western Michigan University, Kalamazoo, MI, USA, andrzej.dudek@wmich.edu
2
Department of Computer Science, University of Bonn, Germany,
marek@cs.uni-bonn.de
3
Faculty of Mathematics and Computer Science, Adam Mickiewicz University,
Poznań, Poland, (rucinski,edka)@amu.edu.pl

Abstract. We design a fully polynomial time approximation scheme
(FPTAS) for counting the number of matchings (packings) in arbitrary
3-uniform hypergraphs of maximum degree three, referred to as (3, 3)hypergraphs. It is the first polynomial time approximation scheme for
that problem, which includes also, as a special case, the 3D Matching
counting problem for 3-partite (3, 3)-hypergraphs. The proof technique
of this paper uses the general correlation decay technique and a new
combinatorial analysis of the underlying structures of the intersection
graphs. The proof method could be also of independent interest.

1

Introduction

The computational status of approximate counting of matchings in hypergraphs
has been open for some time now, contrary to the existence of polynomial time
approximation schemes for graphs. The matching (packing) counting problems
in hypergraphs occur naturally in the higher dimensional free energy problems,
like in the monomer-trimer systems discussed, e.g, by Heilmann [10]. The corresponding optimization versions of hypergraph matching problem relate also to
various allocations problems.
This paper aims at shedding some light on the approximation complexity of
that problem in 3-uniform hypergraphs of maximum vertex degree three (called
(3, 3)-hypergraphs or (3, 3)-graphs for short). This class of hypergraphs includes
?

??

???
†

‡

Part of research of the 3rd and 4th authors done at Emory University, Atlanta and
another part during their visits to the Institut Mittag-Leffler (Djursholm, Sweden).
Research supported by Simons Foundation Grant #244712 and by a grant from
the Faculty Research and Creative Activities Award (FRACAA), Western Michigan
University.
Research supported by DFG grants and the Hausdorff grant EXC59-1.
Research supported by the Polish NSC grant N201 604 940 and the NSF grant
DMS-1102086.
Research supported by the Polish NSC grant N206 565 740.

2

also so-called 3D hypergraphs, that is, (3,3)-graphs that are 3-partite. In [12],
based on a generalization of the canonical path method of Jerrum and Sinclair
[11], we established a fully polynomial time randomized approximation scheme
(FPRAS) for counting matchings in the classes of k-uniform hypergraphs without
structures called 3-combs. However, the status of the problem in arbitrary (3, 3)graphs was left wide open among with other general problems for 3-, 4- and 5uniform hypergraphs (for k ≥ 6 it is known to be hard, see Sec. 2). In particular,
the existence of an FPRAS for counting matchings in (3, 3)-graphs was unknown.
In this paper we design the first fully polynomial time approximation scheme
(FPTAS) for arbitrary (3, 3)-graphs. The method of solution depends on the
general correlation decay technique and some new structural analysis of underlying intersections graphs based on an extension of the classical claw-freeness
notion. The proof method used in the analysis of our algorithm could be also of
independent interest.
The paper is organized as follows. Section 2 contains some basic notions and
preparatory discussions. In Sec. 3 we formulate our main results and provide
the proofs. Finally, Sec. 4 is devoted to the summary and an outlook for future
research.

2

Preliminaries

A hypergraph H = (V, E) is a finite set of vertices V together with a family E
of distinct, nonempty subsets of vertices called edges. In this paper we consider
k-uniform hypergraphs (called further k-graphs) in which, for a fixed k ≥ 2, each
edge is of size k. A matching in a hypergraph is a set (possibly empty) of disjoint
edges.
Counting matchings is a #P-complete problem already for graphs (k = 2)
as proved by Valiant [17]. In view of this hardness barrier, researchers turned to
approximate counting, which initially has been accomplished via probabilistic
techniques.
Given a function C and a random variable Y (defined on some probability space), and given two real numbers , δ > 0, we say that Y is an (, δ)approximation of C if the probability P (|Y (x) − C(x)| ≥ C(x)) ≤ δ. A fully
polynomial randomized approximation scheme (FPRAS) for a function f on
{0, 1}∗ is a randomized algorithm which, for every triple (, δ, x), with  > 0, δ >
0, and x ∈ {0, 1}∗ , returns an (, δ)-approximation Y of f (x) and runs in time
polynomial in 1/, log(1/δ), and |x|.
In this paper we investigate the problem of counting the number of matchings
in hypergraphs and try to determine the status of this problem for k-graphs with
bounded degrees.
Let degH (v) be the degree of vertex v in a hypergraph H, that is, the number
of edges of H containing v. We denote by ∆(H) the maximum of degH (v) over
all v in H. We call a k-graph H a (k, r)-graph if ∆(H) ≤ r. Let #M (k, r) be
the problem of counting the number of matchings in (k, r)-graphs.

3

Our inspiration comes from new results (both positive and negative) that
emerged for approximate counting of the number of independent sets in graphs
with bounded degree and shed some light on the problem #M (k, r).
Let #IS(d) [#IS(≤ d)] be the problem of counting the number of all independent sets in d-regular graphs [graphs of maximum degree bounded by d, that
is, (2, d)-graphs]. Luby and Vigoda [14] established an FPRAS for #IS(≤ 4).
This was complemented later by the approximation hardness results for the
higher degree instances by Dyer, Frieze and Jerrum [7]. The subsequent progress
has coincided with the revival of a deterministic technique – the spatial correlation decay method – based on early papers of Dobrushin [5] and Kelly [13]. It
resulted in constructing deterministic approximation schemes for counting independent sets in several classes of graphs with degree (and other) restrictions, as
well as for counting matchings in graphs of bounded degree.
Definition 1. A fully polynomial time approximation scheme (FPTAS) for a
function f on {0, 1}∗ is a deterministic algorithm which for every pair (, x) with
 > 0, and x ∈ {0, 1}∗ , returns a number y(x) such that
|y(x) − f (x)| ≤ f (x),
and runs in time polynomial in 1/, and |x|.
In 2007 Weitz [18] found an FPTAS for #IS(≤ 5), while, more recently, Sly
[15] and Sly and Sun [16] complemented Weitz’s result by proving the approximation hardness for #IS(6), that is, proving that unless NP=RP, there exists no
FPRAS (and thus, no FPTAS) for #IS(6). By applying two reductions: from
#IS(6) to #M (6, 2) (taking the dual hypergraph of a 6-regular graph), and
from #M (k, 2) to #IS(k) (taking the intersection graph of a (k, 2)-graph) for
k = 3, 4, 5, we conclude that
(i) (unless NP=RP) there exists no FPRAS for #M (6, 2);
(ii) there is an FPTAS for #M (k, 2) with k ∈ {3, 4, 5}.
Note that the first reduction results, in fact, in a linear (6, 2)-graph, so the
class of hypergraphs in question is even narrower. (A hypergraph is called linear
when no two edges share more than one vertex.) On the other hand, by the same
kind of reduction it follows from a result of Greenhill [9] that exact counting of
matchings is #P-complete already in the class of linear (3, 2)-graphs.
Facts (i) and (ii) above imply that the only interesting cases for the positive
results are those for (k, r)-graphs with k = 3, 4, 5 and r ≥ 3, and thus, the
smallest one among them is that of (3, 3)-graphs. Our main result establishes an
FPTAS for counting the number of matchings in this class of hypergraphs.

3

Main Result and the Proof

The following theorem is the main result of this paper.

4

Theorem 2. The algorithm CountMatchings given in Section
 3.2 provides an
FPTAS for #M (3, 3) and runs in time O n2 (n/)log50/49 144 .
The intersection graph of a hypergraph H is the graph G = L(H) with
vertex set V (G) = E(H) and edge set E(G) consisting of all intersecting pairs
of edges of H. When H is a graph, the intersection graph L(H) is called the line
graph of H. Graphs which are line graphs of some graphs are characterized by
9 forbidden induced subgraphs [3], one of which is the claw, an induced copy
of K1,3 . There is no similar characterization for intersection graphs of k-graphs.
Still, it is easy to observe that for any k-graph H, its intersection graph L(H)
does not contain an induced copy of K1,k+1 . We shall call such graphs (k + 1)claw-free.
Our proof of Thm. 2 begins with an obvious observation that counting the
number of matchings in a hypergraph H is equivalent to counting the number of
independent sets in the intersection graph G = L(H). More precisely, let ZM (H)
be the number of matchings in a hypergraph H and, for a graph G, let ZI (G)
be the number of independent sets in G. (Note that both quantities count the
empty set.) Then ZM (H) = ZI (L(H)).
To approximately count the number of independent sets in a graph G =
L(H) for a (3, 3)-graph H, we apply some of the ideas from [2] (the preliminary
version of this paper appeared in [1]) and [8]. In [2] two new instances of FPTAS
were constructed, both based on the spatial correlation decay method. First, for
#M (2, r) with any given r. Then, still in [2], the authors refined their approach
to yield an FPTAS for counting independent sets in claw-free graphs of bounded
clique number which contain so called simplicial cliques. The last restriction has
been removed by an ingenious observation in [8].
Papers [2,8] inspired us to seek adequate methods for (3, 3)-graphs. Indeed,
for every (3, 3)-graph H its intersection graph G = L(H) is 4-claw-free and
has ∆(G) ≤ 6. This turned out to be the right approach, as we deduced our
Thm. 2 from a technical lemma (Lem. 3 below) which constructs an FPTAS
for the number of independent sets in K1,4 -free graphs G with ∆(G) ≤ 6 and
an additional property stemming from their being intersection graphs of (3, 3)graphs.
3.1

Proof of Theorem 2 – Sketch and Preliminaries

We deduce Thm. 2 from a technical lemma. The assumptions of this lemma
reflect some properties of the intersection graphs of (3, 3)-graphs.
Lemma 3. There exists an FPTAS for the problem of counting independent
sets in every 4-claw-free graph with maximum degree at most 6 and such that
the neighborhood of every vertex of degree d ≥ 5 induces a subgraph that spans a
matching of size bd/2c.
Proof (of Thm. 2). Given a (3, 3)-graph H, consider its intersection graph G.
Then G is 4-claw-free, has maximum degree at most 6 and every vertex neighborhood of size d ≥ 5 must span in G a matching of size bd/2c. This means that

5

Lem. 3 applies to G and there is an FPTAS for counting independent sets of G
which is the same as counting matchings in H.
t
u
It remains to prove Lem. 3. We begin with underlining some properties of
4-claw-free graphs which are relevant for our method. First, we introduce the
notion of a simplicial 2-clique which is a generalization of a simplicial clique
introduced in [4] and utilized in [2]. Throughout we assume notation A \ B for
set differences and, for A ⊂ V (G), we write G − A for the graph operation of
deleting from G all vertices belonging to A. In other words, G−A = G[V (G)\A].
Also, for any graph G, we use δ(G) to denote its minimum vertex degree and
α(G) for the size of the largest independent set in G.
Definition 4. A set K ⊆ V (G) is a 2-clique if α(G[K]) ≤ 2. A 2-clique is
simplicial if for every v ∈ K, NG (v) \ K is a 2-clique in G − K.
For us a crucial property of simplicial 2-cliques is that if G is a connected
graph containing a nonempty simplicial 2-clique K then it is easy to find another
simplicial 2-clique in the induced subgraph G − K, and consequently, the whole
vertex set of G can be partitioned into blocks which are simplicial 2-cliques in
suitable nested sequence of induced subgraphs of G (see Claim 8).
However, in the proof of Lem. 3 we shall use a special class of 2-cliques.
Definition 5. A 2-clique K in a graph G is called a block if |K| ≤ 4 and
δ(G[K]) ≥ 1 whenever |K| = 4. A block K is simplicial if for every v ∈ K the
set NG (v) \ K is a block in G − K.
Next, we state a trivial but useful observation which follows straight from
the above definition. (We consider the empty set as a block too.)
Fact 6. If K is a (simplicial) block in G then for every V 0 ⊆ V (G) the set
K ∩ V 0 is a (simplicial) block in the induced subgraph G[V 0 ] of G.
Let a graph G satisfy the assumptions of Lem. 3. The next claim provides a
vital, “self-reproducing” property of blocks in G.
Claim 7. If K is a simplicial block in G, then for every v ∈ K the set NG (v)\K
is a simplicial block in G − K.
Proof. Set Kv := NG (v) \ K for convenience. By definition of K, Kv is a block.
It remains to show that Kv is simplicial. Let u ∈ Kv and let Ku = NG (u) \ (K ∪
NG (v)). Suppose there is an independent set I in G[Ku ] of size |I| = 3. Then
u, v and the vertices of I would form an induced K1,4 in G with u in the center.
As this is a contradiction, we conclude that Ku is a 2-clique.
To show that Ku is indeed a block, note first that, by the assumptions that
∆(G) ≤ 6, we have |Ku | ≤ 5. However, if |Ku | = 5 then v would be an isolated
vertex in G[NG (u)]. But G[NG (u)] spans a matching of size 3 since δ(u) = 6 – a
contradiction. For the same reason, if |Ku | = 4 then regardless of the degree of
u in G (which might be 5 or 6) there can be no isolated vertex in G[Ku ], since
G[Ku ] must span a matching of size 2.
t
u

6

Our next claim asserts that once there is a nonempty block in G, one can
find a suitable partition of V (G) into sets which are blocks in a nested sequence
of induced subgraphs of G defined by deleting these sets one after another.
Claim 8. Let K be a nonempty simplicial block in G. If, in addition, G is
connected then there exists a partition V (G) = K1 ∪ · · · ∪ Km such that K1 = K
and
Si−1for every i = 2, . . . , m, Ki is a nonempty, simplicial block in Gi := G −
j=1 Kj .
Proof. Suppose we have already constructed disjoint sets K1 ∪ · · · ∪ Ks , for some
s ≥ 1, such that K1S= K, for every i = 2, . . . , s, Ki isSa nonempty, simplicial
i−1
s
block in Gi := G − j=1 Kj , and that Rs := V (G) \ i=1 Ki 6= ∅. Since G is
connected, there is an edge between a vertex in Rs and a vertex v ∈ Ki for some
1 ≤ i ≤ s. Since Ki is a simplicial block in Gi , by Fact 6, it is also simplicial in
its subgraph Gi [V 0 ], where V 0 = Ki ∪ Rs , that is the subgraph of Gi obtained
0
by deleting all vertices of Ki+1 ∪ · · · ∪ Ks . Now apply Claim 7 to Gi [V
Ss ], Ki , and
v, to conclude that NG (v) ∩ Rs is a simplicial block in Gs+1 := G − i=1 Ki . t
u
Let K1 , K2 , . . . , Km be as in Claim 8. Then,
ZI (G) =

ZI (Gi )
ZI (Gm )
ZI (G1 ) ZI (G2 )
·
· ... ·
· ... ·
,
ZI (G2 ) ZI (G3 )
ZI (Gi+1 )
ZI (Gm+1 )

(1)

where Gm+1 = ∅ and ZI (Gm+1 ) = 1. Observe that for each i, Gi+1 = Gi − Ki
and the reciprocal of each quotient in (1) is precisely the probability
PGi (Ki ∩ I = ∅) =

ZI (Gi − Ki )
,
ZI (Gi )

(2)

where I is an independent set of Gi chosen uniformly at random. In view of
this, the main step in building an FPTAS for ZI (G) will be to approximate the
probability PG (Ki ∩ I = ∅) within 1 ± n (see Sec. 3.2 and Algorithm 2 therein).
But what if G isSdisconnected or does not contain a simplicial block to start
c
with? First, if G = i=1 Gi consists of c connected components G1 , . . . , Gc , then,
clearly
c
Y
ZI (G) =
ZI (Gi )
(3)
i=1

and the problem reduces to that for connected graphs.
As for the second obstacle, Fadnavis [8] proposed a very clever observation to
cope with it. Let G be a connected graph satisfying the assumptions of Lem. 3
and let v ∈ V (G) be such that G − v is connected. By considering the fate of
vertex v, we obtain the recurrence
ZI (G) = ZI (G − v) + ZI (Gv ),

(4)
Sc

where Gv = G − NG [v] and NG [v] = NG (v) ∪ {v}. Let Gv = i=1 Gvi be the
partition of Gv into its connected components. For each i let ui ∈ NG (v) be
such that NG (ui ) ∩ V (Gvi ) 6= ∅. Owing to the connectedness of G − v, a vertex
ui must exist. Set Ki = NG (ui ) ∩ V (Gvi ).

7

Claim 9. The set Ki is a simplicial block in Gvi .
Proof. The proof is quite similar to that of Claim 7. We first prove that Ki is a
block. Suppose there is an independent set I in G[Ki ] of size |I| = 3. Then ui , v
and the vertices of I would form an induced K1,4 in G with ui in the center.
As this is a contradiction, we conclude that Ki is a 2-clique. To prove that Ki
is, in fact, a block, notice that there is no edge between v and Ki . Thus, we
cannot have |Ki | = 5 because then v would be an isolated vertex in G[N (ui )] –
a contradiction with the assumption on G. If, however, |Ki | = 4 then v is the
(only) isolated vertex in G[N (ui )] and, consequently, δ(G[Ki ]) ≥ 1.
It remains to show that the block Ki is simplicial, that is, for every w ∈ Ki ,
the set NGvi (w) \ Ki is a block in Gvi − Ki . This, however, can be proved mutatis
mutandis as in the proof of Claim 7.
t
u
For the first term of recurrence (4) we apply (4) recursively. In view of Claim
9, to the second term of recurrence (4) one can apply formula (3) and then each
term ZI (Gvi ) can be approximated based on (1) and (2).
3.2

The Remainder of the Proof of Lemma 3

within 1 ± n , where
Hence, it remains to approximate PG (K ∩ I = ∅) = ZIZ(G−K)
I (G)
K is a simplicial block in G. We set Nv := NG (v) and formulate the following
recurrence relation by considering how an independent set may intersect K:
ZI (G) = ZI (G − K) +

X

ZI (G − (Nv ∪ K)) +

v∈K

1
2

X

ZI (G − (Nu ∪ Nv ∪ K))

uv ∈G[K]
/

or equivalently, after dividing sidewise by ZI (G − K),
X ZI (G − (Nv ∪ K)) 1
ZI (G)
= 1+
+
ZI (G − K)
ZI (G − K)
2
v∈K

X
uv ∈G[K]
/

ZI (G − (Nu ∪ Nv ∪ K))
.
ZI (G − K)

Here and throughout the inner summation ranges over all ordered pairs of
distinct vertices of K such that {u, v} ∈
/ G[K]. At this point, in view of symmetry,
it seems redundant to consider ordered pairs (and consequently have the factor
of 12 in front of the sum), but we break the symmetry right now as we further
observe that
ZI (G − (Nu ∪ Nv ∪ K)) ZI (G − (Nv ∪ K))
ZI (G − (Nu ∪ Nv ∪ K))
=
·
.
ZI (G − K)
ZI (G − (Nv ∪ K))
ZI (G − K)
By Claim 7, Nv \ K is a simplicial block in G − K. We need to show that,
similarly, Nu \ (Nv ∪ K) is a simplicial block in G − (Nv ∪ K).
Claim 10. Let K be a simplicial block in G and let u, v ∈ K be such that u 6= v
and uv ∈
/ G[K]. Further, let H := G − (NG (v) ∪ K). Then NH (u) is a simplicial
block in H.

8

Proof. By Claim 7, the set NG (u) \ K is a simplicial block in G − K. Apply Fact
6 to NG (u) \ K and G − K with V 0 = V (H).
t
u
Let
ΠG (K) := P(K ∩ I = ∅) =

ZI (G − K)
,
ZI (G)

where I is a random independent set of G. Finally, setting Kv := Nv \ K and
Kuv := Nu \ (Nv ∪ K), and rewriting G − (Nv ∪ K) = G − K − Kv , we get the
recurrence for the probabilities:


X
X
1
−1
ΠG−K−Kv (Kuv ) .
ΠG
(K) = 1 +
ΠG−K (Kv ) 1 +
2
v∈K

uv ∈G[K]
/

This recurrence, in principle, allows one to compute ΠG (K) exactly, but only
in an exponential number of steps. Instead, we will approximate it by a function
ΦG (K, t), also defined recursively, which “mimics” ΠG (K) but has a built-in
time counter t.
Definition 11. For every graph G, every simplicial block K in G and an integer
t ∈ Z+ , the function ΦG (K, t) is defined recursively as follows: ΦG (K, 0) =
ΦG (K, 1) = 1 as well as ΦG (∅, t) = 1, while for t ≥ 2 and K 6= ∅


X
X
1
Φ−1
ΦG−K (Kv , t − 1) 1 +
ΦG−K−Kv (Kuv , t − 2) .
G (K, t) = 1 +
2
v∈K

uv ∈G[K]
/

Now we are ready to state the algorithm CountMatchings for computing
ZM (H) for any connected (3, 3)-graph H and its subroutine CountIS for computing ZI (G) in a subgraph of G = L(H) containing a simplicial block K.

Algorithm 1 CountMatchings(H, t)
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:

G := L(H).
ZM := 1, F := G.
while F 6= ∅ do
Pick v ∈ V (F ) s.t. F − v is connected.
F v := F − NF [v]
If F v =
S ∅ then ZM = ZM + 1 and go to Line 3.
F v = ci=1 Fiv , where Fiv are connected components of F v .
for i := 1 to c do
Find Ki as in Claim 9
end for
Q
ZM := ZM + ci=1 CountIS(Fiv , Ki , t)
F := F − v
end while
Return ZM

9

Algorithm 2 CountIS(G, K, t)
1:
2:
3:
4:
5:
6:
7:

S
Let V (G) = m
i=1 Ki be a partition of V (G) as in Claim 8 with K1 = K.
ZI := 1, F := G
for i = 1 to m do
ZI
ZI := ΦF (K
i ,t)
F := F − Ki
end for
Return ZI

We will show that already for t = Θ(log n), when Φ can be easily computed
in polynomial time, the two functions become close to each other.
Note that both quantities, ΠG (K) and ΦG (K, t), fall into the interval [ 91 , 1].
The lower bound is due to the fact that a block has at most 4 vertices and each
of them has degree at most 2 in Gc , so that the total number of terms in the
denominator is at most nine, five of them do not exceed 1, while eight of them
do not exceed 12 . Our goal is to approximate ΠG (K) by ΦG (K, t), for a suitably
chosen t, within the multiplicative factor of 1 ± /n. In view of the above lower

bound, it suffices to show that |ΠG (K) − ΦG (K, t)| ≤ 9n
.
To achieve this goal, we will use the correlation decay technique which boils
down to establishing a recursive bound on the above difference (cf. [2]). The
success of this method depends on the right choice of a pair of functions g and
h, with g : [0, 1] → <, such that they are inverses of each other, that is, g ◦ h ≡ 1.
Then we define a function fK of |K| + 2e(Gc [K]) variables, one for each vertex
and each (ordered) non-edge of G[K], as follows. Let z = (z1 , . . . , z|K| , zuv : uv ∈
/
G[K]) be a vector of variables of that function. For ease of notation, we denote
the set of all indices of the coordinates of function fK by J, that is, we set
J := K ∪ {(u, v) : {u, v} ∈
/ G[K]}. Then

−1 



X
X
1


h(zuv )
fK (z) := f (z) = g  1 +
h(zv ) 1 +
(5)
.


2
v∈K

uv ∈G[K]
/

To understand the reason for this set-up, put x := g(ΠG (K)), xv := g(ΠG−K (Kv )),
xuv := g(ΠG−K−Kv (Kuv )), and, correspondingly,
y := g(ΦG (K, t)) yv := g(ΦG−K (Kv , t − 1))

yuv := g(ΦG−K−Kv (Kuv , t − 2)).

Then, f (x) = x and f (y) = y, and so the difference we are after can be expressed
as |x − y| = |f (x) − f (y)|. Thus, we are in position to apply the Mean Value
Theorem to f and conclude that there exists α ∈ [0, 1] such that, setting zα =
αx + (1 − α)y,
|f (x) − f (y)| = |∇f (zα )(x − y)| ≤ |∇f (zα )| × max |xκ − yκ |.
κ∈J

It remains to bound maxz |∇f (z)| from above, uniformly by a constant γ < 1.
Then, after iterating at most t but at least t/2 times, we will arrive at a triple

10

(G0 , K 0 , t0 ), where G0 is an induced subgraph of G, K 0 is a block in G0 , and
t0 ∈ {0, 1}. At this point, setting µg := |g(1)| + | maxs g(s))|, we will obtain the
ultimate bound

|x − y| ≤ γ t/2 × |g(ΠG0 (K 0 )) − g(1)| ≤ γ t/2 × µg ≤
,
9n
for
t ≥ 2 log((9µg n)/)/ log(1/γ).
(6)
In [2], to estimate |∇f (z)| for a similar function f , the authors chose g(s) =
log s and h(s) = es . This choice, however, does not work for us. Instead, we set
g(s) = s1/4 and h(s) = s4 . Then, µg = 2 and
(
)
P
P
4
3
zv3 + 12
(zv3 zuv
+ zv4 zuv
)
X ∂f (z)
v∈K
uv ∈G[K]
/
=(
|∇f (z)| ≤
!)5/4 .
∂zκ
P 4
P
κ∈J
1
4
1+
zuv
zv 1 + 2
v∈K

uv ∈G[K]
/

Observe that fK depends only on the isomorphism type of G[K], a graph on
up to 4 vertices, with no independent set of size 3, and with no isolated vertex
when |K| = 4. Let us call all these graphs block graphs. One block graph is given
in Figure 1 below.
z1

z2
z13

z14

z23
z24

z4

z3

Fig. 1. The essential block graph.

In a sense we just need to consider this one block graph. Indeed, the complement of every block graph is contained in the complement of the block graph
in Figure 1. Hence, it suffices to maximize |∇f (z)| just for this graph. Our computational task is, therefore, to bound from above

1
1 + z14 + z24 + z34 + z44 +
4




 −5/4
1 4 4
4
4
4
z14 z1 + z44 + z13
z14 + z34 + z23
z24 + z34 + z24
z24 + z44
×
2

4
4 
4
4 
4
4 
4
4 
2z13 2 + z14
+ z13
+ 2z23 2 + z23
+ z24
+ 2z33 2 + z13
+ z23
+ 2z43 2 + z14
+ z24
+





3
3
3
3
2z14
z14 + z44 + 2z13
z14 + z34 + 2z23
z24 + z34 + 2z24
z24 + z44 .

F (z) = k∇(z)k1 =

11

One can show (using, e.g., Mathematica) that F (z) < 0.971 for 0 ≤ zi ≤ 1
and 0 ≤ zij ≤ 1. Thus, we have (6) with µg = 2 and, say, γ = 0.98 = 49
50 .
Summarizing, the running time of computing ΦG (K, t) in Step 4 of Algorithm 2
is 12t since there at most 12 expressions to compute in each step of the recurrence
relation (see Def. 11). Also, CountIS takes at most |V (Fiv )|12t steps and hence,
Line 11 of CountMatchings takes n12t steps and is invoked at most n times.
Consequently, with t = 2dlog((18n)/)/ log(50/49)e
we get the running time of

our algorithm of order O n2 (n/)log50/49 144 .
Remark 12. With basically the same proof wePcan construct an FPTAS for
calculating the partition function ZM (H, λ) = M λ|M | , where the sum runs
over all matchings in H, for any constant λ ∈ (0, 1.077]. The λ factor will appear
4
in front of each summation in (5), which one can neutralize by setting h(s) = sλ
and g(s) = (λs)1/4 .

4

Summary, Discussion, and Further Research

The main result of this paper (Thm. 2) establishes an FPTAS for the problem
#M (3, 3) of counting the number of matchings in a (3, 3)-graph. A reformulation
of Thm. 2 in terms of graphs yields an FPTAS for the problem of counting
independent sets in every graph which is the intersection graph of a (3, 3)-graph.
As mentioned earlier, every intersection graph of a (3, 3)-graph is 4-claw-free.
Moreover, its maximum degree is at most six. We wonder if there exists an
FPTAS for the problem of counting independent sets in every 4-claw-free graph
with maximum degree at most 6. Lemma 3 falls short of proving that. The
missing part is due to our inability to repeat the above estimates for 2-cliques
of size five.
In an earlier paper [12] three of the authors have found an FPRAS for the
number of matchings in k-graphs without 3-combs. As their intersection graphs
are claw-free, it follows from the above mentioned result on independent sets in
[2,8] that there is also an FPTAS for the number of matchings in (k, r)-graphs
without 3-combs, for any fixed r. In view of this conclusion and Thm. 2, we raise
the question if for all k ≤ 5 and r there is an FPTAS (or at least FPRAS) for the
problem #M (k, r). The first open instance is that of (3, 4)-graphs. For k = 4, 5,
to avoid recurrences of depth k − 1 ≥ 3, as an intermediate step, one could first
consider the restriction of the class of (k, r)-graphs to those without a 4-comb,
that is, to those whose intersection graphs are 4-claw-free. Here, the first open
instance is that of (4, 3)-graphs without 4-combs. In general, it would be also
very interesting to elucidate the status of the problem for arbitrary k-graphs for
k = 3, 4 and 5, or for some generic subclasses of them.

Acknowledgements
We thank Martin Dyer and Mark Jerrum for stimulating discussions on the
subject of this paper and the referees for their valuable comments. We are also

12

very grateful to Michael Simkin who pointed out and fixed an error (cf. Lemma 3
and the proof of Claim 7) in an earlier version of this paper [6].

References
1. Bayati, M., Gamarnik, D., Katz, D., Nair, C., Tetali, P.: Simple deterministic
approximation algorithms for counting matchings. In: STOC’07—Proceedings of
the 39th Annual ACM Symposium on Theory of Computing, pp. 122–127. ACM
(2007)
2. Bayati, M., Gamarnik, D., Katz, D., Nair, C., Tetali, P.: Simple deterministic
approximation algorithms for counting matchings (2008), http://people.math.
gatech.edu/~tetali/PUBLIS/BGKNT_final.pdf
3. Beineke, L.W.: Characterizations of derived graphs. J. Combin. Theory 9, 129–135
(1970)
4. Chudnovsky, M., Seymour, P.: The roots of the independence polynomial of a
clawfree graph. J. Combin. Theory Ser. B 97(3), 350–357 (2007)
5. Dobrushin, R.: Prescribing a system of random variables by conditional distributions. Theor. Probab. Appl. 15, 458–486 (1970)
6. Dudek, A., Karpinski, M., Ruciński, A., Szymańska, E.: Approximate counting
of matchings in (3, 3)-hypergraphs. In: Algorithm theory—SWAT 2014, Lecture
Notes in Comput. Sci., vol. 8503, pp. 380–391. Springer, Cham (2014)
7. Dyer, M., Frieze, A., Jerrum, M.: On counting independent sets in sparse graphs.
SIAM J. Comput. 31(5), 1527–1541 (2002)
8. Fadnavis, S.: Approximating independence polynomials of claw-free graphs (2012),
http://www.math.harvard.edu/~sukhada/IndependencePolynomial.pdf
9. Greenhill, C.: The complexity of counting colourings and independent sets in sparse
graphs and hypergraphs. Comput. Complexity 9(1), 52–72 (2000)
10. Heilmann, O.: Existence of phase transitions in certain lattice gases with repulsive
potential. Lett. Al Nuovo Cimento Series 2 3(3), 95–98 (1972)
11. Jerrum, M., Sinclair, A.: Approximating the permanent. SIAM J. Comput. 18(6),
1149–1178 (1989)
12. Karpiński, M., Ruciński, A., Szymańska, E.: Approximate counting of matchings
in sparse uniform hypergraphs. In: 2013 Proceedings of the Workshop on Analytic
Algorithmics and Combinatorics (ANALCO), pp. 72–79. SIAM (2013)
13. Kelly, F.P.: Stochastic models of computer communication systems. J. Roy. Statist.
Soc. Ser. B 47(3), 379–395, 415–428 (1985)
14. Luby, M., Vigoda, E.: Fast convergence of the Glauber dynamics for sampling
independent sets. Random Structures Algorithms 15(3-4), 229–241 (1999)
15. Sly, A.: Computational transition at the uniqueness threshold. In: 2010 IEEE 51st
Annual Symposium on Foundations of Computer Science FOCS 2010, pp. 287–296
(2010)
16. Sly, A., Sun, N.: The computational hardness of counting in two-spin models on dregular graphs. In: FOCS, pp. 361–369 (2012), http://arxiv.org/abs/1203.2602
17. Valiant, L.G.: The complexity of enumeration and reliability problems. SIAM J.
Comput. 8(3), 410–421 (1979)
18. Weitz, D.: Counting independent sets up to the tree threshold. In: STOC’06: Proceedings of the 38th Annual ACM Symposium on Theory of Computing, pp. 140–
149. ACM (2006)

13

Appendix: Mathematica expressions
First we define F (z) function:
F[z1_, z2_, z3_, z4_, z14_, z13_, z23_, z24_]:=\
1/4(1+z1^4+z2^4+z3^4+z4^4+\
1/2(z14^4(z1^4+z4^4)+z13^4(z1^4+z3^4)+\
z23^4(z2^4+z3^4)+z24^4(z2^4+z4^4)))^(-5/4)\
(2z1^3(2+z14^4+z13^4)+2z2^3(2+z23^4+z24^4)+\
2z3^3(2+z13^4+z23^4)+2z4^3(2+z14^4+z24^4)+\
2z14^3(z1^4+z4^4)+2z13^3(z1^4+z3^4)+\
2z23^3(z2^4+z3^4)+2z24^3(z2^4+z4^4))

Next we find the absolute maximum:
NMaximize[{F[z1, z2, z3, z4, z14, z13, z23, z24],\
0<=z1<=1 && 0<=z2<=1 && 0<=z3<=1 && 0<=z4<=1 &&
0<=z14<=1 && 0<=z13<=1 && 0<=z23<=1 && 0<=z24<=1},\
{z1, z2, z3, z4, z14, z13, z23, z24}]

obtaining that
F (z) ≤ F (ζ, ζ, ζ, ζ, 1, 1, 1, 1) ∼ 0.970247,
where ζ ∼ 0.695347.

