Skip to main content

Adaptive Constraint Handling with CHR in Java

  • Conference paper
  • First Online:
Book cover Principles and Practice of Constraint Programming — CP 2001 (CP 2001)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2239))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. Ken Arnold, James Gosling, and David Holmes. The Java Programming Language, Third Edition. Addison-Wesley, June 2000.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. David Flanagan. Java Foundation Classes in a Nutshell. O'Reilly, September 1999.

    Google Scholar 

  5. David Flanagan. Java in a Nutshell. O'Reilly, 3rd edition, November 1999.

    Google Scholar 

  6. 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.

    Chapter  Google Scholar 

  7. Thom Frühwirth. Theory and practice of Constraint Handling Rules. The Journal of Logic Programming, 37:95–138, 1998.

    Article  MathSciNet  Google Scholar 

  8. Thom Frühwirth and Pascal Brisset. High-Level Implementations of Constraint Handling Rules. Technical report, ECRC, 1995.

    Google Scholar 

  9. Matthew L. Ginsberg. Dynamic backtracking. Journal of Artificial Intelligence Research, 1:25–46, 1993.

    Article  Google Scholar 

  10. Christian Holzbaur. Specification of Constraint Based Inference Mechanism through Extended Unification. PhD thesis, Dept. of Medical Cybernetics & AI, University of Vienna, 1990.

    Google Scholar 

  11. Christian Holzbaur and Thom Frühwirth. A Prolog Constraint Handling Rules compiler and runtime system. Applied Artificial Intelligence, 14(4):369–388, April 2000.

    Article  Google Scholar 

  12. 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.

    Google Scholar 

  13. Kim Marriott and Peter J. Stuckey. Programming with Constraints: An Introduction. The MIT Press, 1998.

    Google Scholar 

  14. Matthias Schmauss. An implementation of CHR in Java. Master’s thesis, Ludwig Maximilians Universität München, Institut für Informatik, May 1999.

    Google Scholar 

  15. 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.

    Google Scholar 

  16. 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.

    Google Scholar 

  17. 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.

    Google Scholar 

  18. 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.

    Google Scholar 

  19. Armin Wolf, Thomas Gruenhagen, and Ulrich Geske. On incremental adaptation of CHR derivations. Applied Artificial Intelligence, 14(4):389–416, April 2000.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics