ILP :- Just Trie It

  • Rui Camacho
  • Nuno A. Fonseca
  • Ricardo Rocha
  • Vítor Santos Costa
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4894)


Despite the considerable success of Inductive Logic Programming (ILP), deployed ILP systems still have efficiency problems when applied to complex problems. Several techniques have been proposed to address the efficiency issue. Such proposals include query transformations, query packs, lazy evaluation and parallel execution of ILP systems, to mention just a few. We propose a novel technique that avoids the procedure of deducing each example to evaluate each constructed clause. The technique takes advantage of the two stage procedure of Mode Directed Inverse Entailment (MDIE) systems. In the first stage of a MDIE system, where the bottom clause is constructed, we store not only the bottom clause but also valuable additional information. The information stored is sufficient to evaluate the clauses constructed in the second stage without the need for a theorem prover. We used a data structure called Trie to efficiently store all bottom clauses produced using all examples (positive and negative) as seeds. The technique was implemented and evaluated using two well known data sets from the ILP literature. The results are promising both in terms of execution time and accuracy.


Mode Directed Inverse Entailment Efficiency Data Structures 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Muggleton, S.: Inductive logic programming. New Generation Computing 8(4), 295–317 (1991)zbMATHCrossRefGoogle Scholar
  2. 2.
  3. 3.
    Nédellec, C., Rouveirol, C., Adé, H., Bergadano, F., Tausend, B.: Declarative bias in ILP. In: De Raedt, L. (ed.) Advances in Inductive Logic Programming, pp. 82–103. IOS Press, Amsterdam (1996)Google Scholar
  4. 4.
    Camacho, R.: Improving the efficiency of ilp systems using an incremental language level search. In: Annual Machine Learning Conference of Belgium and the Netherlands (2002)Google Scholar
  5. 5.
    Blockeel, H., Dehaspe, L., Demoen, B., Janssens, G., Ramon, J., Vandecasteele, H.: Improving the efficiency of Inductive Logic Programming through the use of query packs. Journal of Artificial Intelligence Research 16, 135–166 (2002)zbMATHGoogle Scholar
  6. 6.
    Costa, V.S., Srinivasan, A., Camacho, R.: A note on two simple transformations for improving the efficiency of an ILP system. In: Cussens, J., Frisch, A.M. (eds.) ILP 2000. LNCS (LNAI), vol. 1866, Springer, Heidelberg (2000)CrossRefGoogle Scholar
  7. 7.
    Costa, V.S., Srinivasan, A., Camacho, R., Hendrik, Van Laer, W.: Query transformations for improving the efficiency of ilp systems. Journal of Machine Learning Research (2002)Google Scholar
  8. 8.
    Camacho, R.: Inductive Logic Programming to Induce Controllers. In: PhD thesis, Univerity of Porto (2000)Google Scholar
  9. 9.
    Fonseca, N.A., Silva, F., Camacho, R.: Strategies to Parallelize ILP Systems. In: Kramer, S., Pfahringer, B. (eds.) ILP 2005. LNCS (LNAI), vol. 3625, pp. 136–153. Springer, Heidelberg (2005)Google Scholar
  10. 10.
    Muggleton, S.: Inverse Entailment and Progol. New Generation Computing, Special issue on Inductive Logic Programming 13(3-4), 245–286 (1995)Google Scholar
  11. 11.
    Muggleton, S.: Inverse Entailment and Progol. New Generation Computing, Special issue on Inductive Logic Programming 13(3-4), 245–286 (1995)Google Scholar
  12. 12.
  13. 13.
    Fonseca, N.A., Silva, F., Camacho, R.: April - An Inductive Logic Programming System. In: Fisher, M., van der Hoek, W., Konev, B., Lisitsa, A. (eds.) JELIA 2006. LNCS (LNAI), vol. 4160, pp. 481–484. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  14. 14.
    Fonseca, N.A., Rocha, R., Camacho, R., Silva, F.: Efficient Data Structures for Inductive Logic Programming. In: Horváth, T., Yamamoto, A. (eds.) ILP 2003. LNCS (LNAI), vol. 2835, pp. 130–145. Springer, Heidelberg (2003)Google Scholar
  15. 15.
    Nijssen, S., Kok, J.N.: Faster Association Rules for Multiple Relations. In: Proceedings of the 17th International Joint Conference on Artificial Intelligence (IJCAI 2001), pp. 891–896 (2001)Google Scholar
  16. 16.
    Dehaspe, L., De Raedt, L.: Mining Association Rules in Multiple Relations. In: Džeroski, S., Lavrač, N. (eds.) ILP 1997. LNCS, vol. 1297, pp. 125–132. Springer, Heidelberg (1997)Google Scholar
  17. 17.
    Fredkin, E.: Trie Memory. Communications of the ACM 3, 490–499 (1962)CrossRefGoogle Scholar
  18. 18.
    Bachmair, L., Chen, T., Ramakrishnan, I.V.: Associative-Commutative Discrimination Nets. In: Gaudel, M.-C., Jouannaud, J.-P. (eds.) CAAP 1993, FASE 1993, and TAPSOFT 1993. LNCS, vol. 668, pp. 61–74. Springer, Heidelberg (1993)Google Scholar
  19. 19.
    Graf, P.: Term Indexing. In: Graf, P. (ed.) Term Indexing. LNCS, vol. 1053, Springer, Heidelberg (1996)Google Scholar
  20. 20.
    Ramakrishnan, I.V., Rao, P., Sagonas, K., Swift, T., Warren, D.S.: Efficient Access Mechanisms for Tabled Logic Programs. Journal of Logic Programming 38(1), 31–54 (1999)zbMATHCrossRefGoogle Scholar
  21. 21.
    Yamamoto, A.: Which Hypotheses Can Be Found with Inverse Entailment? In: Džeroski, S., Lavrač, N. (eds.) ILP 1997. LNCS, vol. 1297, pp. 296–308. Springer, Heidelberg (1997)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Rui Camacho
    • 1
  • Nuno A. Fonseca
    • 2
  • Ricardo Rocha
    • 3
  • Vítor Santos Costa
    • 3
  1. 1.Faculdade de Engenharia & LIAADUniversidade do PortoPortugal
  2. 2.Instituto de Biologia Molecular e Celular (IBMC)Universidade do PortoPortugal
  3. 3.DCC-FCUniversidade do PortoPortugal

Personalised recommendations