Abstract
The most advanced implementation of adaptive constraint processing with Constraint Handling Rules (CHR) is introduced in the imperative object-oriented programming language Java. The presented Java implementation consists of a compiler and a run-time system, all implemented in Java. The run-time system implements data structures like sparse bit vectors, logical variables and terms as well as an adaptive unification and an adaptive entailment algorithm. Approved technologies like attributed variables for constraint storage and retrieval as well as code generation for each head constraint are used. Also implemented are theoretically sound algorithms for adapting of rule derivations and constraint stores after arbitrary constraint deletions. The presentation is rounded off with some novel applications of CHR in constraint processing: simulated annealing for the n queens problem and intelligent backtracking for some SAT benchmark problems.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Slim Abdennadher. Operational semantics and confluence of Constraint Handling Rules. In Proceedings of the Third International Conference on Principles and Practice of Constraint Programming-CP97, number 1330 in Lecture Notes in Computer Science. Springer Verlag, 1997.
Ken Arnold, James Gosling, and David Holmes. The Java Programming Language, Third Edition. Addison-Wesley, June 2000.
Andy Hon Wai C. Constraint programming in Java with JSolver. In Proceedings of PACLP99, The Practical Application of Constraint Technologies and Logic Programming, London, April 1999.
David Flanagan. Java Foundation Classes in a Nutshell. O'Reilly, September 1999.
David Flanagan. Java in a Nutshell. O'Reilly, 3rd edition, November 1999.
Thom Frühwirth. Constraint Handling Rules. In Andreas Podelski, editor, Constraint Programming: Basics and Trends, number 910 in Lecture Notes in Computer Science, pages 90–107. Springer Verlag, March 1995.
Thom Frühwirth. Theory and practice of Constraint Handling Rules. The Journal of Logic Programming, 37:95–138, 1998.
Thom Frühwirth and Pascal Brisset. High-Level Implementations of Constraint Handling Rules. Technical report, ECRC, 1995.
Matthew L. Ginsberg. Dynamic backtracking. Journal of Artificial Intelligence Research, 1:25–46, 1993.
Christian Holzbaur. Specification of Constraint Based Inference Mechanism through Extended Unification. PhD thesis, Dept. of Medical Cybernetics & AI, University of Vienna, 1990.
Christian Holzbaur and Thom Frühwirth. A Prolog Constraint Handling Rules compiler and runtime system. Applied Artificial Intelligence, 14(4):369–388, April 2000.
K. Iwama, E. Miyano, and Y. Asahiro. Random generation of test instances with controlled attributes. In Cliques, Coloring, and Satisfiability, volume 26 of DIMACS Series in Discrete Mathematics and Theoretical Computer Science, pages 377–394. American Mathematical Society, 1996.
Kim Marriott and Peter J. Stuckey. Programming with Constraints: An Introduction. The MIT Press, 1998.
Matthias Schmauss. An implementation of CHR in Java. Master’s thesis, Ludwig Maximilians Universität München, Institut für Informatik, May 1999.
Marc Torrens, Rainer Weigel, and Baoi Faltings. Java constraint library: Bringing constraint technology on the internet using java. In Proceedings of the CP-97 Workshop on Constraint Reasoning on the Internet, November 1997.
Armin Wolf. Adaptive entailment of equations over rational trees. In Proceedings of the 13th Workshop on Logic Programming, WLP’98, Technical Report 1843-1998-10, pages 25–33. Vienna University of Technology, October 1998.
Armin Wolf. Adaptive solving of equations over rational trees. In Proceedings of the Fourth International Conference on Principles and Practice on Constraint Programming, CP’98, Poster Session, number 1520 in Lecture Notes in Computer Science, page 475. Springer, 1998.
Armin Wolf. Adaptive Constraintverarbeitung mit Constraint-Handling-Rules-Ein allgemeiner Ansatz zur Lösung dynamischer Constraint-Probleme, volume 219 of Disserationen zur Künstlichen Intelligenz (DISKI). infix, November 1999.
Armin Wolf, Thomas Gruenhagen, and Ulrich Geske. On incremental adaptation of CHR derivations. Applied Artificial Intelligence, 14(4):389–416, April 2000.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Wolf, A. (2001). Adaptive Constraint Handling with CHR in Java. In: Walsh, T. (eds) Principles and Practice of Constraint Programming — CP 2001. CP 2001. Lecture Notes in Computer Science, vol 2239. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45578-7_18
Download citation
DOI: https://doi.org/10.1007/3-540-45578-7_18
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42863-3
Online ISBN: 978-3-540-45578-3
eBook Packages: Springer Book Archive