On Applying Deductive Databases to Inductive Logic Programming: a Performance Study

Tiago Soares, Michel Ferreira, Ricardo Rocha and Nuno A. Fonseca

August 2006


Inductive Logic Programming (ILP) tries to derive an intensional representation of data (a theory) from its extensional one, which includes positive and negative examples, as well as facts from a background knowledge. This data is primarily available from relational databases, and has to be converted to Prolog facts in order to be used by most ILP systems. Furthermore, the operations involved in ILP execution are also very database oriented, including selections, joins and aggregations. We thus argue that the Prolog implementation of ILP systems can profit from a hybrid execution between a logic system and a relational database system, that can be obtained by using a coupled deductive database system. This hybrid execution is completely transparent for the Prolog programmer, with the deductive database system abstracting all the Prolog to relational algebra translation. In this paper we propose several approaches of coding ILP algorithms using deductive databases technology, with different distributions of work between the logic system and the database system. We perform an in-depth evaluation of the different approaches on a set of real-size problems. For large problems we are able to obtain speedups of more than a factor of 100. The size of the problems that can be solved is also significantly improved thanks to a non-memory storage of data-sets.


  author =    {T. Soares and M. Ferreira and R. Rocha and N. A. Fonseca},
  title =     {{On Applying Deductive Databases to Inductive Logic Programming: a Performance Study}},
  booktitle = {Proceedings of the 6th Colloquium on Implementation of Constraint and LOgic Programming 
               Systems (CICLOPS 2006)},
  pages =     {80--94},
  editor =    {E. Pontelli and Hai-Feng Guo},
  month =     {August},
  year =      {2006},
  address =   {Seattle, Washington, USA},

Download Paper

PDF file