Abstract
CLP(ℜ) is a constraint logic programming language in which constraints can be expressed in the domain of real numbers. Computation in this specialized domain gives access to information useful in intelligent backtracking. In this paper, we present an efficient constraint satisfaction algorithm for linear constraints in the real number domain and show that our algorithm directly generates minimal sets of conflicting constraints when failures occur. We demonstrate how information gleaned during constraint satisfaction can be integrated with unification failure analysis. The resulting intelligent backtracking method works in the context of a two-sorted domain, where variables can be bound to either structured terms or real number expressions. We discuss the implementation of backtracking and show examples where the benefit of pruning the search tree outweights the overhead of failure analysis.
Similar content being viewed by others
Explore related subjects
Discover the latest articles and news from researchers in related subjects, suggested using machine learning.References
M. Bruynooghe and L. Pereira, Deduction revision by intelligent backtracking, in:Implementations of Prolog, ed. J. Campbell (Ellis Horwood, 1984).
J. Burg, Parallel execution models and algorithms for constraint logic programming over a real-number domain, Ph.D. Dissertation, University of Central Florida (December, 1992).
J. Burg, S.-D. Lang and C. Hughes, Finding conflict sets and backtrack points in CLP(ℜ), Technical Report TR-CS-93-01, Wake Forest University, Winston-Salem, NC (November, 1993).
J. Burg, P. Stuckey, J. Tai and R. Yap, Linear equation-solving for constraint logic programming, to appear inProc. of the 12th Int. Conf. on Logic Programming, Tokyo, Japan (1995).
C. Codognet, P. Codognet, and G. Filé, Yet another intelligent backtracking method,Proc. of the 5th Int. Conf. and Symp. on Logic Programming, Seattle (1988) pp. 447–465.
P. Codognet and T. Sola, Extending the WAM for intelligent backtracking,Proc of the 8th Int. Conf. on Logic Programming, Paris, France (1991) pp. 127–141.
P. Cox, Finding backtrack points for intelligent backtracking, in:Implementations of Prolog, ed. J. Campbell (Ellis Horwood, 1984).
B. DeBacker and H. Beringer, Intelligent backtracking for CLP languages: An application to CLP(ℜ),Proc. of the Int. Symp. on Logic Programming, San Diego (October, 1991) pp. 405–419.
Heintze et al., The CLP(ℜ) programmer's manual, Version 1.2, IBM Thomas J. Watson Research Center (September, 1992).
C. Hogger and A. Kotzmanidis, Aspects of failure analysis in a CLP(ℜ) system, Internal Report. Imperial College, London (June, 1993).
Jaffar et al., An abstract machine for CLP(ℜ),Proc. of SIGPLAN '92 Conf. on Programming Language Description and Implementation, San Francisco (May, 1992) pp. 128–139.
Jaffar et al., The CLP(ℜ) language and system,Transactions on Programming Languages and Systems 14(3) (July, 1992) pp. 339–395.
V. Kumar and Y.-J. Lin, An intelligent backtracking scheme for Prolog,Proc. of the Int. Symp. on Logic Programming (September, 1987) pp. 406–414.
Y.-J. Lin and V. Kumar, A data-dependency-based intelligent backtracking scheme for Prolog,J. Logic Programming 4(2) (1988) pp. 165–181.
Y.-J. Lin, V. Kumar and C. Leung, An intelligent backtracking algorithm for parallel execution of logic programs,Proc. of the 3rd Int. Conf. on Logic Programming, London (June, 1986) pp. 55–67.
J. Lloyd,Foundations of Logic Programming, 2nd ed. (Springer-Verlag, New York, 1987).
D. Luenberger,Linear and Nonlinear Programming, 2nd ed. (Addison-Wesley, Reading, MA).
S. Matwin and T. Pietrzykowski, Exponential improvement of exhaustive backtracking: data structures and implementation,Proc. of the 6th Conf. on Automated Deduction, Lecture Notes in Computer Science (Springer-Verlag, New York, 1982).
L. Pereira and A. Porto, Selective backtracking, in:Logic Programming, eds. K.L. Clark and S.-A. Tarnlund (Academic Press, 1982).
G. Williams,Linear Algebra, 2nd ed. (William Brown Publishers, Dubuque, IA, 1991).
D.A. Wolfram, Intractable unifiability problems and backtracking,Proc. of the 3rd Int. Conf. on Logic Programming, LNCS 225 (Springer-Verlag, 1986) pp. 107–121.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Burg, J.J., Lang, SD. & Hughes, C.E. Intelligent backtracking in CLP(ℜ). Ann Math Artif Intell 17, 189–211 (1996). https://doi.org/10.1007/BF02127968
Issue Date:
DOI: https://doi.org/10.1007/BF02127968