Arc and path consistence revisited
Artificial Intelligence
Constraint satisfaction in logic programming
Constraint satisfaction in logic programming
Conditional rewriting logic as a unified model of concurrency
Selected papers of the Second Workshop on Concurrency and compositionality
Arc-consistency and arc-consistency again
Artificial Intelligence
Calendrical calculations
On Canonical Forms and Simplification
Journal of the ACM (JACM)
Synthesizing constraint expressions
Communications of the ACM
A Compiler for Rewrite Programs in Associative-Commutative Theories
PLILP '98/ALP '98 Proceedings of the 10th International Symposium on Principles of Declarative Programming
Design, Implementation, and Evaluation of the Constraint Language cc(FD)
Selected Papers from Constraint Programming: Basics and Trends
Selected Papers from Constraint Programming: Basics and Trends
Using Metalevel Constraint Knowledge to Reduce Constraint Checking
Constraint Processing, Selected Papers
Constructive Disjunction Revisited
KI '96 Proceedings of the 20th Annual German Conference on Artificial Intelligence: Advances in Artificial Intelligence
COLETTE, Prototyping CSP Solvers Using a Rule-Based Language
AISC '98 Proceedings of the International Conference on Artificial Intelligence and Symbolic Computation
Problem-Solving Methods in Artificial Intelligence
Problem-Solving Methods in Artificial Intelligence
Domain filtering can degrade intelligent backtracking search
IJCAI'93 Proceedings of the 13th international joint conference on Artifical intelligence - Volume 1
Compilation techniques for associative-commutative normalisation
Algebraic'97 Proceedings of the 2nd international conference on Theory and Practice of Algebraic Specifications
A Proof Theoretic View of Constraint Programming
Fundamenta Informaticae
A Proof Theoretic View of Constraint Programming
Fundamenta Informaticae
Hi-index | 0.00 |
In this paper, we formalize Constraint Satisfaction Problem manipulation using a rule-based approach. Based on the notion of Computational Systems, we associate basic transformations carried out by traditional constraint solving algorithms with rewrite rules, and heuristics with strategies establishing the order of application of the inferences. In this way, a constraint solver can be viewed as a computational system aimed to transform a set of constraints in a particular solved form. The distinction made between deduction rules and strategies, allows to describe constraint handling in a very abstract way, prototype new heuristics almost by modifying only the choice of rules, prove termination in an easier way, and combine constraint solving with other computational systems. To validate our approach we have implemented the system COLETTE which is currently executable in ELAN, an environment for prototyping computational systems. We have realized how easy it is to integrate and reuse solvers developed following this approach. We hope that this work leads the way to integrating the knowledge existing in the domains of Automated Deduction and Constraint Solving.