Lazy explanations for constraint propagators

  • Authors:
  • Ian P. Gent;Ian Miguel;Neil C. A. Moore

  • Affiliations:
  • School of Computer Science, University of St Andrews, St Andrews, Scotland;School of Computer Science, University of St Andrews, St Andrews, Scotland;School of Computer Science, University of St Andrews, St Andrews, Scotland

  • Venue:
  • PADL'10 Proceedings of the 12th international conference on Practical Aspects of Declarative Languages
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Explanations are a technique for reasoning about constraint propagation, which have been applied in many learning, backjumping and user-interaction algorithms for constraint programming. To date explanations for constraints have usually been recorded “eagerly” when constraint propagation happens, which leads to inefficient use of time and space, because many will never be used. In this paper we show that it is possible and highly effective to calculate explanations retrospectively when they are needed. To this end, we implement “lazy” explanations in a state of the art learning framework. Experimental results confirm the effectiveness of the technique: we achieve reduction in the number of explanations calculated up to a factor of 200 and reductions in overall solve time up to a factor of 5.