Dynamic Variable Elimination During Propagation Solving

Christian Schulte, Peter J. Stuckey.

[pdf | bibtex]

Constraint propagation solvers interleave propagation (removing impossible values from variables domains) with search. Propagation is performed by executing propagators (removing values) implementing constraints (defining impossible values). In order to specify constraint problems with a propagation solver often many new intermediate variables need to be introduced. Each variable plays a role in calculating the value of some expression. But as search proceeds not all of these expressions will be of interest any longer, but the propagators implementing them will remain active. In this paper we show how we can analyse the propagation graph of the solver in linear time to determine intermediate variables that can be removed without effecting the result. Experiments show that applying this analysis can reduce the space and time requirements for constraint propagation on example problems.

In: Sergio Antoy, editor, Tenth International ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming, Valencia, Spain, pages 247-257. ACM Press, July, 2008. DOI 10.1145/1389449.1389480.

Copyright ACM, 2008. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definite version was published as described above.