Skip to main content

Intelligent Backtracking in And-Parallel Prolog

  • Conference paper
Declarative Programming, Sasbachwalden 1991

Part of the book series: Workshops in Computing ((WORKSHOPS COMP.))

  • 37 Accesses

Abstract

In this paper we present an intelligent backtracking scheme for the independent and-parallel execution of Prolog. It is implemented for a distributed memory machine where an extended Warren Abstract Machine [1] is placed on each processor and can receive subgoals and spawn further subgoals to other processors.

The chosen scheme for the communication of bindings makes available additional run-time information which is incorporated into the execution. Our executor [2,3,4,5] is most notably derived from the execution schemes of Hermenegildo [6,7,8,9] and Lin [10] although both these other schemes are implemented for shared memory machines.

We present an incremental algorithm to support clause level intelligent backtracking. In our scheme intelligent backtracking will both select subgoal(s) attributable to the failure and prevent unnecessary re-execution of subgoals independent of the failure. We observe that a portion of the intelligent backtracking can be applied during forward execution and we introduce a notion of ‘intelligent cutting’.

The effectiveness of our execution scheme and intelligent backtracking is demonstrated by an implementation based on an array of transputer processors.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. D. H. D. Warren, “An abstract prolog instruction set,” Tech. Rep. 309, Artificial Intelligence Center, SRI International, (1983).

    Google Scholar 

  2. A. Verden, A. King, and W. Hall, “An implementation of prolog for the inmos t800 transputer,” in Proceedings of the 1st North American Transputer User Group, ( Salt Lake City, Utah, USA ), (1989).

    Google Scholar 

  3. A. R. Verden and H. Glaser, “Independent and-parallel prolog for distributed memory architectures,” Tech. Rep. 90–17, Dept. of Electronics and Computer Science, University of Southampton, Southampton, England, (1990).

    Google Scholar 

  4. A. R. Verden and H. Glaser, An And-Parallel Prolog Executor, In Distributed Prolog, ed P. Kacsuk and M. J. Wise. John Wiley and Sons, April (1991).

    Google Scholar 

  5. A. R. Verden, And—Parallel Implementation of Prolog On Distributed Memory Machines. PhD thesis, University of Southampton, April (1991).

    Google Scholar 

  6. M. Hermenegildo and R. Nasr, “Efficient management of backtracking in and-parallelism,” in Proceedings of the Third International Conference on Logic Programming, (London), (1986).

    Google Scholar 

  7. M. Hermenegildo, “An abstract machine for restricted and-parallel execution of logic,” in Proceedings of the Third on International Conference on Logic Programming, (London), (1986).

    Google Scholar 

  8. M. Hermenegildo and E Rossi, “Non-strict independent and-parallelism,” in Proceedings of the 1990 International Conference on Logic Programming, (1990).

    Google Scholar 

  9. M. Hermenegildo and K. Green, “and-prolog and its performance: Exploiting independent and-parallelism,” in Proceedings of the 1990 International Conference on Logic Programming, (1990).

    Google Scholar 

  10. Y. J. Lin, A Parallel Implementation of Logic Programs. PhD thesis, University of Texas at Austin, (1988).

    Google Scholar 

  11. D. DeGroot, “Restricted and-parallelism and side effects,” in Proceedings of the 1987 Symposium on Logic Programming, vol. I, pp. 80–89, (1987).

    Google Scholar 

  12. Z. Hwang and S. Hu, “A compiling approach for exploiting and-parallelism in parallel logic programming systems,” in Proceedings of PARLE, vol. II, pp. 335–345, (1989).

    Google Scholar 

  13. H. Xia, Analyzing Data Dependencies, Detecting AND-Parallelism and Optimizing Backtracking in Prolog Programs. PhD thesis, University of Berlin, (1989).

    Google Scholar 

  14. J. Conery, The AND-OR Process Model for Parallel Interpretation of Logic Programs. PhD thesis, U. C. Urvine, (1983).

    Google Scholar 

  15. M. Surridge, “The eulerian channel configuration language and message-passing system,” tech. rep., S.E.R.C./D.T.I. Transputer Initiative, (1989). Report for E.M.R. Contract N2A–8R-1756 (Phase II).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1992 Springer-Verlag London

About this paper

Cite this paper

Verden, A., Glaser, H. (1992). Intelligent Backtracking in And-Parallel Prolog. In: Darlington, J., Dietrich, R. (eds) Declarative Programming, Sasbachwalden 1991. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3794-8_8

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-3794-8_8

  • Publisher Name: Springer, London

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

  • Online ISBN: 978-1-4471-3794-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics