On Improving the Efficiency and Robustness of Table Storage Mechanisms for Tabled Evaluation

Most of the recent proposals in tabling technology were designed as a means to improve some practical deficiencies of current tabling execution models that reduce their applicability in particular applications. The discussion we address in this paper was also motivated by practical deficiencies we encountered, in particular, on the table storage mechanisms used for tabling support. To improve such mechanisms, we propose two new implementation techniques that make tabling models more efficient when dealing with incomplete tables and more robust when recovering memory from the table space. To validate our proposals, we have implemented them in the YapTab tabling system as an elegant extension of the original design.

[1]  Bart Demoen,et al.  CHAT: the copy-hybrid approach to tabling , 2000, Future Gener. Comput. Syst..

[2]  Ricardo Rocha,et al.  Dynamic Mixed-Strategy Evaluation of Tabled Logic Programs , 2005, ICLP.

[3]  Peter J. Stuckey,et al.  Just enough tabling , 2004, PPDP '04.

[4]  David Scott Warren,et al.  Efficient Top-Down Computation of Queries under the Well-Founded Semantics , 1995, J. Log. Program..

[5]  Ricardo Rocha,et al.  YapTab: A Tabling Engine Designed to Support Parallelism , 2000 .

[6]  Li-Yan Yuan,et al.  Implementation of a Linear Tabling Mechanism , 2001, J. Funct. Log. Program..

[7]  K. A. Ross,et al.  Tabled Evaluation with Delaying for General Logic Programs , 1996 .

[8]  I. V. Ramakrishnan,et al.  Efficient Access Mechanisms for Tabled Logic Programs , 1999, J. Log. Program..

[9]  Konstantinos Sagonas,et al.  An abstract machine for tabled execution of fixed-order stratified logic programs , 1998, TOPL.

[10]  Bart Demoen,et al.  Improving the Efficiency of Inductive Logic Programming Through the Use of Query Packs , 2011, J. Artif. Intell. Res..

[11]  Gopal Gupta,et al.  A Simple Scheme for Implementing Tabled Logic Programming Systems Based on Dynamic Reordering of Alternatives , 2001, ICLP.

[12]  Nuno A. Fonseca,et al.  April - An Inductive Logic Programming System , 2006, JELIA.

[13]  C. R. Ramakrishnan,et al.  Incremental Evaluation of Tabled Logic Programs , 2003, ICLP.

[14]  C. R. Ramakrishnan,et al.  Symbolic Support Graph: A Space Efficient Data Structure for Incremental Tabled Evaluation , 2005, ICLP.

[15]  Nuno A. Fonseca,et al.  On Applying Tabling to Inductive Logic Programming , 2005, ECML.

[16]  Konstantinos Sagonas,et al.  Tabling in Mercury: Design and Implementation , 2006, PADL.

[17]  Hisao Tamaki,et al.  OLD Resolution with Tabulation , 1986, ICLP.

[18]  Ricardo Rocha,et al.  On applying or-parallelism and tabling to logic programs , 2003, Theory and Practice of Logic Programming.