Principles and Practice of Constraint Programming – CP 2004

Volume 3258 of the series Lecture Notes in Computer Science pp 107-122

Deriving Filtering Algorithms from Constraint Checkers

  • Nicolas BeldiceanuAffiliated withLINA FRE CNRS 2729, École des Mines de Nantes
  • , Mats CarlssonAffiliated withSICS
  • , Thierry PetitAffiliated withLINA FRE CNRS 2729, École des Mines de Nantes

* Final gross prices may vary according to local VAT.

Get Access


This article deals with global constraints for which the set of solutions can be recognized by an extended finite automaton whose size is bounded by a polynomial in n, where n is the number of variables of the corresponding global constraint. By reformulating the automaton as a conjunction of signature and transition constraints we show how to systematically obtain a filtering algorithm. Under some restrictions on the signature and transition constraints this filtering algorithm achieves arc-consistency. An implementation based on some constraints as well as on the metaprogramming facilities of SICStus Prolog is available. For a restricted class of automata we provide a filtering algorithm for the relaxed case, where the violation cost is the minimum number of variables to unassign in order to get back to a solution.