Programming Languages and Systems

Volume 2986 of the series Lecture Notes in Computer Science pp 94-108

From Constraints to Finite Automata to Filtering Algorithms

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


We introduce an approach to designing filtering algorithms by derivation from finite automata operating on constraint signatures. We illustrate this approach in two case studies of constraints on vectors of variables. This has enabled us to derive an incremental filtering algorithm that runs in O(n) plus amortized O(1) time per propagation event for the lexicographic ordering constraint over two vectors of size n, and an O(nmd) time filtering algorithm for a chain of m-1 such constraints, where d is the cost of certain domain operations. Both algorithms maintain hyperarc consistency. Our approach can be seen as a first step towards a methodology for semi-automatic development of filtering algorithms.