A Data-Dependency-Based Intelligent Backtracking Scheme for Prolog

Abstract This paper presents a scheme for intelligent backtracking in PROLOG programs. Rather than doing the analysis of unification failures, this scheme chooses backtrack points by doing the analysis of data dependency between literals. The other data-dependency-based methods previously developed cannot be easily incorporated in Warren's abstract machine, and are not able to perform across-the-clause backtracking intelligently. Our scheme overcomes all these defects. For many problems this scheme is just as effective as intelligent backtracking schemes based upon (more accurate) analysis of unification failure, and yet incurs small space and time over- head. To demonstrate the usefulness of our scheme, we have modified a simulator of Warren's abstract machine to incorporate our intelligent backtracking scheme, and have evaluated its performance on a number of problems.

[1]  Vipin Kumar,et al.  An Intelligent Backtracking Algorithm for Parallel Execution of Logic Programs , 1986, ICLP.

[2]  Seif Haridi,et al.  A Formal Model for Or-Parallel Execution of Logic Programs , 1983, IFIP Congress.

[3]  Philip T. Cox,et al.  Deduction Plans: A Basis for Intelligent Backtracking , 1981, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[4]  Stan Matwin,et al.  Intelligent Backtracking in Plan-Based Deduction , 1985, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[5]  Maurice Bruynooghe Intelligent backtracking for an interpreter of Horn clause logic programs , 1978 .

[6]  Jon Doyle,et al.  A Truth Maintenance System , 1979, Artif. Intell..

[7]  Yale N. Patt,et al.  Performance studies of a Prolog machine architecture , 1985, ISCA '85.

[8]  Manuel V. Hermenegildo,et al.  Efficient Management of Backtracking in AND-Parallelism , 1986, ICLP.

[9]  Manuel V. Hermenegildo,et al.  An Abstract Machine for Restricted AND-Parallel Execution of Logic Programs , 1986, ICLP.

[10]  Yale N. Patt,et al.  Design decisions influencing the microarchitecture for a Prolog machine , 1984, MICRO 17.

[11]  Doug DeGroot,et al.  AND-Parallelism of Logic Programs Based on a Static Data Dependency Analysis , 1985, COMPCON.

[12]  Naoyuki Tamura,et al.  Implementing Parallel Prolog on a Multiprocessor Machine , 1984, International Conference on Spoken Language Processing.

[13]  Luís Moniz Pereira,et al.  Deduction Revision by Intelligent Backtracking , 1984, Implementations of Prolog.

[14]  Rina Dechter,et al.  Learning While Searching in Constraint-Satisfaction-Problems , 1986, AAAI.

[15]  Vipin Kumar,et al.  An Intelligent Backtracking Scheme for Prolog , 1987, SLP.

[16]  Doug DeGroot,et al.  Restricted AND-Parallelism , 1984, FGCS.

[17]  Vipin Kumar,et al.  A Parallel Execution Scheme for Exploiting and Parallelism of Logic Programs , 1986, ICPP.

[18]  David A. Wolfram Intractable Unifiability Problems and Backtracking , 1986, ICLP.