A filtering algorithm for constraints of difference in CSPs
AAAI '94 Proceedings of the twelfth national conference on Artificial intelligence (vol. 1)
Chaff: engineering an efficient SAT solver
Proceedings of the 38th annual Design Automation Conference
Programming Deep Concurrent Constraint Combinators
PADL '00 Proceedings of the Second International Workshop on Practical Aspects of Declarative Languages
Constructive Disjunction Revisited
KI '96 Proceedings of the 20th Annual German Conference on Artificial Intelligence: Advances in Artificial Intelligence
Modelling and solving English Peg Solitaire
Computers and Operations Research
Handbook of Combinatorial Designs, Second Edition (Discrete Mathematics and Its Applications)
Handbook of Combinatorial Designs, Second Edition (Discrete Mathematics and Its Applications)
Handbook of Constraint Programming (Foundations of Artificial Intelligence)
Handbook of Constraint Programming (Foundations of Artificial Intelligence)
Principles of Constraint Programming
Principles of Constraint Programming
Search in the patience game ‘Black Hole’
AI Communications - Constraint Programming for Planning and Scheduling
Generalised arc consistency for the AllDifferent constraint: An empirical survey
Artificial Intelligence
MINION: A Fast, Scalable, Constraint Solver
Proceedings of the 2006 conference on ECAI 2006: 17th European Conference on Artificial Intelligence August 29 -- September 1, 2006, Riva del Garda, Italy
The ultrametric constraint and its application to phylogenetics
Journal of Artificial Intelligence Research
Propagating logical combinations of constraints
IJCAI'05 Proceedings of the 19th international joint conference on Artificial intelligence
CP'09 Proceedings of the 15th international conference on Principles and practice of constraint programming
Watched literals for constraint propagation in minion
CP'06 Proceedings of the 12th international conference on Principles and Practice of Constraint Programming
Towards "propagation = logic + control"
ICLP'06 Proceedings of the 22nd international conference on Logic Programming
Half reification and flattening
CP'11 Proceedings of the 17th international conference on Principles and practice of constraint programming
SAT Solving for Termination Proofs with Recursive Path Orders and Dependency Pairs
Journal of Automated Reasoning
An automated approach to generating efficient constraint solvers
Proceedings of the 34th International Conference on Software Engineering
On the reification of global constraints
Constraints
Domain consistency with forbidden values
Constraints
Short and long supports for constraint propagation
Journal of Artificial Intelligence Research
Extending simple tabular reduction with short supports
IJCAI'13 Proceedings of the Twenty-Third international joint conference on Artificial Intelligence
Optimal implementation of watched literals and more general techniques
Journal of Artificial Intelligence Research
Hi-index | 0.00 |
Combining constraints using logical connectives such as disjunction is ubiquitous in constraint programming, because it adds considerable expressive power to a constraint language. We explore the solver architecture needed to propagate such combinations of constraints efficiently. In particular we describe two new features named satisfying sets and constraint trees. We also make use of movable triggers (Gent et al., 2006) [1], and with these three complementary features we are able to make considerable efficiency gains. A key reason for the success of Boolean Satisfiability (SAT) solvers is their ability to propagate Or constraints efficiently, making use of movable triggers. We successfully generalise this approach to an Or of an arbitrary set of constraints, maintaining the crucial property that at most two constraints are active at any time, and no computation at all is done on the others. We also give an And propagator within our framework, which may be embedded within the Or. Using this approach, we demonstrate speedups of over 10,000 times in some cases, compared to traditional constraint programming approaches. We also prove that the Or algorithm enforces generalised arc consistency (GAC) when all its child constraints have a GAC propagator, and no variables are shared between children. By extending the Or propagator, we present a propagator for AtLeastK, which expresses that at least k of its child constraints are satisfied in any solution. Some logical expressions (e.g. exclusive-or) cannot be compactly expressed using And, Or and AtLeastK. Therefore we investigate reification of constraints. We present a fast generic algorithm for reification using satisfying sets and movable triggers.