Dynamic Mixed-Strategy Evaluation of Tabled Logic Programs

  • Ricardo Rocha
  • Fernando Silva
  • Vítor Santos Costa
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3668)


Tabling is an implementation technique that improves the declarativeness and expressiveness of Prolog by reusing answers to subgoals. During tabled execution, several decisions have to be made. These are determined by the scheduling strategy. Whereas a strategy can achieve very good performance for certain applications, for others it might add overheads and even lead to unacceptable inefficiency. The ability of using multiple strategies within the same evaluation can be a means of achieving the best possible performance. In this work, we present how the YapTab system was designed to support dynamic mixed-strategy evaluation of the two most successful tabling scheduling strategies: batched scheduling and local scheduling.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Sagonas, K., Swift, T.: An Abstract Machine for Tabled Execution of Fixed-Order Stratified Logic Programs. ACM Transactions on Programming Languages and Systems 20, 586–634 (1998)CrossRefGoogle Scholar
  2. 2.
    Rocha, R., Silva, F., Costa, V.S.: YapTab: A Tabling Engine Designed to Support Parallelism. In: Conference on Tabulation in Parsing and Deduction, pp. 77–87 (2000)Google Scholar
  3. 3.
    Demoen, B., Sagonas, K.: CHAT: The Copy-Hybrid Approach to Tabling. Future Generation Computer Systems 16, 809–830 (2000)CrossRefGoogle Scholar
  4. 4.
    Guo, H.-F., Gupta, G.: A Simple Scheme for Implementing Tabled Logic Programming Systems Based on Dynamic Reordering of Alternatives. In: Codognet, P. (ed.) ICLP 2001. LNCS, vol. 2237, pp. 181–196. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  5. 5.
    Zhou, N.F., Shen, Y.D., Yuan, L.Y., You, J.H.: Implementation of a Linear Tabling Mechanism. Journal of Functional and Logic Programming 2001 (2001)Google Scholar
  6. 6.
    Sagonas, K., Swift, T., Warren, D.S.: XSB as an Efficient Deductive Database Engine. In: ACM SIGMOD International Conference on the Management of Data, pp. 442–453. ACM Press, New York (1994)Google Scholar
  7. 7.
    Freire, J., Swift, T., Warren, D.S.: Beyond Depth-First: Improving Tabled Logic Programs through Alternative Scheduling Strategies. In: Kuchen, H., Swierstra, S.D. (eds.) PLILP 1996. LNCS, vol. 1140, pp. 243–258. Springer, Heidelberg (1996)Google Scholar
  8. 8.
    Freire, J., Swift, T., Warren, D.S.: Taking I/O seriously: Resolution reconsidered for disk. In: International Conference on Logic Programming, pp. 198–212 (1997)Google Scholar
  9. 9.
    Freire, J.: Scheduling Strategies for Evaluation of Recursive Queries over Memory and Disk-Resident Data. PhD thesis, State University of New York (1997)Google Scholar
  10. 10.
    Freire, J., Warren, D.S.: Combining Scheduling Strategies in Tabled Evaluation. In: Workshop on Parallelism and Implementation Technology for Logic Programming (1997)Google Scholar
  11. 11.
    Chen, W., Swift, T., Warren, D.S.: Efficient Top-Down Computation of Queries under the Well-Founded Semantics. Journal of Logic Programming 24, 161–199 (1995)zbMATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Ramakrishnan, I.V., Rao, P., Sagonas, K., Swift, T., Warren, D.S.: Efficient Access Mechanisms for Tabled Logic Programs. Journal of Logic Programming 38, 31–54 (1999)zbMATHCrossRefGoogle Scholar
  13. 13.
    Muggleton, S.: Inductive Logic Programming. In: Conference on Algorithmic Learning Theory, Ohmsma, pp. 43–62 (1990)Google Scholar
  14. 14.
    Fonseca, N., Camacho, R., Silva, F., Santos Costa, V.: Induction with April: A Preliminary Report. Technical Report DCC-2003-02, Department of Computer Science, University of Porto (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Ricardo Rocha
    • 1
  • Fernando Silva
    • 1
  • Vítor Santos Costa
    • 2
  1. 1.DCC-FC & LIACCUniversity of PortoPortugal
  2. 2.COPPE Systems & LIACCFederal University of Rio de JaneiroBrazil

Personalised recommendations