Selective backtracking for logic programs
We present a selective backtracking method for Horn clause programs, as applied to Prolog (2)(6)(11)(12), a programming language based on first-order predicate calculus (3)(4), developed at the university of Marseille (10).
This method is based on the general method expounded in (7) for backtracking intelligently in AND/OR trees. It consists, essentially, in avoiding backtracking to any goal whose alternative solutions cannot possibly prevent the repetition of the failures which caused backtracking.
This is a renewed version of an earlier report (8), which was spurred by the work of Bruynooghe (1).
In (9) we present an implementation of a selective backtracking interpreter using the methods discussed in this paper.
KeywordsLogic Program Horn Clause Line Point Goal Variable Parent Goal
Unable to display preview. Download preview PDF.
- (1).Bruynooghe, M. Intelligent backtracking for Horn clause logic programs Colloquium on Mathematical Logic in Programming Salgotarjan, Hungary 1978Google Scholar
- (2).Coelho, H.; Cotta, J.C.; Pereira, L.M. How to solve it with Prolog Laboratório Nacional de Engenharia Civil, Lisboa 1979Google Scholar
- (3).Kowalski, R.A. Predicate logic as a programming language IFIP 74, pp 569–574, North-Holland Publ. Co. 1974Google Scholar
- (4).Kowalski, R.A. Logic for problem solving North-Holland Publ. Co. 1980Google Scholar
- (5).Loveland, D. Automated theorem proving: a logical basis North-Holland Publ. Co. 1978Google Scholar
- (6).Pereira, L.M.; Pereira, F.C.N.; Warren, D.H.D. User's guide to DECsystem-10 Prolog Laboratório Nacional de Engenharia Civil, Lisboa 1978Google Scholar
- (7).Pereira, L.M. Backtracking intelligently in AND/OR trees Departamento de Informática Universidade Nova de Lisboa, Lisboa 1979Google Scholar
- (8).Pereira, L.M.; Porto, A. Intelligent backtracking and sidetracking in Horn clause programs — the theory Departamento de Informática Universidade Nova de Lisboa, Lisboa 1979Google Scholar
- (9).Pereira, L.M.; Porto, A. An interpreter of logic programs using selective backtracking Paper submitted to the Workshop on Logic Programming, organized by the von Neumann Computer Society, Budapest July 1980Google Scholar
- (10).Roussel, P. Prolog: manuel de réfèrence et d'utilisation Groupe d'Intelligence Artificielle, Université d'Aix-Marseille II 1975Google Scholar
- (11).Warren, D.H.D. Implementing Prolog, Parts I and II Department of Artificial Intelligence Edinburgh University 1977Google Scholar
- (12).Warren, D.H.D.; Pereira, L.M.; Pereira, F.C.N. Prolog, the language and its implementation compared with Lisp ACM Symposium on Artificial Intelligence and Programming Languages, Sigart Newsletter no. 64, and Sigplan Notices vol. 12, no. 8, August 1977Google Scholar