Towards a dichotomy theorem for the counting constraint satisfaction problem
The counting constraint satisfaction problem (#CSP) can be expressed as follows: given a set or variables, a set of values that can be taken by the variables, and a set of constraints specifying some restrictions on the values that can be taken simultaneously by some variables, determine the number of assignments of values to variables that satisfy all the constraints. The #CSP provides a general framework for numerous counting combinatorial problems including counting satisfying assignments to a propositional formula, counting graph homomorphisms, graph reliability and many others. This problem can be parametrized by the set of relations that may appear in a constraint. In this paper we start a systematic Study of subclasses of the #CSP restricted in this way. The ultimate goal of this investigation is to distinguish those restricted subclasses of the #CSP which are solvable in polynomial time from those which are not. We show that the complexity of any restricted #CSP class on a finite domain can be deduced from the properties of polymorphisms of the allowed constraints, similar to that for the decision constraint satisfaction problem. Then we prove that if a subclass of the #CSP is solvable in polynomial time, then constraints allowed by the class satisfy some very restrictive condition: they need to have a Mal'tsev polymorphism, that is a ternary operation m(x,y,z) such that m(x, y, y) = m(y, y,x) = x. This condition uniformly explains many existing complexity results for particular cases of the #CSP, including the dichotomy results for the problem of counting graph homomorphisms, and it allows us to obtain new results. (c) 2006 Elsevier Inc. All rights reserved.
constraint satisfaction problem complexity counting problems