Abstract
This article explores the question of when two propagation-based constraint systems have the same behavior, in terms of search space. We categorize the behavior of domain and bounds propagators for primitive constraints, and provide theorems that allow us to determine propagation behaviors for conjunctions of constraints. We then show how we can use this to analyze CLP(FD) programs to determine when we can safely replace domain propagators by more efficient bounds propagators without increasing search space. Empirical evaluation shows that programs optimized by the analysis' results are considerably more efficient.
Original language | English |
---|---|
Pages (from-to) | 388-425 |
Number of pages | 38 |
Journal | ACM Transactions on Programming Languages and Systems |
Volume | 27 |
Issue number | 3 |
DOIs | |
Publication status | Published - 1 Dec 2005 |
Externally published | Yes |
Keywords
- Abstract interpretation
- Bounds propagation
- Constraint (logic) programming
- Domain propagation
- Finite domain constraints
- Program analysis