Abstract
The ELAN language implements computational systems, a concept that combines rewriting logic with a description of strategies. It can be used to specify and execute non-deterministic rule-based computation for solving various kinds of search problems. This paper presents several examples illustrating different features of the ELAN strategy language from a simple search problem to solving constrained search problems. Concurrent strategies and ELAN process control facilities are illustrated by prototyping the cooperation of solvers.
Similar content being viewed by others
References
K.R. Apt, A proof theoretic view of constraint programming, Fund. Inform. 34(3) (1998) 295-321.
H. Beringer and B. DeBacker, Combinatorial problem solving in constraint logic programming with cooperative solvers, in: Logic Programming: Formal Methods and Practical Applications, eds. C. Beierle and L. Plümer, Studies in Computer Science and Artificial Intelligence (North-Holland, Amsterdam, 1995).
A. Bockmayr and T. Kasper, Branch-and-Infer: A unifying framework for integer and finite domain constraint programming, INFORMS J. Comput. 10(3) (1998) 287-300; also available as Technical Report MPI-I-97-2-008 of the Max Planck Institut für Informatik, Saarbrücken, Germany.
P. Borovanský, Implementation of higher-order unification based on calculus of explicit substitutions, in: Proceedings of the SOFSEM'95: Theory and Practice of Informatics, eds. M. Bartošek, J. Staudek, and J. Wiedermann, Lecture Notes in Computer Science, Vol. 1012 (Springer, Berlin, 1995) pp. 363-368.
P. Borovanský, Le contrôle de la réécriture: étude et implantation d'un formalisme de stratégies, thèse de Doctorat d'Université, Université Henri Poincaré, Nancy, France (October 1998); also available as Technical Report 98-T-326 of the Laboratoire Lorrain de Recherche en Informatique et ses Applications, LORIA.
P. Borovanský and C. Castro, Cooperation of constraint solvers: using the new process control facilities of ELAN, in: Proceedings of The Second International Workshop on Rewriting Logic and its Applications, WRLA'98, eds. C. Kirchner and H. Kirchner, Electronic Notes in Theoretical Computer Science, Vol. 15, Pont-à-Mousson, France (September 1998) pp. 379-398; also available as Technical Report 98-R-305 of the Laboratoire Lorrain de Recherche en Informatique et ses Applications, LORIA.
P. Borovanský, C. Kirchner and H. Kirchner, Controlling rewriting by rewriting, in: Proceedings of the 1st International Workshop on Rewriting Logic and its Applications, RWLA'96, ed. J. Meseguer, Asilomar, Pacific Grove, CA, USA, September 1996, Electronic Notes in Theoretical Computer Science, Vol. 4.
P. Borovanský, C. Kirchner, and H. Kirchner, Strategies and rewriting in ELAN, in: Workshop on Strategies, Proceedings of the 14th International Conference on Automated Deduction, CADE'97, Townsville, Australia (July 1997); also available as Technical Report 97-R-126 of the Centre de Recherche en Informatique de Nancy, CRIN.
P. Borovanský, C. Kirchner and H. Kirchner, A functional view of rewriting and strategies for a semantics of ELAN, in: The Third Fuji International Symposium on Functional and Logic Programming, eds. M. Sato and Y. Toyama, Kyoto, Japan, April 1998 (World-Scientific, 1999) pp. 143-167.
P. Borovanský, C. Kirchner, H. Kirchner, P.-E. Moreau and C. Ringeissen, An overview of ELAN, in: Proceedings of The Second International Workshop on Rewriting Logic and its Applications, WRLA'98, Pont-à-Mousson, France, September 1998, Electronic Notes in Theoretical Computer Science, Vol. 15 (1998).
P. Borovanský, C. Kirchner, H. Kirchner, P.-E. Moreau and M. Vittek, ELAN Version 3.00 User Manual (CRIN & INRIA Lorraine, Nancy, France, 1st ed., 1998).
M. Bruynooghe and R. Venken, Backtracking, in: Encyclopedia of Artificial Intelligence, Vol. 1, ed. S.C. Shapiro (Addison-Wesley, Reading, MA, 2nd ed. 1992).
Y. Caseau and F. Laburthe, Introduction to the CLAIRE programming language, Département Mathématiques et Informatique, Ecole Normale Supérieure, Paris, France (September 1996).
C. Castro, Solving binary CSP using computational systems, in: Proceedings of The First International Workshop on Rewriting Logic and its Applications, RWLW'96, ed. J. Meseguer, Asilomar, Pacific Grove, CA, USA, September 1996, Electronic Notes in Theoretical Computer Science, Vol. 4, pp. 245-264; also available as Technical Report 96-R-190 of the Centre de Recherche en Informatique de Nancy, CRIN.
C. Castro, Building constraint satisfaction problem solvers using rewrite rules and strategies, Fund. Inform. 34 (1998) 263-293.
C. Castro, COLETTE, prototyping CSP solvers using a rule-based language, in: Proceedings of The Fourth International Conference on Artificial Intelligence and Symbolic Computation, Theory, Implementations and Applications, AISC'98, eds. J. Calmet and J. Plaza, Lecture Notes in Artificial Intelligence, Vol. 1476, Plattsburgh, NY, USA (September 1998) pp. 107-119; also available as Technical Report 98-R-304 of the Laboratoire Lorrain de Recherche en Informatique et ses Applications, LORIA.
C. Castro, Une approche déductive de la résolution de problèmes de satisfaction de contraintes, thèse de Doctorat d'Université, Université Henri Poincaré, Nancy, France (December 1998); also available as Technical Report 98-T-315 of the Laboratoire Lorrain de Recherche en Informatique et ses Applications, LORIA.
C. Castro and E. Monfroy, A control language for designing CSP solvers, in: Proceedings of The Andrei Ershov International Conference, Perspectives of Systems Informatics, Novosibirsk, Akademgorodok, Russia, July 1999, Lecture Notes in Computer Science, Vol. 1755 (Springer, Berlin, 1999) pp. 402-415.
C. Castro and E. Monfroy, Basic operators for solving constraints via collaboration of solvers, in: Proceedings of The Fifth International Conference on Artificial Intelligence and Symbolic Computation, AISC'2000, Madrid, Spain, July 2000, Lecture Notes in Artificial Intelligence (Springer, Berlin, to appear); also available as Technical Report 2000/3 of the Departamento de Informática de la Universidad Técnica Federico Santa María, Valparaíso, Chile.
H. Cirstea and C. Kirchner, Theorem proving using computational systems: The case of the B Predicate prover, in: Proceedings of The International Conference on Constraints in Computational Logics, Dagstuhl, Germany (September 1997).
M. Clavel, Reflection in general logics, rewriting logic, and Maude, Ph.D. thesis, University of Navarre, Spain (1998).
M. Clavel, F. Durán, S. Eker, P. Lincoln and J. Meseguer, Metalevel computation in maude, in: Proceedings of the 2nd International Workshop on Rewriting Logic and its Applications, RWLA'98, eds. C. Kirchner and H. Kirchner, Pont-à-Mousson, France, Electronic Notes in Theoretical Computer Science, Vol. 15 (September 1998) pp. 3-24.
F. Fages, Programmation Logique Par Contraintes, Cours de l'Ecole Polytechnique (Ellipses, Paris, France, 1996).
T. Frühwirth, Constraint handling rules, in: Constraint Programming: Basic and Trends. Selected Papers of the 22nd Spring School in Theoretical Computer Sciences, ed. A. Podelski, Chatillon-surseine, France, May 1994, Lecture Notes in Computer Science, Vol. 910 (Springer, Berlin, 1994) pp. 90-107.
R.M. Haralick and G.L. Elliot, Increasing tree search efficiency for constraint satisfaction problems, Artif. Intell. 14 (1980) 263-313.
ILOG S.A, ILOG Solver 4.0, User's Manual (May 1997).
C. Kirchner, H. Kirchner and M. Vittek, Designing constraint logic programming languages using computational systems, in: Principles and Practice of Constraint Programming, The Newport Papers, eds. P.V. Hentenryck and V. Saraswat (MIT Press, Cambridge, MA, 1995) chapter 8, pp. 131-158.
C. Kirchner, H. Kirchner and M. Vittek, ELAN Version 1.17 User Manual (CRIN & INRIA Lorraine, Nancy, France, 1st ed., 1995).
C. Kirchner, C. Lynch and C. Scharff, A fine-grained concurrent completion procedure, in: Proceedings of The 6th Conference on Rewriting Techniques and Applications, ed. H. Ganzinger, Kaiserslautern, Germany, September 1996, Lecture Notes in Computer Science, Vol. 1103 (Springer, Berlin, 1996) pp. 3-17.
C. Kirchner and C. Ringeissen, Rule-based constraint programming, Fund. Inform. 34(3) (1998) 225-262.
H. Kirchner and P.-E. Moreau, Prototyping completion with constraints using computational systems, in: Proceedings of The 5th Conference on Rewriting Techniques and Applications, Montreal, Canada, ed. J. Hsiang, Lecture Notes in Computer Science, Vol. 914 (Springer, Berlin, 1995) pp. 438-443.
H. Kirchner and P.-E. Moreau, A reflective extension of ELAN, in: Proceedings of The First International Workshop on Rewriting Logic and its Applications, RWLW'96, ed. J. Meseguer, Asilomar, Pacific Grove, CA, USA, September 1996, Electronic Notes in Theoretical Computer Science, Vol. 4 (1996).
V. Kumar, Algorithms for constraint-satisfaction problems: A survey, Artif. Intell. Magazine 13(1) (1992) 32-44.
A.K. Mackworth, Consistency in networks of relations, Artif. Intell. 8 (1977) 99-118.
A.K. Mackworth, Constraint satisfaction, in: Encyclopedia of Artificial Intelligence, Vol. 1, ed.S.C. Shapiro (Addison-Wesley, 2nd ed., 1992).
P. Marti and M. Rueher, A distributed cooperating constraints solving system, Internat. J. Artif. Intell. Tools 4(1-2) (1995) 93-113.
N. Martì-Oliet and J. Meseguer, Rewriting logic as a logical and semantical framework, Technical report, SRI International, Computer Science Laboratory, Menlo Park, CA, USA (May 1993).
J.Meseguer, Conditional rewriting logic as a unified model of concurrency, Theor. Comput. Sci. 96(1) (1992) 73-155.
E. Monfroy, An Environment for Designing/Executing Constraint Solver Collaborations, Rapport de Recherche 96-R-044, Centre de Recherche en Informatique de Nancy, CRIN, Vandoeuvre-lès-Nancy, France (February 1996).
E. Monfroy, Collaboration de solveurs pour la programmation logique à contraintes, thèse de Doctorat d'Université, Université Henri Poincaré, Nancy, France (November 1996); also available in English.
E. Monfroy, The Constraint Solver Collaboration Language of BALI, Short version of Research Report 96-R-044, Centre de Recherche en Informatique de Nancy, CRIN, Vandoeuvre-lès-Nancy (February 1996/1997).
E. Monfroy, The constraint solver collaboration language of BALI, in: Proceedings of the Second International Workshop Frontiers of Combining Systems, FroCoS'98, Amsterdam, The Netherlands (1998).
C. Ringeissen, Prototyping combination of unification algorithms with the ELANrule-based programming language, in: Proceedings of The 8th Conference on Rewriting Techniques and Applications, Lecture Notes in Computer Science, Vol. 1232 (Springer, Berlin, 1997) pp. 323-326.
E. Tsang, Foundations of Constraint Satisfaction (Academic Press, New York, 1993).
E. Visser and Z. Benaissa, A core language for rewriting, in: Proceedings of the 2nd International Workshop on Rewriting Logic and its Applications, RWLA'98, eds. C. Kirchner and H. Kirchner, Pont-à-Mousson, France, September 1998, Electronic Notes in Theoretical Computer Science, Vol. 15 (1998) pp. 25-44.
E. Visser and B. Luttik, Specification of rewriting strategies, in: Proceedings of International Workshop on Theory and Practice of Algebraic Specifications ASF+SDF 97, Amsterdam, The Netherlands (September 1997).
M. Vittek, ELAN: Un cadre logique pour le prototypage de langages de programmation avec contraintes, thèse de Doctorat d'Université, Université Henri Poincaré, Nancy, France (October 1994).
M. Zahn and W. Hower, Backtracking along with constraint processing and their time complexities, J. Exp. Theor. Artif. Intell. 8 (1996) 63-74.
J. Zhou, Calcul de plus petits produits cartésiens d'intervalles: application au problème d'ordonnancement d'atelier, Ph.D. thesis, Université de la Mediterranée, Aix-Marseille II, France (March 1997).
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Castro, C., Borovanský, P. The use of a strategy language for solving search problems. Annals of Mathematics and Artificial Intelligence 29, 35–64 (2000). https://doi.org/10.1023/A:1018900617693
Issue Date:
DOI: https://doi.org/10.1023/A:1018900617693