Abstract
Search is essential for constraint programming. Search engines typically combine several features like state restoration for backtracking, best solution search, parallelism, or visualization. In current implementations like Mozart, however, these search engines are monolithic and hard-wired to one exploration strategy, severely complicating the implementation of new exploration strategies and preventing their reuse.
This paper presents the design of a search factory for Mozart, a program that enables the user to freely combine several orthogonal aspects of search, resulting in a search engine tailored to the user’s needs. The abstractions developed here support fully automatic recomputation with last alternative optimization. They present a clean interface, making the implementation of new exploration strategies simple. Conservative extensions of the abstractions are presented that support best solution search and parallel search as orthogonal modules. IOzSeF, the Interactive Oz Search Factory, implements these abstractions and is freely available for download.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
The Alice Project, Homepage at the Programming Systems Lab, Universität des Saarlandes, Saarbrücken, Germany (2004), http://www.ps.uni-sb.de/alice
Chew, T.Y., Henz, M., Ng, K.B.: A toolkit for constraint-based inference engines. In: Pontelli, E., Santos Costa, V. (eds.) PADL 2000. LNCS, vol. 1753, pp. 185–199. Springer, Heidelberg (2000)
Choi, C.W., Henz, M., Ng, K.B.: Components for state restoration in tree search. In: Walsh, T. (ed.) CP 2001. LNCS, vol. 2239, p. 240. Springer, Heidelberg (2001)
Gecode, the generic constraint development environment (2004), http://www.gecode.org
Harvey, W.D., Ginsberg, M.L.: Limited discrepancy search. In: Proceedings of the Fourteenth International Joint Conference on Artificial Intelligence (IJCAI 1995), Montréal, Québec, Canada, August 1995, vol. 1, pp. 607–615 (1995)
ILOG Inc., Mountain View, CA, USA. ILOG Solver 5.0 reference Manual (2000)
Kennedy, A.J.: Functional pearls: Drawing trees. Journal of Functional Programming 6(3), 527–534 (1996)
Korf., R.E.: Iterative-deepening–an optimal admissible tree search. In: Joshi, A. (ed.) Proceedings of the 9th International Joint Conference on Artificial Intelligence, Los Angeles, CA, August 1985, pp. 1034–1036. Morgan Kaufmann, San Francisco (1985)
Lustig, I.J., Puget, J.-F.: Program does not equal program: Constraint programming and its relationship to mathematical programming. White paper, ILOG Inc. (1999) Available at, http://www.ilog.com
Russel, S.J., Norvig, P.: Artificial Intelligence - A Modern Approach, 2nd edn. Prentice Hall, Englewood Cliffs (2003)
Schulte, C.: Oz explorer: A visual constraint programming tool. In: Naish, L. (ed.) Proceedings of the Fourteenth International Conference on Logic Programming, Leuven, Belgium, July 1997, pp. 286–300. The MIT Press, Cambridge (1997)
Schulte, C.: Comparing trailing and copying for constraint programming. In: Schreye, D.D. (ed.) Proceedings of the Sixteenth International Conference on Logic Programming, December 1999, pp. 275–289. The MIT Press, Cambridge (1999)
Schulte, C.: Programming Constraint Services. LNCS (LNAI), vol. 2302. Springer, Heidelberg (2002)
Schulte, C., Stuckey, P.J.: Speeding up constraint propagation. In: Wallace, M. (ed.) CP 2004. LNCS, vol. 3258, pp. 619–633. Springer, Heidelberg (2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Tack, G., Le Botlan, D. (2005). Compositional Abstractions for Search Factories. In: Van Roy, P. (eds) Multiparadigm Programming in Mozart/Oz. MOZ 2004. Lecture Notes in Computer Science, vol 3389. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-31845-3_18
Download citation
DOI: https://doi.org/10.1007/978-3-540-31845-3_18
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-25079-1
Online ISBN: 978-3-540-31845-3
eBook Packages: Computer ScienceComputer Science (R0)