Abstract
We discuss here constraint programming (CP) by using a proof-theoretic perspective. To this end we identify three levels of abstraction. Each level sheds light on the essence of CP.
In particular, the highest level allows us to bring CP closer to the computation as deduction paradigm. At the middle level we can explain various constraint propagation algorithms. Finally, at the lowest level we can address the issue of automatic generation and optimization of the constraint propagation algorithms.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
The ECLiPSe Constraint Logic Programming System, http://www-icparc.doc.ic.ac.uk/eclipse/
ELAN, Version 3.3, http://www.iist.unu.edu/~alumni/software/other/inria/elan/elan-presentation.html
SICStus Prolog, http://www.sics.se/isl/sicstuswww/site/index.html
Abdennadher, S., Rigotti, C.: Automatic generation of rule-based constraint solvers over finite domains. ACM Transactions on Computational Logic 5(2), 177–205 (2004)
Abdennadher, S., Rigotti, C.: Automatic generation of CHR constraint solvers. Theory and Practice of Logic Programming (2005) (to appear)
Apt, K.R.: A proof theoretic view of constraint programming. Fundamenta Informaticae 33(3), 263–293 (1998), Available via, http://arXiv.org/archive/cs/
Apt, K.R.: The essence of constraint propagation. Theoretical Computer Science 221(1-2), 179–210 (1999), Available via, http://arXiv.org/archive/cs/
Apt, K.R.: The role of commutativity in constraint propagation algorithms. ACM Transactions on Programming Languages and Systems 22(6), 1002–1036 (2000) Available via, http://arXiv.org/archive/cs/
Apt, K.R.: Some remarks on Boolean constraint propagation. In: Apt, K.R., Kakas, A.C., Monfroy, E., Rossi, F. (eds.) Compulog Net WS 1999. LNCS (LNAI), vol. 1865, pp. 91–107. Springer, Heidelberg (2000)
Apt, K.R.: Principles of Constraint Programming. Cambridge University Press, Cambridge (2003)
Apt, K.R., Monfroy, E.: Constraint programming viewed as rule-based programming. Theory and Practice of Logic Programming 1(6), 713–750 (2001), Available via, http://arXiv.org/archive/cs/
Benhamou, F.: Heterogeneous constraint solving. In: Hanus, M., Rodríguez-Artalejo, M. (eds.) ALP 1996. LNCS, vol. 1139, pp. 62–76. Springer, Heidelberg (1996)
Bistarelli, S., Gennari, R., Rossi, F.: Constraint propagation for soft constraint satisfaction problems: Generalization and termination conditions. In: Dechter, R. (ed.) CP 2000. LNCS, vol. 1894, pp. 83–97. Springer, Heidelberg (2000)
Brand, S., Apt, K.R.: Schedulers and redundancy for a class of constraint propagation rules. Theory and Practice of Logic Programming (2005) (to appear)
Castro, C.: Building constraint satisfaction problem solvers using rewrite rules and strategies. Fundamenta Informaticae 33(3), 263–293 (1998)
Colmerauer, A.: Opening the PROLOG-III universe. BYTE Magazine 12(9) (August 1987)
Fages, F., Fowler, J., Sola, T.: Experiments in reactive constraint logic programming. Journal of Logic Programming 37(1-3), 185–212 (1998)
Frühwirth, T.: Theory and practice of Constraint Handling Rules. Journal of Logic Programming 37(1-3), 95–138 (October 1998); Special Issue on Constraint Logic Programming, Stuckey P. J., Marriot, K.: (eds.)
Gennari, R.: Arc consistency via subsumed functions. In: Palamidessi, C., Moniz Pereira, L., Lloyd, J.W., Dahl, V., Furbach, U., Kerber, M., Lau, K.-K., Sagiv, Y., Stuckey, P.J. (eds.) CL 2000. LNCS (LNAI), vol. 1861, pp. 358–372. Springer, Heidelberg (2000)
ILOG. Ilog white papers (2003), Available via, http://www.ilog.com/products/optimization/papers.cfm
Jaffar, J., Lassez, J.-L.: Constraint logic programming. In: POPL 1987: Proceedings 14th ACM Symposium on Principles of Programming Languages, pp. 111–119. ACM, New York (1987)
Kirchner, C., Ringeissen, C.: Rule-based constraint programming. Fundamenta Informaticae 34(3), 225–262 (1998)
Koalog (2005), http://www.koalog.com
Mackworth, A.: Consistency in networks of relations. Artificial Intelligence 8(1), 99–118 (1977)
Mohr, R., Masini, G.: Good old discrete relaxation. In: Kodratoff, Y. (ed.) Proceedings of the 8th European Conference on Artificial Intelligence (ECAI), pp. 651–656. Pitman Publishers (1988)
Monfroy, E., Réty, J.-H.: Chaotic iteration for distributed constraint propagation. In: Carroll, J., Haddad, H., Oppenheim, D., Bryant, B., Lamont, G. (eds.) Proceedings of the 14th ACM Symposium on Applied Computing, ACM SAC 1999, San Antonio, Texas, USA, March 1999. Scientific Computing Track, pp. 19–24. ACM Press, New York (1999)
Ringeissen, C., Monfroy, E.: Generating propagation rules for finite domains: a mixed approach. In: Apt, K.R., Kakas, A.C., Monfroy, E., Rossi, F. (eds.) Compulog Net WS 1999. LNCS (LNAI), vol. 1865, pp. 150–172. Springer, Heidelberg (2000)
Telerman, V., Ushakov, D.: Data types in subdefinite models. In: Pfalzgraf, J., Calmet, J., Campbell, J. (eds.) AISMC 1996. LNCS, vol. 1138, pp. 305–319. Springer, Heidelberg (1996)
Van Hentenryck, P., Saraswat, V., Deville, Y.: Design, implementation, and evaluation of the constraint language cc(fd). Journal of Logic Programming 37(1-3), 139–164 (1998); Special Issue on Constraint Logic Programming (P. J. Stuckey and K. Marriot, Eds.)
Waltz, D.L.: Generating semantic descriptions from drawings of scenes with shadows. In: Winston, P.H. (ed.) The Psychology of Computer Vision, pp. 19–91. McGraw Hill, New York (1975)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Apt, K.R. (2005). Explaining Constraint Programming. In: Middeldorp, A., van Oostrom, V., van Raamsdonk, F., de Vrijer, R. (eds) Processes, Terms and Cycles: Steps on the Road to Infinity. Lecture Notes in Computer Science, vol 3838. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11601548_6
Download citation
DOI: https://doi.org/10.1007/11601548_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-30911-6
Online ISBN: 978-3-540-32425-6
eBook Packages: Computer ScienceComputer Science (R0)