Abstract
Solutions to combinatorial search problems can benefit from custom-made constraint-based inference engines that go beyond depth-first search. Several constraint programming systems support the programming of such inference engines through programming abstractions. For example, the Mozart system for Oz comes with several engines, extended in dimensions such as interaction, visualization, and optimization. However, so far such extensions are monolithic in their software design, not catering for systematic reuse of components.
We present an object-oriented modular architecture for building inference engines that achieves high reusability and supports rapid prototyping of search algorithms and their extensions. For the sake of clarity, we present the architecture in the setting of a C++ constraint programming library. The SearchToolKit, a search library for Oz based on the presented architecture, provides evidence for the practicality of the design.
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
Tee Yong Chew. A toolkit for constraint-based tree search. Honours Year Project Report, School of Computing, National University of Singapore, available at http://www.comp.nus.edu.sg/ henz/projects/toolkit/, March 1999.
Yves Caseau and François Laburthe. CLAIRE: Combining objects and rules for problem solving. In Proceedings of the JICSLP’96 workshop on multi-paradigm logic programming. TU Berlin, 1996.
Martin Henz and Tee Yong Chew. SearchToolKit: A toolkit for constraint-based tree search. Oz code available via WWW at http://www.comp.nus.edu.sg/~henz/projects/stk, 1999.
Martin Henz. Objects for Concurrent Constraint Programming. TheKluwer International Series in Engineering and Computer Science, Volume 426. Kluwer Academic Publishers, Boston, 1998.
William D. Harvey and Matthew L. Ginsberg. Limited discrepancy search. In Chris S. Mellish, editor, Proceedings of the International Joint Conference on Artificial Intelligence, pages 607–615, Montréal, Québec, Canada, August 1995. Morgan Kaufmann Publishers, San Mateo, CA.
ILOG Inc., Mountain View, CA 94043, USA, http://www.ilog.com. ILOG Solver 4.4, Reference Manual, 1999.
ILOG Inc., Mountain View, CA 94043, USA, http://www.ilog.com. OPL Studio User Manual, 1999.
Andrew J. Kennedy. Functional pearls: Drawing trees. Journal of Functional Programming, 6(3):527–534, May 1996.
Irvin J. Lustig and Jean-François Puget. Program ! = program: Constraint programming and its relationship to mathematical programming. white paper of Ilog Inc., Mountain View, CA 94043, USA, available at http://www.ilog.com, 1999.
Micha Meier. Debugging constraint programs. In Proceedings of the First International Conference on Principles and Practice of Constraint Programming, Lecture Notes in Computer Science 976, pages 328–344, Cassis, France, September 1995. Springer-Verlag, Berlin.
Mozart Consortium. The Mozart Programming System. Documentation and system available from http://www.mozart-oz.org, Programming Systems Lab, Saarbrücken, Swedish Institute of Computer Science, Stockholm, and Université catholique de Louvain, 1999.
Jean-François Puget. A C++ implementation of CLP. In Proceedings of the Second Singapore International Conference on Intelligent Systems (SPI-CIS), pages B256–B261, Singapore, November 1994.
Christian Schulte. Oz Explorer: A visual constraint programming tool. In Lee Naish, editor, Proceedings of the International Conference on Logic Programming, pages 286–300, Leuven, Belgium, July 1997. The MIT Press, Cambridge, MA.
Christian Schulte. Programming constraint inference engines. In Gert Smolka, editor, Principles and Practice of Constraint Programming-CP97, Proceedings of the Third International Conference, Lecture Notes in Computer Science 1330, pages 519–533, Schloss Hagenberg, Linz, Austria, October/ November 1997. Springer-Verlag, Berlin.
Christian Schulte. Comparing trailing and copying for constraint programming. In Proceedings of the International Conference on Logic Programming, 1999. to appear.
Gert Smolka. The Oz programming model. In Jan van Leeuwen, editor, Computer Science Today, Lecture Notes in Computer Science 1000, pages 324–343. Springer-Verlag, Berlin, 1995.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Yong Chew, T., Henz, M., Boon Ng, K. (1999). A Toolkit for Constraint-Based Inference Engines. In: Pontelli, E., Santos Costa, V. (eds) Practical Aspects of Declarative Languages. PADL 2000. Lecture Notes in Computer Science, vol 1753. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46584-7_13
Download citation
DOI: https://doi.org/10.1007/3-540-46584-7_13
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66992-0
Online ISBN: 978-3-540-46584-3
eBook Packages: Springer Book Archive