Skip to main content
Log in

A Combined Analytical and Search-Based Approach for the Inductive Synthesis of Functional Programs

  • Dissertationen und Habilitationen
  • Published:
KI - Künstliche Intelligenz Aims and scope Submit manuscript

Abstract

Inductive program synthesis addresses the problem of automatically generating (declarative) recursive programs from ambiguous specifications such as input/output examples. Potential applications range from software development to intelligent agents that learn in recursive domains. Current systems suffer from either strong restrictions regarding the form of inducible programs or from blind search in vast program spaces. The main contribution of my dissertation (Kitzelmann, Ph.D. thesis, 2010) is the algorithm Igor2 for the induction of functional programs. It is based on search in program spaces but derives candidate programs directly from examples, rather than using them as test cases, and thereby prunes many programs. Experiments show promising results.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1

Similar content being viewed by others

Notes

  1. The instance for zero objects is a bit artificial. We chose it to keep the example as simple as possible, but it may be skipped and replaced by the three objects instance.

  2. This is currently done by hand.

References

  1. Clavel M, Durán F, Eker S, Lincoln P, Martí-Oliet N, Meseguer J, Talcott C (2003) The maude 2.0 system. In: Rewriting techniques and applications (RTA’03). Lecture notes in artificial intelligence, vol 2706. Springer, Berlin, pp 76–87

    Chapter  Google Scholar 

  2. Hofmann M (2010) Data-driven detection of catamorphisms: Towards problem specific use of program schemes for inductive program synthesis. In: 22nd symposium on implementation and application of functional languages (IFL)

    Google Scholar 

  3. Katayama S (2007) Systematic search for lambda expressions. In: Selected papers from the 6th symposium on trends in functional programming, pp 111–126. Intellect

    Google Scholar 

  4. Kitzelmann E (2010) A combined analytical and search-based approach to the inductive synthesis of functional programs. PhD thesis, Fakultät für Wirtschaftsinformatik und Angewandte Informatik, Otto-Friedrich Universität Bamberg. URL http://www.opus-bayern.de/uni-bamberg/volltexte/2010/280/

  5. Kitzelmann E, Schmid U (2006) Inductive synthesis of functional programs: an explanation based generalization approach. J Mach Learn Res 7:429–454

    MathSciNet  Google Scholar 

  6. Olsson JR (1995) Inductive functional programming using incremental program transformation. Artif Intell 74(1):55–83

    Article  Google Scholar 

  7. Plotkin GD (1970) A note on inductive generalization. Mach Intell 5:153–163

    MathSciNet  Google Scholar 

  8. Schmid U (2003) Inductive synthesis of functional programs: universal planning, folding of finite programs, and schema abstraction by analogical reasoning. In Lecture notes in artificial intelligence. Springer, Berlin/New York

    Google Scholar 

  9. Smith DR (1984) The synthesis of LISP programs from examples: a survey. In: Automatic program construction techniques. Macmillan, London, pp 307–324

    Google Scholar 

  10. Veloso MM, Carbonell JG (1993) Derivational analogy in prodigy: automating case acquisition, storage, and utilization. Mach Learn 10:249–278

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Emanuel Kitzelmann.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kitzelmann, E. A Combined Analytical and Search-Based Approach for the Inductive Synthesis of Functional Programs. Künstl Intell 25, 179–182 (2011). https://doi.org/10.1007/s13218-010-0071-x

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s13218-010-0071-x

Keywords

Navigation