CLIP: A CLP(Intervals) Dialect for Metalevel Constraint Solving
- Timothy J. Hickey
- … show all 1 hide
Purchase on Springer.com
$29.95 / €24.95 / £19.95*
* Final gross prices may vary according to local VAT.
CLIP is an implementation of CLP(Intervals) built on top of Prolog. It has been developed using the simplest model of constraint solving in which constraints are decomposed into sets of primitive constraints and a simple constraint queue is used to repeatedly apply primitive constraint contractions until some termination condition applies (e.g. no signicant change occurs, or a preset limit on the number of contractions is reached). The simple semantics and implementation make it relatively straightforward to prove that the system is sound. In this paper we show how to implement more complex constraint solvers in CLIP. In particu- lar, we demonstrate that several of the box-narrowing algorithms from the Newton and Numerica systems can be easily implemented in CLIP. The principal advantages of this approach are (1) the resulting solvers are relatively easy to prove correct, (2) new solvers can be rapidly prototyped since the code is more concise and declarative than for imperative languages, and (3) contractors can be implemented directly from mathematical formulae without having to first prove results about interval arithmetic operators.
- Forman S. Acton, Real computing made real: Preventing Errors in Scientific and Engineering calculations, Princeton University Press, Princeton, New Jersey 1996.
- Applied Logic Systems. CLP(BNR) manual. http://www.als.com 1999.
- Frédéric Benhamou and David McAllister and Pascal Van Hentenryck CLP(Intervals) Revisited Proceedings of ILPS’94, 1994.
- Frédéric Benhamou and William J. Older. Applying interval arithmetic to real, integer, and Boolean constraints. Journal of Logic Programming, 32:1–24, 1997. CrossRef
- Bell Northern Research. CLP(BNR) Reference and User Manuals. 1988
- Cucker, F. and Smale, S. Complexity Estimates Depending on Condition and Round-Off Error, Journal of the ACM, 46:1, pp. 113–184, 1999. CrossRef
- Daniel Dìaz. GNU Prolog. http://www.gnu.org/software/prolog 1999.
- L. Granvilliers. A Symbolic-Numerical Branch and Prune Algorithm for Solving Non-linear Polynomial Systems. Journal of Universal Computer Science vol. 4(2):125–146, 1998. Springer Science Online.
- F. Benhamou and L. Granvilliers. Automatic Generation of Numerical Redundancies for Non-Linear Constraint Solving. Reliable Computing, vol 3(3):335–344, 1997. Kluwer Academic Publishers. CrossRef
- T. Hickey, CLP(F) and Constrained ODEs, in the Workshop on Constraint Languages and their use in Problem Modeling, ECRC Tech. Report (defunct), 1994.
- T. Hickey, CLIP: an implementation of CLP (Intervals), http://www.cs.brandeis.edu/~tim/clip, 1999.
- T. Hickey, Analytic Constraint Solving and Interval Arithmetic, to appear in the Proceedings of POPL’00, Boston, MA, Jan. 2000.
- T. Hickey and D. Wittenberg, Validated Constraint Compilation Brandeis University, Tech Rep. CS-99-201, April, 1999.
- T. Hickey, H. Wu, and M.H. van Emden, A Unified Framework for Interval Constraints and Interval Arithmetic, in Principles and Practice of Constraint Programming — CP98, M. Maher and J-F. Puget (eds.), Springer-Verlag, LNCS v. 1520, pp. 250–264, 1998. CrossRef
- T. Hickey, Q. Ju, and M.H. van Emden, Interval Arithmetic: from Principles to Implementation, Brandeis University Tech Report. CS-99-202, July, 1999.
- R. Hammer, M. Hocks, U. Kulisch, and D. Ratz. Numerical Toolbox for Verified Computing I. Springer-Verlag, 1993.
- Jaffar, J. and Lassez, J. L., Constraint Logic Programming. in Proceedings of the 14th ACM Symposium on the Principles of Programming Languages, 1987.
- Moore, R. E., Interval Analysis. Prentice-Hall, 1966.
- A. Neumaier. Interval Methods for Systems of Equations. Cambridge University Press. 1990.
- William Older and Frédéric Benhamou. Programming in CLP(BNR). Proceedings of PPCP’93, 1993.
- Older, W. and Vellino, A., Constraint Arithmetic on Real Intervals, in Constraint Logic Programming: Selected Research. Colmerauer, A. and Benhamou, F. (eds), MIT Press 1993.
- Pascal Van Hentenryck, Laurent Michel, and Yves Deville. Numerica: A Modeling Language for Global Optimization. MIT Press, 1997.
- Pascal Van Hentenryck, David McAllester, Dipak Kapur. Solving Polynomial Systems Using a Branch and Prune Approach, SIAM Journal on Numerical Analysis, 34(2), 1997
- CLIP: A CLP(Intervals) Dialect for Metalevel Constraint Solving
- Book Title
- Practical Aspects of Declarative Languages
- Book Subtitle
- Second InternationalWorkshop, PADL 2000 Boston, MA, USA, January 17–18, 2000 Proceedings
- pp 200-214
- Print ISBN
- Online ISBN
- Series Title
- Lecture Notes in Computer Science
- Series Volume
- Series ISSN
- Springer Berlin Heidelberg
- Copyright Holder
- Springer-Verlag Berlin Heidelberg
- Additional Links
- Industry Sectors
- eBook Packages
- Editor Affiliations
- 4. Department of Computer Science New Science Hall, New Mexico State University
- 5. COPPE/Sistemas e Computação Centro de Tecnologia, Universidade Federal do Rio de Janeiro
- Author Affiliations
- 6. Michtom School of Computer Science, Brandeis University, USA
To view the rest of this content please follow the download PDF link above.