Dynamic Mixed-Strategy Evaluation of Tabled Logic Programs

Ricardo Rocha, Fernando Silva and VĂ­tor Santos Costa

October 2005


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.


  author =    {R. Rocha and F. Silva and V. Santos Costa},
  title =     {{Dynamic Mixed-Strategy Evaluation of Tabled Logic Programs}},
  booktitle = {Proceedings of the 21th International Conference on Logic Programming (ICLP 2005)},
  pages =     {250--264},
  number =    {3668},
  series =    {LNCS},
  publisher = {Springer},
  editor =    {M. Gabbrielli and G. Gupta},
  month =     {October},
  year =      {2005},
  address =   {Sitges, Spain},

Download Paper

PDF file

Download Slides

PDF file