Efficient Constraint Propagation Engines
2008 (English)In: ACM Transactions on Programming Languages and Systems, ISSN 0164-0925, E-ISSN 1558-4593, Vol. 31, no 1, 2- p.Article in journal (Refereed) Published
This article presents a model and implementation techniques for speeding up constraint propagation. Three fundamental approaches to improving constraint propagation based on propagators as implementations of constraints are explored: keeping track of which propagators are at fixpoint, choosing which propagator to apply next, and how to combine several propagators for the same constraint. We show how idempotence reasoning and events help track fixpoints more accurately. We improve these methods by using them dynamically (taking into account current variable domains to improve accuracy). We define priority-based approaches to choosing a next propagator and show that dynamic priorities can improve propagation. We illustrate that the use of multiple propagators for the same constraint can be advantageous with priorities, and introduce staged propagators that combine the effects of multiple propagators with priorities for greater efficiency.
Place, publisher, year, edition, pages
New York: ASSOC COMPUTING MACHINERY , 2008. Vol. 31, no 1, 2- p.
Languages, Design, Experimentation, Performance, Constraint (logic) programming, constraint propagation, events, finite domain constraints, fixpoint reasoning, priorities
Computer and Information Science
IdentifiersURN: urn:nbn:se:kth:diva-31567DOI: 10.1145/1452044.1452046ISI: 000262394800002ScopusID: 2-s2.0-57949102453OAI: oai:DiVA.org:kth-31567DiVA: diva2:405059
10th International Conference on the Principles and Practice of Constraint Programming Toronto, CANADA, SEP 27-OCT 01, 2004
QC 201103212011-03-212011-03-182011-03-21Bibliographically approved