Theoretical Computer Science 329 (2004) 315 – 323
www.elsevier.com/locate/tcs
Note
The complexity of counting homomorphisms seen
from the other side
Víctor Dalmaua , Peter Jonssonb,∗
a Departament de tecnologia, Universitat Pompeu Fabra, Estació de França, Passeig de la circumval.lació 8,
08003, Barcelona, Spain
b Department of Computer and Information Science, Linköpings Universitet, SE-581 83 Linköping, Sweden
Received 24 February 2004; received in revised form 4 August 2004; accepted 19 August 2004
Communicated by J. Díaz
Abstract
For every class of relational structures C, let HOM(C, _) be the problem of deciding whether a
structure A ∈ C has a homomorphism to a given arbitrary structure B. Grohe has proved that, under a
certain complexity-theoretic assumption, HOM(C, _) is solvable in polynomial time if and only if the
cores of all structures in C have bounded tree-width. We prove (under a weaker complexity-theoretic
assumption) that the corresponding counting problem #HOM(C, _) is solvable in polynomial time
if and only if all structures in C have bounded tree-width. This answers an open question posed by
Grohe.
© 2004 Elsevier B.V. All rights reserved.
Keywords: Computational complexity; Counting; Homomorphism; Relational structure
1. Introduction
The homomorphism problem for relational structures is a fundamental algorithmic problem playing an important role in different areas of computer science including database
theory and constraint satisfaction [7,12,13]. For every two classes of relational structures
C,D, let HOM(C, D) be the problem of deciding whether a structure A ∈ C has a homomorphism to a given arbitrary structure B ∈ D. To simplify the notation, if either C or D is
∗ Corresponding author. Tel.: +46-13-28-24-15; fax: +46-13-28-24-99.
E-mail addresses: victor.dalmau@upf.edu (V. Dalmau), peter.jonsson@ida.liu.se (P. Jonsson).
0304-3975/$ - see front matter © 2004 Elsevier B.V. All rights reserved.
doi:10.1016/j.tcs.2004.08.008
316
V. Dalmau, P. Jonsson / Theoretical Computer Science 329 (2004) 315 – 323
the class of all structures, we just use the placeholder ‘_’. The complexity of such problems
has received a lot of attention—in particular, the problem when C is the class of all structures has been studied in depth. One of the most intensively studied problems (known as
the dichotomy problem) is the following: is it true that the problem HOM(_, {B}) is either
polynomial or NP-complete for arbitrary relational structures B? This question was recently
settled for 3-element structures by Bulatov [3].
Grohe [10] has studied the opposite question: how to restrict C so that HOM(C, _) is
polynomial-time solvable? He proves the following:
Assume that FPT = W [1]. Then for every recursively enumerable class C of structures
of bounded arity, HOM(C, _) is polynomial-time solvable if and only if the core of every
structure in C has tree-width at most w (for some fixed w).
Here, FPT and W[1] are two parameterized complexity classes that are widely believed
to be non-equal, and the core of a relational structure A is a substructure A′ ⊆ A such that
there is a homomorphism from A to A′ but to no proper substructure of A′ . Grohe’s proof
is based on the Excluded Grid Theorem [15] and it refines some of the ideas originally
presented in Grohe et al. [11].
Let #HOM(C, D) denote the problem of counting the number of homomorphisms from
structures in C to structures in D. The complexity of #HOM(_, {B}) has been thoroughly
studied, cf. [4–6]. In comparison, much less is known about the complexity of #HOM(C, _).
In [8], it is shown that if C is a class of structures of bounded tree-width, then #HOM(C, _)
is solvable in polynomial time. One of the questions that was posed during the conference
presentation of [10] was the following: is there a characterisation of those structures that
allow for efficient counting of the number of homomorphisms, i.e. when is #HOM(C, _)
solvable in polynomial time? In this article, we prove the following:
Assume that FPT = #W [1]. Then for every recursively enumerable class C of structures
of bounded arity, #HOM(C, _) is polynomial-time solvable if and only if every structure in
C has tree-width at most w (for some fixed w).
#W[1] denotes the counting version of the complexity class W[1], and the classes FPT
and #W[1] are conjectured to be non-equal [8] (in fact, if FPT = #W[1], then FPT = W[1]).
This article has the following structure: Section 2 contains a number of definitions and
results on relational structures, graph theory and parameterized complexity. The proof of
the main result can be found in Sections 3, and Section 4 contains some conclusions and
open questions.
2. Preliminaries
Most of the terminology presented in this section comes from [8,10]. In the next three
subsections, we provide the necessary background material on relational structures, graph
theory and parameterized complexity, respectively.
2.1. Relational structures
A vocabulary is a finite set of relation symbols of specified arities, denoted ar(·). The
arity of is max{ar(R) | R ∈ }. A -structure A consists of a finite set A (called the
V. Dalmau, P. Jonsson / Theoretical Computer Science 329 (2004) 315 – 323
317
universe of A) and for each relation symbol R ∈ , a relation R A ⊆ Aar(R) . Throughout
the article, we will use the same boldface and slanted capital letters to denote a structure
and its universe, respectively.
We say that a class C of structures is of bounded arity if there is an r such that every
structure in C is at most r-ary. A substructure of a -structure A is a -structure B with
universe B ⊆ A and relations R B ⊆ R A for all R ∈ . A substructure B is induced if for
all R ∈ , say, of arity r, R B = R A ∩ B r . We define the size A of the structure A as:
A
|R | · |ar(R)|.
A = || + |A| +
R∈
A is roughly the size of a reasonable encoding of A.
Let A and B be -structures. We define A ∪ B to be the -structure with universe A ∪ B
and such that for all R ∈ , R A∪B = R A ∪ R B .
A homomorphism from an -structure A to a -structure B is a mapping h : A → B such
that for all R ∈ , say, of arity r, and all tuples (a1 , . . . , ar ) ∈ R A , we have h((a1 , . . . , ar )) ∈
R B . For two classes C and D of structures, #HOM(C, D) is the following problem:
Instance: A ∈ C, B ∈ D.
Output: The number of homomorphism from A to B.
HOM(C, D) is the problem of deciding whether there exists a homomorphism or not. If D
is the class of all finite structures, we write #HOM(C, _) instead of #HOM(C, D).
2.2. Graph theory
Let E be a binary relation symbol. We view graphs as {E}-structures G = (G, E G ) and
assume that they are undirected and loop-free. A graph H = (H, E H ) is a minor of a graph
G if H is isomorphic to a graph that can be obtained from a subgraph of G by contracting
edges. We define a minor map from H to G to be a mapping M : H → 2G having the
following properties:
(1) for all v ∈ H , the set M(v) is non-empty and connected in G;
(2) for all v, w ∈ H with v = w, the sets M(v) and M(w) are disjoint; and
(3) for all edges {v, w} ∈ E H , there are v ′ ∈ M(v) and w ′ ∈ M(w ′ ) such that {v ′ , w′ } ∈
EG.
We would like to emphasize that a minor map
maps nodes in H to sets of nodes of G.
We call a minor map M from H to G onto if v∈H M(v) = G. It is easy to see that there
is a minor map from H to G if and only if H is a minor of G. Moreover, if H is a minor of
a connected graph G, then we can always find a minor map from H onto G.
A tree-decomposition of a graph G is a pair (T, ) where T is a tree and : T → 2G
satisfies the following conditions:
(1) for every v ∈ G, the set {t ∈ T | v ∈ (t)} is non-empty and connected in T; and
(2) for every e ∈ E G , there is a t ∈ T such that e ⊆ (t).
The width of a tree-decomposition (T, ) is max{|(t)| | t ∈ T } − 1, and the tree-width
(G) of a graph G is the minimum w such that G has a tree-decomposition of width w.
For k, ℓ 1, the (k × ℓ)-grid is the graph with vertex set {1, . . . , k} × {1, . . . , ℓ} and an
edge between (i, j ) and (i ′ , j ′ ) if and only if |i − i ′ | + |j − j ′ | = 1. It is known that the
318
V. Dalmau, P. Jonsson / Theoretical Computer Science 329 (2004) 315 – 323
(k × k)-grid has tree-width k, cf. Bodlaender [2, Section 13]. Robertson and Seymour have
proved the following theorem which is known as the Excluded Grid Theorem.
Theorem 2.1 (Robertson and Seymour [15]). For every k there exists a w(k) such that the
(k × k)-grid is a minor of every graph of tree-width at least w(k).
We will now generalize some of the graph-theoretic notions defined above to arbitrary
relational structures. The Gaifman graph of a -structure A is the graph G(A) with vertex set
A and an edge between a and b if a = b and there is a relation symbol R ∈ , say, of arity
r, and a tuple (a1 , . . . , ar ) ∈ R A such that a, b ∈ {a1 , . . . , ar }. Henceforth, we say that a
subset B ⊆ A is connected in a structure A if it is connected in G(A). A tree-decomposition
of a -structure A is viewed as a tree-decomposition of G(A). A minor map from A to B is
a mapping M : A → B that is a minor map from G(A) to G(B).
2.3. Parameterized complexity
Finally, we need some facts concerning parameterized complexity theory. Parameterized
counting problems have been studied independently in a number of papers (cf.[1,8,14])
and our notation follows that of [8]. A parameterized counting problem is a function
F : ∗ × N → N, where is a finite alphabet. If (x, k) ∈ ∗ × N is an instance of
a parameterized counting problem, we call x the input and k the parameter. For example,
the parameterized clique counting problem p-#CLIQUE, is the following problem:
Input: graph G.
Parameter: k ∈ N.
Output: The number of cliques in G of size k.
The problem we are mainly interested in is the counting homomorphism problem parameterized by the size of the left hand side input structure (p-#HOM(C, D)):
Instance: A ∈ C, B ∈ D.
Parameter: ||A||.
Output: The number of homomorphisms from A to B.
A parameterized counting problem F : ∗ × N → N is fixed-parameter tractable if
there is a computable function f : N → N, a constant c ∈ N and an algorithm that given
(x, k) ∈ ∗ × N computes F (x, k) in time f (k) · |x|c . FPT denotes the class of all fixedparameter tractable counting problems. We note that all fixed-parameter tractable decision
problems are also included in FPT.
Let F : ∗ × N → N and G : ∗ × N → N be parameterized counting problems.
A parameterized parsimonious reduction from F to G is an algorithm that computes for
every instance (x, k) of F an instance (y, ℓ) of G in time f (k) · |x|c such that ℓ g(k)
and F (x, k) = G(y, ℓ) (for computable functions f, g : N → N and a constant c ∈ N).
Hardness and completeness are defined in the usual way. Flum and Grohe [8] defined a
hierarchy #W [1] ⊆ #W [2] ⊆ ... of parameterized counting complexity classes, and they
conjecture that this hierarchy is strict and that FPT is strictly contained in #W[1]. They
have also proved that p-#CLIQUE is #W[1]-complete under parameterized parsimonious
reductions.
V. Dalmau, P. Jonsson / Theoretical Computer Science 329 (2004) 315 – 323
319
3. Main result
We are now ready to prove the main result. Section 3.1 contains a construction of certain
structures that the proof relies on, and Section 3.2 contains the actual proof. The construction
in Section 3.1 shows that given an arbitrary connected -structure A such that there exists a
minor map from the (k × K)-grid onto A, one can compute a structure B which allows only
a certain number of restricted (in a sense to be defined later) homomorphisms from A to B.
The proof presented in Section 3.2 is an fpt-reduction from p-#CLIQUE to p-#HOM(C, _)
that uses B as one of its building blocks.
3.1. The structure B
Let A be a connected -structure. Let k 2, K = 2k , and M : {1, . . . , k}×{1, . . . , K} →
2A a minor map from the (k × K)-grid onto A. Let us assume that we have fixed some
bijection between {1, . . . , K} and the set of all unordered pairs of elements of {1, . . . , k}.
For improved readability, we sloppily write i ∈ p instead of i ∈ (p).
Let the {E}-structure G be a graph. We present the -structure B = B(A, M, G) as
defined by Grohe [10]; he shows that there is a homomorphism from A to B if and only
if G contains a k-clique. Let id denote the identity function on the set A. We show that
the number of homomorphisms h from A to B such that ◦ h = id equals the number of
k-cliques in G multiplied by k! (where will be defined below). The universe B of B is
given by
{(v, e, i, p, a)| v ∈ G, e ∈ E G ,
1 i k, 1 p K s.t. (v ∈ e ⇐⇒ i ∈ p),
a ∈ M(i, p)}.
We define the function : B → A by letting,
(v, e, i, p, a) = a.
As usual, we extend and −1 to tuples by defining it component-wise.
For every relation R ∈ , say, of arity r, and for all tuples (a1 , . . . , ar ) ∈ R A , we add to
B
R all tuples (b1 , . . . , br ) ∈ −1 (a1 , . . . , ar ) satisfying the following two constraints for
all b, b′ ∈ {b1 , . . . , br }:
(C1) if b = (v, e, i, p, a) and b′ = (v ′ , e′ , i, p′ , a ′ ), then v = v ′ ; and
(C2) if b = (v, e, i, p, a) and b′ = (v ′ , e′ , i ′ , p, a ′ ), then e = e′ .
It follows immediately from the definition of B that defines an homomorphism from
B to A. We now prove a lemma concerning the number of homomorphisms from A to B by
refining Grohe’s [10] original proof.
Lemma 3.1. The number of homomorphisms h from A to B such that ◦ h = id equals
the number of k-cliques in G multiplied by k!.
Proof. Let v1 , . . . , vk be a vertex set of a k-clique in G. Recall that is a bijection between
{1, . . . , K} and the set of unordered pairs of elements of {1, . . . , k}. We define the mapping
320
V. Dalmau, P. Jonsson / Theoretical Computer Science 329 (2004) 315 – 323
hv1 ,...,vk : A → B from the universe A of A to the universe B of B as
hv1 ,...,vk (a) = (vi , {vj , vl }, i, p, a)
for 1 i k, 1 p K, a ∈ M(i, p) and {j, l} = (p). It is immediate that hv1 ,...,vk defines
an homomorphism from A to B. Furthermore, ◦ hv1 ,...,vk = id.
We shall now show that if h is an homomorphism from A to B such that ◦ h = id then
h = hv1 ,...,vk for some vertex set v1 , . . . , vk of a k-clique in G. Let h be an homomorphism
from A to B with ◦ h = id. This means that for 1 i k, 1 p K, and a ∈ M(i, p) we
have
h(a) = (va , ea , i, p, a)
for a vertex va ∈ G and an edge ea ∈ E G such that (va ∈ ea ⇐⇒ i ∈ p).
Claim 1. For 1 i k, 1 p K, and a, a ′ ∈ M(i, p) we have va = va ′ and ea = ea ′ .
Proof. Since M(i, p) is connected in A, it suffices to prove the claim for a, a ′ such that
there is an edge between a and a ′ in the Gaifman graph of A. So, let R ∈ and a =
(a1 , . . . , aar(R) ) ∈ R A such that a, a ′ ∈ {a1 , . . . , aar(R) }. Since h is an homomorphism we
have h(a) ∈ R B . Thus by conditions (C1) and (C2), we must have va = va ′ and ea = ea ′ .
This proves Claim 1.
Claim 2. For 1 i, i ′ k, 1 p K, and a ∈ M(i, p), a ′ ∈ M(i ′ , p) we have ea = ea ′ .
Proof. By a simple inductive argument in which Claim 1 is the case base, it suffices to
prove Claim 2 for i ′ = i + 1.
Since M is a minor map from the (k × K)-grid to A and there is an edge between (i, p)
and (i ′ , p) in the grid, there must some edge (a 1 , a 2 ) in the Gaifman graph G(A) where
a 1 ∈ M(i, p) and a 2 ∈ M(i ′ , p). Thus there exists a relation symbol R ∈ and a tuple
a ∈ R A such that both a 1 and a 2 occur in a. Since h is an homomorphism we have that
h(a) ∈ R B . Thus, by condition (C2) we have ea 1 = ea 2 and by Claim 1, we have ea = ea 1
and ea ′ = ea 2 . This completes the proof of Claim 2.
Claim 3. For 1 i k, 1 p, p ′ K, and a ∈ M(i, p), a ′ ∈ M(i, p′ ) we have va = va ′ .
Proof. Analogously to the proof of Claim 2 using condition (C1) instead of (C2).
Together the three claims imply that there are vertices v1 , . . . , vk in G and edges e1 , . . . , eK
∈ E G such that for all 1 i k, 1 p K and a ∈ M(i, p) we have h(a) = (vi , ep , i, p, a).
Furthermore, since h(a) ∈ B, we have that ep = {vj , vl } where {j, l} = (p).
We have just proved that if h is an homomorphism from A to B such that ◦h = id then h
must be of the form hv1 ,...,vk for some vertex set v1 , . . . , vk of a k-clique in G. Since for every
vertex set v1 , . . . , vk of a k-clique in G we have that hv1 ,...,vk defines an homomorphism we
have a complete description of the homomorphisms from A to B satisfying ◦ h = id: a
mapping h from the universe A of A to the universe B of B is an homomorphism satisfying
◦ h = id if and only if h = hv1 ,...,vk for some vertex set v1 , . . . , vk of a k-clique in G.
V. Dalmau, P. Jonsson / Theoretical Computer Science 329 (2004) 315 – 323
321
Consequently the number of such mappings equals the number of k-cliques in G multiplied
by k!.
3.2. The proof
This subsection contains the proof of the main result. The proof is basically an fptreduction from p-#CLIQUE to p-#HOM(C, _). The reduction exploits the fact that if C do
not have bounded tree-width, then it contains some structure A such that the (k × K)-grid
is a minor of the Gaifman graph of A (by the Excluded Grid Theorem). This makes the
results in the previous subsection applicable and we show that the number of cliques can
be efficiently computed by using the inclusion-exclusion principle.
Theorem 3.2. Assume that FPT = #W [1]. Then for every recursively enumerable class C
of structures of bounded arity the following three statements are equivalent:
(1) #HOM(C, _) is in FP.
(2) p-#HOM(C, _) is in FPT.
(3) There is a 1 such that every structure in C has tree-width at most .
Proof. The implication (1)⇒(2) is trivial. Implication (3)⇒(1) is Proposition 7 of [8].
It remains to prove that (2)⇒(3). We shall show that if (2) is true and (3) false then
p-#CLIQUE is in FPT, in contradiction with the fact that it is #W[1]-complete. We prove this
by exhibiting an fpt-reduction from p-#CLIQUE to p-#HOM(C, _).
Let (G, k) be an instance of p-#CLIQUE. By the Excluded Grid Theorem, there is some
structureA in C such that the (k×K)-grid is a minor of the Gaifman graph ofA. We enumerate
the recursively enumerable class C until we find such an A = A(k). Then we compute a
minor map M from the (k × K)-grid to A and we compute the number of automorphisms
I of A. Let A1 , . . . , Am be a decomposition of A into its connected components. We can
assume wlog. that the (k × K)-grid is a minor of (the Gaifman graph of) A1 and that the
minor map M is onto A1 .
Let B = B(G, M, A) constructed as above. In order to compute the number of k-cliques
of G we only need to compute the number N of homomorphisms h from A1 to B such
that ◦ h = id, and divide this number by k! by Lemma 3.1. To do this construct C as
B ∪ A2 ∪ · · · ∪ Am . Then the function : C → A defined by
(c) =
(c)
c
if c ∈ B,
otherwise
defines an homomorphism from C to A. Furthermore the number N of homomorphisms h
from A1 to B such that ◦ h = id is identical to the number of homomorphisms h from A
to C such that ◦ h = id. Furthermore, in order to compute N we only need to compute
the number N ′ of homomorphisms h from A to C such that ◦ h(A) = A and divide
it by I .
This fact requires a bit of proof: Let N be the set of all homomorphisms h from A to
C such that ◦ h = id, let N ′ be the set of all homomorphisms h from A to C such that
322
V. Dalmau, P. Jonsson / Theoretical Computer Science 329 (2004) 315 – 323
◦ h(A) = A, and let I be the set of all isomorphisms of A. We shall show that
N ′ = {f ◦ g|f ∈ N , g ∈ I}.
The ⊇ part is trivial. For the ⊆ part, let h be any function in N ′ . Consequently, g = ◦ h
is an isomorphism of A. Henceforth, g −1 is also an isomorphism and h ◦ g −1 is also an
homomorphism from A to C. Notice that ◦h◦g −1 (a) = a for all a ∈ A and hence h◦g −1
belongs to N . Furthermore, h = h ◦ g −1 ◦ g and we are done. Finally, it is easy to see that
for every f, f ′ ∈ N , and every g, g ′ ∈ I, if f = f ′ or g = g ′ , then f ◦ g = f ′ ◦ g ′ , and
hence |N ′ | = |N | · |I|.
It only remains to compute the value of N ′ . Let S be any subset of A. We denote by MS
the number of homomorphisms h from A to C such that ◦ h(A) ⊆ S. Clearly, MS is
equal to the number of homomorphisms from A to C|−1 (S) where C|−1 (S) is the induced
substructure of C with universe −1 (S). Consequently, for every S, MS is computable in
time f1 (k) · Gc1 for some f1 : N → N and some constant c1 ∈ N . Finally, the value of
N ′ can be computed by the inclusion-exclusion principle as
N ′ = M{a1 ,...,am } − M{a1 ,...,am−1 } − M{a1 ,...,am−1 ,am } . . .
− M{a2 ,...,am−1 } + M{a1 ,...,am−2 } + · · · ,
where A = {a1 , . . . , am }. Since the number of subsets of A only depends on k, we can
conclude that there exists some f2 : N → N and some constant c2 ∈ N such that the value
of |M| can be computed in time f2 (k) · Gc2 .
4. Conclusions
We have proved that #HOM(C, _) is solvable in polynomial time if and only if all structures in C have bounded tree-width, under the following three assumptions:
(1) FPT = #W[1];
(2) C is of bounded arity; and
(3) C is recursively enumerable.
An interesting question is whether all of these assumptions are necessary for the result
to hold or not. First we note that lifting the assumption FPT = #W[1] is probably very
hard since this would separate P from #P. Lifting the assumption that C is of bounded
arity is not possible since there exist C of unbounded arity and unbounded tree-width such
that #HOM(C, _) is polynomial: for instance, if C only contains structures such that their
underlying hypergraphs are hypertrees, then #HOM(C, _) can be solved in polynomial
time by a straightforward dynamic programming algorithm. Many other examples of C of
unbounded arity such that HOM(C, _) can be solved in polynomial-time are known, cf.
Gottlob et al. [9]. We conjecture that #HOM(C, _) is also polynomial-time solvable for
many of these classes. Proving an analogue of Theorem 3.2 for structures of unbounded
arity thus seems to be a quite challenging problem. We remark that the complexity of the
decision problem HOM(C, _) when C is allowed to be of unbounded arity is still unknown.
Finally, the set of structures C do not have to be recursively enumerable if we are willing to use the following stronger complexity-theoretic assumption: non-uniform-FPT =
V. Dalmau, P. Jonsson / Theoretical Computer Science 329 (2004) 315 – 323
323
non-uniform-#W[1]. Here, a parameterized counting problem F : ∗ × N → N is nonuniformly fixed-parameter tractable (and a member of the class non-uniform-FPT) if there
is a constant c ∈ N such that for every k ∈ N there is an algorithm that given x ∈ ∗ ,
decides if (x, k) ∈ P in time O(|x|c ). Similarly, one can define the notion of non-uniform
parsimonious fpt-reductions and define non-uniform-#W[1] as the class of all parameterized
counting problems that can be reduced to p-#CLIQUE by non-uniform parsimonious fptreductions. Under this stronger assumption, the recursive enumerability of the class C can be
lifted since it is only used to guarantee that the reduction from p-#CLIQUE to p-#HOM(C, _)
in the proof of Theorem 3.2 is a proper fpt-reduction as defined in Section 2.3.
Acknowledgements
Víctor Dalmau is supported by the Spanish MCyT under Grants TIC2002-04019-C03
and TIC2002-04470-C03. Peter Jonsson is partially supported by the Center for Industrial
Information Technology (CENIIT) under Grant 04.01, and by the Swedish Research Council
(VR) under Grants 221-2000-361 and 621-2003-3421.
References
[1] V. Arvind, V. Raman, Approximation algorithms for some parameterized counting problems, in: Proc. 13th
Annu. Internat. Symp. on Algorithms and Computation, 2002, pp. 453–464.
[2] H.L. Bodlaender, A partial k-arboretum of graphs with bounded treewidth, Theor. Comput. Sci. 209 (1–2)
(1998) 1–45.
[3] A. Bulatov, A dichotomy theorem for constraints on a three-element set, in: Proc. 43rd IEEE Symp. on
Foundations of Computer Science, 2002, pp. 649–658.
[4] A.A. Bulatov, V. Dalmau, Towards a dichotomy theorem for the counting constraint satisfaction problem, in:
Proc. 44th IEEE Symp. of Foundations of Computer Science, 2003, pp. 562–573.
[5] N. Creignou, M. Hermann, Complexity of generalized satisfiability counting problems, Inform. Comput. 125
(1996) 1–12.
[6] M.E. Dyer, C.S. Greenhill, The complexity of counting graph homomorphisms, Random Struct. Algorithms
17 (2000) 260–289.
[7] T. Feder, M.Y. Vardi, The computational structure of monotone monadic SNP and constraint satisfaction: a
study through datalog and group theory, SIAM J. Comput. 28 (1) (1998) 57–104.
[8] J. Flum, M. Grohe, The parameterized complexity of counting problems, in: Proc. 43rd IEEE Symp. on
Foundations of Computer Science, 2002, pp. 538–547.
[9] G. Gottlob, N. Leone, F. Scarcello, A comparison of structural CSP decomposition methods, Artif. Intell. 124
(2) (2000) 243–282.
[10] M. Grohe, The complexity of homomorphism and constraint satisfaction problems seen from the other side,
in: Proc. 44th IEEE Symp. on Foundations of Computer Science, 2003, pp. 552–561.
[11] M. Grohe, T. Schentwick, L. Segoufin, When is the evaluation of conjunctive queries tractable?, in: Proc.
33rd ACM Symp. on Theory of Computing, 2001, pp. 657–666.
[12] P. Jeavons, On the algebraic structure of combinatorial problems, Theor. Computer Sci. 200 (1–2) (1998)
185–204.
[13] P.G. Kolaitis, M. Vardi, Conjunctive-query containment and constraint satisfaction, J. Comput. Syst. Sci. 61
(2000) 302–332.
[14] C. McCartin, Parameterized counting problems, in: Proc. 27th Internat. Symp. on Mathematical Foundations
of Computer Science, 2002, pp. 556–567.
[15] N. Robertson, P. Seymour, Graph minors V: excluding a planar graph, J. Comb. Theory B 62 (1994)
323–348.