Half reification and flattening

  • Authors:
  • Thibaut Feydy;Zoltan Somogyi;Peterm J. Stuckey

  • Affiliations:
  • National ICT Australia and the University of Melbourne, Victoria, Australia;National ICT Australia and the University of Melbourne, Victoria, Australia;National ICT Australia and the University of Melbourne, Victoria, Australia

  • Venue:
  • CP'11 Proceedings of the 17th international conference on Principles and practice of constraint programming
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Usually propagation-based constraint solvers construct a constraint network as a conjunction of constraints. They provide propagators for each form of constraint c. In order to increase expressiveness, systems also usually provide propagators for reified forms of constraints. A reified constraint b ↔ c associates a truth value b with a constraint c. With reified propagators, systems can express complex combinations of constraints using disjunction, implication and negation by flattening. In this paper we argue that reified constraints should be replaced by half-reified constraints of the form b → c. Half-reified constraints do not impose any extra burden on the implementers of propagators compared to unreified constraints, they can implement reified propagators without loss of propagation strength (assuming c is negatable), they extend automatically to global constraints, they simplify the handling of partial functions, and can allow flattening to give better propagation behavior.