The ROOTS constraint

  • Authors:
  • Christian Bessiere;Emmanuel Hebrard;Brahim Hnich;Zeynep Kiziltan;Toby Walsh

  • Affiliations:
  • LIRMM, CNRS/University of Montpellier, France;4C and UCC, Cork, Ireland;Izmir University of Economics, Izmir, Turkey;University of Bologna, Italy;NICTA and UNSW, Sydney, Australia

  • Venue:
  • CP'06 Proceedings of the 12th international conference on Principles and Practice of Constraint Programming
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

A wide range of counting and occurrence constraints can be specified with just two global primitives: the Range constraint, which computes the range of values used by a sequence of variables, and the Roots constraint, which computes the variables mapping onto a set of values. We focus here on the Roots constraint. We show that propagating the Roots constraint completely is intractable. We therefore propose a decomposition which can be used to propagate the constraint in linear time. Interestingly, for all uses of the Roots constraint we have met, this decomposition does not destroy the global nature of the constraint as we still prune all possible values. In addition, even when the Roots constraint is intractable to propagate completely, we can enforce bound consistency in linear time simply by enforcing bound consistency on the decomposition. Finally, we show that specifying counting and occurrence constraints using Roots is effective and efficient in practice on two benchmark problems from CSPLib.