Abstract
Tabled logic programming (LP) systems have been applied to elegantly and quickly solving very complex problems (e.g., model checking). However, techniquescurren tly employed for incorporating tabling in an existing LP system are quite complex and require considerable change to the LP system. We present a simple technique for incorporating tabling in existing LP systems based on dynamically reordering clauses containing variant callsat run-time. Our simple technique allows tabled evaluation to be performed with a single SLD tree and without the use of complex operations such as freezing of stacks and heap. It can be incorporated in an existing logic programming system with a small amount of effort. Our scheme also facilitates exploitation of parallelism from tabled LP systems. Results of incorporating our scheme in the commercial ALS Prolog system are reported.
Keywords
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
K. Bowen, C. Houpt, et al. ALS Prolog System. http://www.als.com.
W. Chen and D. S. Warren. Tabled Evaluation with Delaying for General Logic Programs. JACM, 43(1):20–74, January 1996.
W. Chen, T. Swift, and D. Warren. Efficient top-down computation of queries under the well-founded semantics. J. Logic Programming, 24(3):161–199.
S. Das. Deductive Databases and Logic Programming. Addison Wesley. 1992.
B. Demoen and K. Sagonas. CHAT: the Copy-Hybrid Approach to Tabling. PADL’ 99, Springer Verlag LNCS 1551, pages106–121.
J. Freire, R. Hu, T. Swift, D. Warren. Exploiting Parallelism in Tabled Evaluations. PLILP 1995: 115–132. LNCS 982.
J. Freire, T. Swift, D. S. Warren. Beyond Depth-First Strategies: Improving Tabled Logic Programs through Alternative Scheduling. JFLP 1998(3). MIT Press.
G. Gupta, E. Pontelli. Stack-splitting: A Simple Technique for Implementing Orparallelism in Logic Programming Systems. In Proc.ICLP, 1999. pp. 290–305.
Hai-Feng Guo. High Performance Logic Programming. New Mexico State University. Ph.D. thesis. Oct. 2000.
H-F Guo, G. Gupta. A Simple Scheme for Implementing Tabled LP Systems. UT Dallas Tech. Rep 02-01. 2001.
J.W. Lloyd. Foundations of Logic Programming. Springer-Verlag, 1987.
E. Pontelli, G. Gupta. On the Duality between Or-parallelism and And-parallelism. In EuroPar’ 95, Springer LNCS 966, pp. 43–54.
C. R. Ramakrishnan, S. Dawson, and D. Warren. Practical Program Analysis Using General Purpose Logic Programming Systems. In Proc.A CM PLDI. 1996.
P. Rao, I. V. Ramakrishnan, et al. Efficient table access mechanisms for logic programs. Journal of Logic Programming, 38(1):31–54, Jan. 1999.
Ricardo Rocha, Fernando M. A. Silva, Vítor Santos Costa. Or-Parallelism within Tabling. PADL 1999: 137–151. Springer LNCS 1551.
K. Sagonasand T. Swift. An abstract machine for tabled execution of fixed-order stratified logic programs. ACM TOPLAS, 20(3):586–635, May 1998.
Hisao Tamaki, T. Sato. OLD Resolution with Tabulation. In ICLP 1986. pp. 84–98.
T. Swift and David S. Warren. An Abstract Machine for SLG Resolution: Definite Programs. SLP 1994: 633–652.
K. Villaverde, H-F. Guo, E. Pontelli, G. Gupta. Incremental Stack Splitting and Scheduling in the Or-parallel PALS System. Int’l Conf. on Par. Proc. 2001.
Neng-Fa Zhou, et al. Implementation of a Linear Tabling Mechanism. PADL 2000: 109–123. Springer LNCS 1753.
V. Santos Costa et al. Andorra-I: A Parallel Prolog system that transparently exploitsb oth And-and Or-Parallelism. Proc.A CM PPoPP, Apr.’ 91, pp. 83–93.
D. S. Warren. The XWAM: A machine that integratesProlog and deductive database query evaluation. TR 89/25, SUNY at Stony Brook, 1989.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Guo, HF., Gupta, G. (2001). A Simple Scheme for Implementing Tabled Logic Programming Systems Based on Dynamic Reordering of Alternatives. In: Codognet, P. (eds) Logic Programming. ICLP 2001. Lecture Notes in Computer Science, vol 2237. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45635-X_20
Download citation
DOI: https://doi.org/10.1007/3-540-45635-X_20
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42935-7
Online ISBN: 978-3-540-45635-3
eBook Packages: Springer Book Archive