Abstract
A procedure is described for tightening domain constraints of finite domain logic programs by applying a static analysis based on convex polyhedra. Individual finite domain constraints are over-approximated by polyhedra to describe the solution space over n integer variables as an n dimensional polyhedron. This polyhedron is then approximated, using projection, as an n dimensional bounding box that can be used to specialise and improve the domain constraints. The analysis can be implemented straightforwardly and an empirical evaluation of the specialisation technique is given.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Apt, K.R.: A Proof Theoretic View of Constraint Programming. Fundamenta Informaticae 33, 1–27 (1998)
Bagnara, R.: Data-flow Analysis for Constraint Logic-based Languages. PhD thesis, Universitá di Pisa, TD-1/97 (1997)
Benoy, F., King, A.: Inferring Argument Size Relationships with CLP(R). In: Gallagher, J.P. (ed.) LOPSTR 1996. LNCS, vol. 1207, pp. 204–224. Springer, Heidelberg (1997)
Bossi, A., Gabbrielli, M., Levi, G., Martelli, M.: The s-semantics Approach: Theory and Applications. Journal of Logic Programming 19-20, 149–197 (1994)
Cousot, P., Cousot, R.: Comparing the Galois Connection and Wide- ning/Narrowing Approaches to Abstract Interpretation. Technical Report LIENS- 92-16, Laboratoire d’Informatique de l’Ecole Normal Superiéure (1992)
Cousot, P., Halbwachs, N.: Automatic Discovery of Restraints among Variables of a Program. In: Proceedings of the Fifth Annual ACM Symposium on Principles of Programming Languages, pp. 84–97 (1978)
Harvey, H., Stuckey, P.J., Borning, A.: Compiling Constraint Solving Using Projection. In: Smolka, G. (ed.) CP 1997. LNCS, vol. 1330, pp. 491–505. Springer, Heidelberg (1997)
Horspool, R.N.: Analyzing List Usage in Prolog Code. University of Victoria (1990)
Howe, J.M., King, A.: A Semantic Basis for Specialising Domain Constraints. Technical Report 21-99, University of Kent (1999)
Huynh, T., Lassez, C., Lassez, J.-L.: Practical Issues on the Projection of Polyhedral Sets. Annals of Mathematics and Artificial Intelligence 6, 295–316 (1992)
Jaffar, J., Lassez, J.-L.: Constraint Logic Programming. In: Proceedings of the Symposium on Principles of Programming Languages, pp. 111–119. ACM Press, New York (1987)
Jaffar, J., Maher, M.J.: Constraint Logic Programming: A Survey. Journal of Logic Programming 19-20, 503–582 (1994)
Marriot, K., Stuckey, P.J.: Programming With Constraints. MIT Press, Cam- bridge (1998)
Marriott, K., Stuckey, P.J.: The 3 R’s of Optimizing Constraint Logic Programs: Refinement, Removal and Reordering. In: Proceedings of the Twentieth Annual ACM Symposium on Principles of Programming Languages, pp. 334–344. ACM Press, New York (1993)
Martin, J.C.: Judgement Day: Terminating Logic Programs. PhD thesis, University of Southampton (1999)
Martin, J.C., King, A.: Generating Efficient, Terminating Logic Programs. In: Bidoit, M., Dauchet, M. (eds.) CAAP 1997, FASE 1997, and TAPSOFT 1997. LNCS, vol. 1214, pp. 273–284. Springer, Heidelberg (1997)
Monfroy, E.: An Environment for Designing/Executing Constraint Solver Collabo- rations. Electronic Notes in Theoretical Computer Science 16(1) (1998)
Murty, K.G.: Linear Programming. Wiley, Chichester (1983)
Pugh, W.: The Omega Test: a Fast and Practical Integer Programming Algorithm for Dependency Analysis. Communications of the ACM, 102–114 ( August 1992)
Rodošek, R., Wallace, M.: A Generic Model and Hybrid Algorithm for Hoist Scheduling Problems. In: Maher, M.J., Puget, J.-F. (eds.) CP 1998. LNCS, vol. 1520, pp. 385–399. Springer, Heidelberg (1998)
van Gelder, A.: Deriving Constraints Amongst Argument Sizes in Logic Programs. Annals of Mathematics and Artificial Intelligence 3(2-4) (1991)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Howe, J.M., King, A. (2000). Specialising Finite Domain Programs Using Polyhedra. In: Bossi, A. (eds) Logic-Based Program Synthesis and Transformation. LOPSTR 1999. Lecture Notes in Computer Science, vol 1817. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10720327_8
Download citation
DOI: https://doi.org/10.1007/10720327_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67628-7
Online ISBN: 978-3-540-45148-8
eBook Packages: Springer Book Archive