Representing and Solving Finite−Domain Constraint Problems Using Systems of Polynomials - Jefferson, C; Jeavons, P; Green, M; van Dongen, M (Oxford University Computing Laboratory, 2007)
In this paper we investigate the use of a system of multivariate polynomials to represent the restrictions imposed by a collection of constraints. The advantage of using polynomials to represent constraints is that it allows many different forms of constraints to be treated in a uniform way. Systems of polynomials have been widely studied, and a number of general techniques have been developed, including algorithms that generate an equivalent system with certain desirable properties, called a Gröbner Basis. General algorithms to compute a Gröbner Basis have doubly exponential complexity, but we observe that for the systems we use to describe constraint problems over finite domains a Gröbner Basis can be computed more efficiently than this. We also describe a family of algorithms, related to the calculation of Gröbner Bases, that can be used on any system of polynomials to compute an equivalent system in polynomial time. We show that these modified algorithms can simulate the effect of the local-consistency algorithms used in constraint programming. Finally, we describe how these algorithms can be used in a similar way to local consistency techniques to solve certain broad classes of constraint problems in polynomial time.