Dual Encoding Using Constraint Coverings

Constraint satisfaction problems (CSPs) involve finding an assignment of values to variables that satisfy a set of constraints between variables. Non-binary constraints have recently begun to attract more attention, since many real-life problems are naturally expressed as non-binary formulations. In order to solve a non-binary CSP, one either uses an algorithm that has been generalised for non-binary constraint satisfaction or one can convert the problem into an equivalent binary CSP, The dual encoding has been shown to be impractical in some cases where the constraints have very large domains, but need to be represented in extension. It is often the case that such constraints (e.g. all-diff) have compact intensional representations, and this is often the reason why algorithms based on the primal graph which can store them intensionally have an edge. In this paper we present a dual encoding that is based on the construction of constraint coverings from the original CSP. This allows us to benefit from the intensional representation of some constraints that are impractical to represent extensionally. We show how this covering based dual encoding can be used to address the space complexity issue of the dual encodings, while still retaining the soundness and completeness of the solution procedures.