Improving the Efficiency of Inductive Logic Programming Systems

Nuno A. Fonseca, VĂ­tor Santos Costa, Ricardo Rocha, Rui Camacho and Fernando Silva



Inductive Logic Programming (ILP) is a sub-field of Machine Learning that provides an excellent framework for Multi-Relational Data Mining applications. The advantages of ILP have been successfully demonstrated in complex and relevant industrial and scientific problems. However, to produce valuable models, ILP systems often require long running times and large amounts of memory. In this article we address fundamental issues that have direct impact on the efficiency of ILP systems. Namely, we discuss how improvements in the indexing mechanisms of an underlying Logic Programming system benefit ILP performance. Furthermore, we propose novel data structures to reduce memory requirements and we suggest a new lazy evaluation technique to search the hypothesis space more efficiently. These proposals have been implemented in the April ILP system and evaluated using several well known data sets. The results observed show significant improvements in running time without compromising the accuracy of the models generated. Indeed, the combined techniques achieve several order of magnitudes speedup in some data sets. Moreover, memory requirements are reduced in nearly half of the data sets.


  author =    {N. A. Fonseca and V. Santos Costa and R. Rocha and R. Camacho and F. Silva},
  title =     {{Improving the Efficiency of Inductive Logic Programming Systems}},
  journal =   {Software: Practice and Experience},
  pages =     {189--219},
  volume =    {39},
  number =    {2},
  year =      {2009},

Download Paper

PDF file
Wiley InterScience