Efficient and Scalable Induction of Logic Programs using a Deductive Database System

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

August 2006


A consequence of ILP systems being implemented in Prolog or using Prolog libraries is that, usually, these systems use a Prolog internal database to store and manipulate data. However, in real-world problems, the original data is rarely in Prolog format. In fact, the data is often kept in Relational Database Management Systems (RDBMS) and then converted to a format acceptable by the ILP system. Therefore, a more interesting approach is to link the ILP system to the RDBMS and manipulate the data without converting it. This scheme has the advantage of being more scalable since the whole data does not need to be loaded into memory by the ILP system. In this paper we study several approaches of coupling ILP systems with RDBMS systems and evaluate their impact on performance. We propose to use a Deductive Database (DDB) system to transparently translate the hypotheses to relational algebra expressions. The empirical evaluation performed shows that the execution time of ILP algorithms can be effectively reduced using a DDB and that the size of the problems can be increased due to a non-memory storage of the data.


  author =    {M. Ferreira and N. A. Fonseca and R. Rocha and T. Soares},
  title =     {{Efficient and Scalable Induction of Logic Programs using a Deductive Database System}},
  booktitle = {Proceedings of the 16th International Conference on Inductive Logic Programming (ILP 2006)},
  pages =     {184--198},
  number =    {4455},
  series =    {LNAI},
  publisher = {Springer},
  editor =    {S. Muggleton and R. Otero and A. Tamaddoni-Nezhad},
  month =     {August},
  year =      {2006},
  address =   {Santiago de Compostela, Spain},

Download Paper

PDF file

Download Poster

PDF file