Incremental Tabling in Support of Knowledge Representation and Reasoning

Resolution-based Knowledge Representation and Reasoning (KRR) systems, such as Flora-2, Silk or Ergo, can scale to tens or hundreds of millions of facts, while supporting reasoning that includes Hilog, inheritance, defeasibility theories, and equality theories. These systems handle the termination and complexity issues that arise from the use of these features by a heavy use of tabled resolution. In fact, such systems table by default all rules defined by users, unless they are simple facts. Performing dynamic updates within such systems is nearly impossible unless the tables themselves can be made to react to changes. Incremental tabling as first implemented in XSB (Saha 2006) partially addressed this problem, but the implementation was limited in scope and not always easy to use. In this paper, we introduce transparent incremental tabling which at the semantic level supports updates in the 3-valued well-founded semantics, while guaranteeing full consistency of all tabled queries. Transparent incremental tabling also has significant performance improvements over previous implementations, including lazy recomputation, and control over the dependency structures used to determine how tables are updated.

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

[2]  C. R. Ramakrishnan,et al.  A Local Algorithm for Incremental Evaluation of Tabled Logic Programs , 2006, ICLP.

[3]  Michael Kifer,et al.  FLORA-2: User's Manual Version 0.95 (Androcymbium) , 2008 .

[4]  Konstantinos Sagonas,et al.  An abstract machine for efficiently computing queries to well-founded models , 2000, J. Log. Program..

[5]  David Scott Warren,et al.  Tabled evaluation with delaying for general logic programs , 1996, JACM.

[6]  Lee Naish,et al.  Under Consideration for Publication in Theory and Practice of Logic Programming a Three-valued Semantics for Logic Programmers , 2004 .

[7]  Benjamin N. Grosof,et al.  Radial Restraint: A Semantically Clean Approach to Bounded Rationality for Logic Programs , 2013, AAAI.

[8]  Neng-Fa Zhou,et al.  Efficient tabling of structured data with enhanced hash-consing , 2012, Theory Pract. Log. Program..

[9]  V. S. Costa,et al.  The YAP Prolog system , 2011, Theory and Practice of Logic Programming.

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

[11]  J. W. LLOYD,et al.  Making Prolog more Expressive , 1984, J. Log. Program..

[12]  C. R. Ramakrishnan,et al.  XcelLog: a deductive spreadsheet system , 2007, The Knowledge Engineering Review.

[13]  David Scott Warren,et al.  XSB: Extending Prolog with Tabled Logic Programming , 2010, Theory and Practice of Logic Programming.

[14]  Peter J. Stuckey,et al.  Incremental analysis of constraint logic programs , 2000, TOPL.

[15]  C. R. Ramakrishnan,et al.  Incremental and demand-driven points-to analysis using logic programming , 2005, PPDP.

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

[17]  Manuel V. Hermenegildo,et al.  An overview of Ciao and its design philosophy , 2011, Theory and Practice of Logic Programming.

[18]  Fabrizio Riguzzi,et al.  Well–definedness and efficient inference for probabilistic logic programming under the distribution semantics , 2011, Theory and Practice of Logic Programming.

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