Analysis and Evaluation of Inductive Programming Systems in a Higher-Order Framework

  • Martin Hofmann
  • Emanuel Kitzelmann
  • Ute Schmid
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5243)


In this paper we present a comparison of several inductive programming (IP) systems. IP addresses the problem of learning (recursive) programs from incomplete specifications, such as input/output examples. First, we introduce conditional higher-order term rewriting as a common framework for inductive program synthesis. Then we characterise the ILP system Golem and the inductive functional system MagicHaskeller within this framework. In consequence, we propose the inductive functional system Igor II as a powerful and efficient approach to IP. Performance of all systems on a representative set of sample problems is evaluated and shows the strength of Igor II.


Function Symbol Inductive Logic Programming Horn Clause Restriction Bias Preference Bias 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Biermann, A.W., et al.: Automatic Program Construction Techniques. Free Press, NY (1984)zbMATHGoogle Scholar
  2. 2.
    Quinlan, J.R.: Learning first-order definitions of functions. Journal of Artificial Intelligence Research 5, 139–161 (1996)zbMATHGoogle Scholar
  3. 3.
    Muggleton, S., Feng, C.: Efficient induction of logic programs. In: Proceedings of the 1st Conference on Algorithmic Learning Theory, Ohmsma, Tokyo, Japan, pp. 368–381 (1990)Google Scholar
  4. 4.
    Muggleton, S.: Inverse entailment and Progol. New Generation Computing, Special issue on Inductive Logic Programming 13(3-4), 245–286 (1995)Google Scholar
  5. 5.
    Flener, P.: Inductive logic program synthesis with Dialogs. In: Muggleton, S. (ed.) Proceedings of the 6th International Workshop on ILP, pp. 28–51. Stockholm University (1996)Google Scholar
  6. 6.
    Hernández-Orallo, J., et al.: Inverse narrowing for the induction of functional logic programs. In: Freire-Nistal, et al. (eds.) Joint Conference on Declarative Programming, pp. 379–392 (1998)Google Scholar
  7. 7.
    Kitzelmann, E., Schmid, U.: Inductive synthesis of functional programs: An explanation based generalization approach. Journal of Machine Learning Research 7, 429–454 (2006)MathSciNetGoogle Scholar
  8. 8.
    Kitzelmann, E.: Data-driven induction of recursive functions from input/output-examples. In: Kitzelmann, E., Schmid, U. (eds.) Proceedings of the ECML/PKDD 2007 Workshop on Approaches and Applications of Inductive Programming (AAIP 2007), pp. 15–26 (2007)Google Scholar
  9. 9.
    Olsson, R.J.: Inductive functional programming using incremental program transformation. Artificial Intelligence 74(1), 55–83 (1995)CrossRefGoogle Scholar
  10. 10.
    Katayama, S.: Systematic search for λ-expressions. In: Trends in Functional Programming, pp. 111–126 (2005)Google Scholar
  11. 11.
    Terese,: Term Rewriting Systems. Cambridge Tracts in Theoretical Computer Science, vol. 55. Cambridge Univ. Press, Cambridge (2003)Google Scholar
  12. 12.
    Baader, F., Nipkow, T.: Term Rewriting and All That. Cambridge Univ. Press, UK (1998)Google Scholar
  13. 13.
    Plotkin, G.: A further note on inductive generalization. In: Machine Intelligence, vol. 6, Edinburgh Univ. Press (1971)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Martin Hofmann
    • 1
  • Emanuel Kitzelmann
    • 1
  • Ute Schmid
    • 1
  1. 1.University of BambergGermany

Personalised recommendations