Academia.eduAcademia.edu

The complexity of counting homomorphisms seen from the other side

2004, Theoretical Computer Science

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.

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.