Skip to main content

Making exhaustive search programs deterministic

  • Session 3a: Concurrent Logic Languages
  • Conference paper
  • First Online:
Third International Conference on Logic Programming (ICLP 1986)

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

Included in the following conference series:

Abstract

This paper presents a technique for compiling a Horn-clause program intended for exhaustive search into a GHC (Guarded Horn Clauses) program. The technique can be viewed also as a transformation technique for Prolog programs which compiles away the ‘bagof’ primitive and non-determinate bindings. The class of programs to which our technique is applicable is shown with a static checking algorithm; it is nontrivial and could be extended. An experiment on a compiler-based Prolog system showed that our technique improved the efficiency of exhaustive search by 6 times for a permutation generator program. This compilation technique is important also in that it exploits the AND-parallelism of GHC for parallel search.

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

  • Bowen, D. L. (ed.), Byrd, L., Pereira, F. C. N., Pereira, L. M. and Warren, D. H. D. [1983] DECsystem-10 Prolog User's Manual. Dept. of Artificial Intelligence, Univ. of Edinburgh.

    Google Scholar 

  • Carlsson, M. [1984] On Implementing Prolog in Functional Programming. In Proc. 1984 Int. Symp. on Logic Programming, IEEE Computer Society, pp. 154–159.

    Google Scholar 

  • Ciepielewski, A. and Haridi, S. [1983] A Formal Model for OR-Parallel Execution of Logic Programs. In Proc. IFIP '83, Mason, R. E. A. (ed.), Elsevier Science Publishers B. V., Amsterdam, pp. 299–305.

    Google Scholar 

  • Clark, K. L. and Gregory, S. [1984a] PARLOG: Parallel Programming in Logic. Research Report DOC 84/4, Dept. of Computing, Imperial College of Science and Technology, London.

    Google Scholar 

  • Clark, K. L. and Gregory, S. [1984b] Notes on the Implementation of PARLOG. Research Report DOC 84/16, Dept. of Computing, Imperial College of Science and Technology, London, 1984. Also in J. of Logic Programming, Vol. 2, No. 1 (1985), pp. 17–42.

    Google Scholar 

  • Hirakawa, H., Chikayama, T. and Furukawa, K. [1984] Eager and Lazy Enumerations in Concurrent Prolog. In Proc. Second Int. Logic Programming Conf., Uppsala Univ., Sweden, pp. 89–100.

    Google Scholar 

  • Lloyd, J. W. [1984] Foundations of Logic Programming. Springer-Verlag, Berlin Heidelberg New York Tokyo.

    Google Scholar 

  • Naish, L. [1985] All Solutions Predicates in Prolog. In Proc. 1985 Symp. on Logic Programming, IEEE Computer Society, pp. 73–77.

    Google Scholar 

  • Shapiro, E. Y. [1983] A Subset of Concurrent Prolog and Its Interpreter. Tech. Report TR-003, Institute for New Generation Computer Technology, Tokyo.

    Google Scholar 

  • Ueda, K. [1985] Guarded Horn Clauses. ICOT Tech. Report TR-103, Institute for New Generation Computer Technology. Also to appear in Lecture Notes in Computer Science, Springer-Verlag, Berlin Heidelberg (1986).

    Google Scholar 

  • Ueda, K. [1986] Guarded Horn Clauses. Doctoral Thesis, Information Engineering Course, Faculty of Engineering, Univ. of Tokyo.

    Google Scholar 

  • Ueda, K. and Chikayama, T. [1985] Concurrent Prolog Compiler on Top of Prolog. In Proc. 1985 Symp. on Logic Programming, IEEE Computer Society, pp. 119–126.

    Google Scholar 

  • Warren, D. H. D. [1982] Higher-order extensions to PROLOG: are they needed? In Machine Intelligence 10, Hayes, J. E., Mitchie, D. and Pao, Y.-H. (ed.), Ellis Horwood, Chichester, England, pp. 441–454.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Ehud Shapiro

Rights and permissions

Reprints and permissions

Copyright information

© 1986 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ueda, K. (1986). Making exhaustive search programs deterministic. In: Shapiro, E. (eds) Third International Conference on Logic Programming. ICLP 1986. Lecture Notes in Computer Science, vol 225. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-16492-8_81

Download citation

  • DOI: https://doi.org/10.1007/3-540-16492-8_81

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-16492-0

  • Online ISBN: 978-3-540-39831-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics