Skip to main content

Clp(B): Combining simplicity and efficiency in boolean Constraint solving

  • Conference paper
  • First Online:
Programming Language Implementation and Logic Programming (PLILP 1994)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 844))

Abstract

We present the design and the implementation of clp(B): a boolean constraint solver in the Constraint Logic Programming paradigm. This solver is based on local propagation methods and follows the “glassbox” approach of compiling high-level constraints into primitive low-level ones. We detail its integration into the WAM showing that the necessary extension is truly minimal since only four new instructions are added. The resulting solver is around an order of magnitude faster than other existing boolean solvers.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. H. Aït-Kaci. Warren's Abstract Machine, A Tutorial Reconstruction. Logic Programming Series, MIT Press, Cambridge, MA, 1991.

    Google Scholar 

  2. H. Bennaceur and G. Plateau. FASTLI: An Exact Algorithm for the Constraint Satisfaction Problem: Application to Logical Inference. Research Report, LIPN, Universite Paris-Nord, Paris, France, 1991.

    Google Scholar 

  3. H. Bennaceur and G. Plateau. Logical Inference Problem in Variables 0/1. in IFORS 93 Conference, Lisboa, Portugal, 1993.

    Google Scholar 

  4. P. Codognet and D. Diaz. Boolean Constraint Solving Using clp(FD). In International Logic Programming Symposium, Vancouver, British Columbia, Canada, MIT Press 1993.

    Google Scholar 

  5. P. Codognet and D. Diaz. Compiling Constraint in clp(FD). draft, 1993.

    Google Scholar 

  6. P. Codognet and D. Diaz. Local Propagation Methods for Solving Boolean Constraints in Constraint Logic Programming draft, 1993.

    Google Scholar 

  7. A. Colmerauer. An introduction to PrologIII. Communications of the ACM, no. 28 (4), 1990, pp 412–418.

    Google Scholar 

  8. M. M. Corsini and A. Rauzy. CLP(B): Do it yourself. In GULP'93, Italian Conference on Logic Programming, Gizzeria Lido, Italy, 1993.

    Google Scholar 

  9. D. Diaz and P. Codognet. A Minimal Extension of the WAM for clp(FD). In 10th International Conference on Logic Programming, Budapest, Hungary, The MIT Press 1993.

    Google Scholar 

  10. J. Jaffar and J-L. Lassez. Constraint Logic Programming. In Principles Of Programming Languages, Munich, Germany, January 1987.

    Google Scholar 

  11. A. K. Mackworth. Consistency in Networks of Relations. Artificial Intelligence 8 (1977), pp 99–118.

    Google Scholar 

  12. J-L. Massat. Using Local Consistency Techniques to Solve Boolean Constraints. In Constraint Logic Programming: elected Research, A. Colmerauer and F. Benhamou (Eds.). The MIT Press, 1993.

    Google Scholar 

  13. A. Rauzy. Adia. Technical report, LaBRI, Université Bordeaux I, 1991.

    Google Scholar 

  14. A. Rauzy. Using Enumerative Methods for Boolean Unification. In Constraint Logic Programming: Selected Research, A. Colmerauer and F. Benhamou (Eds.). The MIT Press, 1993.

    Google Scholar 

  15. A. Rauzy. Some Practical Results on the SAT Problem, Draft, 1993.

    Google Scholar 

  16. V. Saraswat. The Category of Constraint Systems is Cartesian-Closed. In Logic In Computer Science, IEEE Press 1992.

    Google Scholar 

  17. D. S. Scott Domains for Denotational Semantics. In ICALP'82, International Colloquium on Automata Languages and Programming, 1982.

    Google Scholar 

  18. T. E. Uribe and M. E. Stickel Ordered Binary Decision Diagrams and the Davis-Putnam Procedure. In 1st International Conference on Constraints in Computational Logics, Munich, Germany, 1994.

    Google Scholar 

  19. P. Van Hentenryck. Constraint Satisfaction in Logic Programming. Logic Programming Series, The MIT Press, Cambridge, MA, 1989.

    Google Scholar 

  20. P. Van Hentenryck, V. Saraswat and Y. Deville. Constraint Processing in cc(FD). Draft, 1991.

    Google Scholar 

  21. P. Van Hentenryck, H. Simonis and M. Dincbas. Constraint Satisfaction Using Constraint Logic Programming. Artificial Intelligence no 58, pp 113–159, 1992.

    Google Scholar 

  22. D. H. D. Warren. An Abstract Prolog Instruction Set. Technical Report 309, SRI International, Oct. 1983.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Manuel Hermenegildo Jaan Penjam

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Codognet, P., Diaz, D. (1994). Clp(B): Combining simplicity and efficiency in boolean Constraint solving. In: Hermenegildo, M., Penjam, J. (eds) Programming Language Implementation and Logic Programming. PLILP 1994. Lecture Notes in Computer Science, vol 844. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58402-1_18

Download citation

  • DOI: https://doi.org/10.1007/3-540-58402-1_18

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-58402-5

  • Online ISBN: 978-3-540-48695-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics