Advertisement

An intelligent backtracking algorithm for parallel execution of logic programs

  • Yow-Jian Lin
  • Vipin Kumar
  • Clement Leung
Session 1a: Parallel Implementations
Part of the Lecture Notes in Computer Science book series (LNCS, volume 225)

Abstract

In this paper we present a simple but efficient backtracking scheme which works when AND-parallelism is exploited in a logic program. The scheme is well suited for implementation on a parallel hardware. We show that the backtracking scheme presented by Conery and Kibler in the context of AND/OR process model is incorrect, i.e., in some cases it may miss solutions while performing backtracking. Even if no AND-parallelism is exploited (i.e., all literals are solved sequentially), our scheme is more efficient than the "naive" depth-first backtracking strategy used by Prolog because our scheme makes use of the dependencies between literals in a clause. Chang and Despain have recently presented a backtracking scheme which also makes use of the dependencies between literals. We show that our scheme is more efficient than their scheme in the sense that our scheme does less backtracking.

Keywords

Logic Program Execution Algorithm Execution Mode Parallel Hardware Failure Level 
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. 1.
    Bruynooghe, M. and L. M. Pereira, “Deduction Revision by Intelligent Backtracking,” in Implementations of Prolog, ed. J. A. Campbell, pp. 194–215, Ellis Horwood Limited, 1984.Google Scholar
  2. 2.
    Chang, J.-H. and A.M. Despain, “Semi-Intelligent Backtracking of Prolog Based on a Static Data Dependency Analysis,” Proceedings of IEEE Symposium on Logic Programming, pp. 10–21, August, 1985.Google Scholar
  3. 3.
    Conery, J.S., “The AND/OR Process Model for Parallel Interpretation of Logic Programs,” Ph.D. Thesis, (Technical Report 204), University of California, Irvine, California, June, 1983.Google Scholar
  4. 4.
    Conery, J. S. and D. F. Kibler, “Parallel Interpretation of Logic Programs,” Proceedings of the Conference on Functional Programming Languages and Computer Architecture, pp. 163–170, ACM, October, 1981.Google Scholar
  5. 5.
    Conery, J.S. and D.F. Kibler, “AND Parallelism and Nondeterminism in Logic Programs,” New Generation Computing, vol.3(1985), pp. 43–70, OHMSHA,LTD. and Springer-Verlag, 1985.Google Scholar
  6. 6.
    Cox, P. T., “Finding Backtrack Points for Intelligent Backtracking,” in Implementations of Prolog, ed. J. A. Campbell, pp. 216–233, Ellis Horwood Limited, 1984.Google Scholar
  7. 7.
    Kale, L.V. and D.S. Warren, “A Class of Architectures for a Prolog Machine,” Proceedings of the Second International Logic Programming Conference, pp. 171–182, Uppsala, Sweden, July, 1984.Google Scholar
  8. 8.
    Kasif, S. and J. Minker, “The Intelligent Channel: A Scheme for Result Sharing in Logic Programs,” Proceedings of the 9th IJCAI, pp. 29–31, Los Angeles, August, 1985.Google Scholar
  9. 9.
    Lin, Y.J. and V. Kumar, “A Decentralized Model for Executing Logic Programs in Parallel,” AI Lab TR, The University of Texas at Austin, Austin, Texas, April, 1986.Google Scholar
  10. 10.
    Lin, Y.J., “A Parallel Implementation of Logic Programs,” Ph.D. dissertation, The University of Texas at Austin, Austin, Texas, in preparation.Google Scholar
  11. 11.
    Pereira, L. M. and A. Porto, “Selective Backtracking,” in Logic Programming, ed. K. L. Clark and S.-A. Tarnlund, pp. 107–114, Academic Press, 1982.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1986

Authors and Affiliations

  • Yow-Jian Lin
    • 1
  • Vipin Kumar
    • 1
  • Clement Leung
    • 1
  1. 1.Artifical Intelligence Laboratory Department of Computer SciencesThe University of Texas at AustinAustin

Personalised recommendations