Advertisement

Making exhaustive search programs deterministic

  • Kazunori Ueda
Session 3a: Concurrent Logic Languages
Part of the Lecture Notes in Computer Science book series (LNCS, volume 225)

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.

Keywords

Logic Program Unit Clause Prolog Program Input Argument Moded Predicate 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. Lloyd, J. W. [1984] Foundations of Logic Programming. Springer-Verlag, Berlin Heidelberg New York Tokyo.Google Scholar
  8. Naish, L. [1985] All Solutions Predicates in Prolog. In Proc. 1985 Symp. on Logic Programming, IEEE Computer Society, pp. 73–77.Google Scholar
  9. 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
  10. 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
  11. Ueda, K. [1986] Guarded Horn Clauses. Doctoral Thesis, Information Engineering Course, Faculty of Engineering, Univ. of Tokyo.Google Scholar
  12. 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
  13. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 1986

Authors and Affiliations

  • Kazunori Ueda
    • 1
  1. 1.ICOT Research Center Institute for New Generation Computer TechnologyTokyoJapan

Personalised recommendations