Skip to main content

Inductive Programming

  • Reference work entry
  • 362 Accesses

Synonyms

Example-based programming; Inductive program synthesis; Inductive synthesis; Program synthesis from examples

Definition

Inductive programming is the inference of an algorithm or program featuring recursive calls or repetition control structures, starting from information that is known to be incomplete, called the evidence, such as positive and negative input–output examples or clausal constraints. The inferred program must be correct with respect to the provided evidence, in a generalization sense: it should neither be equivalent nor inconsistent to it. Inductive programming is guided explicitly or implicitly by a language bias and a search bias. The inference may draw on background knowledge or query an oracle. In addition to induction, abduction may be used. The restriction to algorithms and programs featuring recursive calls or repetition control structures distinguishes inductive programming from concept learning or classification.

This chapter is restricted to the...

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

Recommended Reading

  • Biermann, A. W. (1978). The inference of regular LISP programs from examples. IEEE Transactions on Systems, Man, and Cybernetics, 8(8), 585–600.

    MathSciNet  Google Scholar 

  • Flener, P. (1997). Inductive logic program synthesis with DIALOGS. In S. H. Muggleton, (Ed.), Revised selected papers of the 6th international workshop on inductive logic programming (ILP 1996), volume 1314 of lecture notes in artificial intelligence (pp. 175–198). Berlin: Springer.

    Google Scholar 

  • Flener, P. (2002). Achievements and prospects of program synthesis. In A. Kakas & F. Sadri (Eds.), Computational logic: Logic programming and beyond; essays in honour of Robert A. Kowalski, volume 2407 of lecture notes in artificial intelligence (pp. 310–346). Berlin: Springer.

    Google Scholar 

  • Flener, P.,  & Partridge, D. (2001). Inductive programming. Automated Software Engineering, 8(2), 131–137.

    Google Scholar 

  • Flener, P., & Yılmaz S. (1999). Inductive synthesis of recursive logic programs: achievements and prospects. Journal of Logic Programming, 41(2–3), 141–195.

    MATH  MathSciNet  Google Scholar 

  • Kitzelmann, E., & Schmid, U. (2006). Inductive synthesis of functional programs – An explanation based generalization approach. Journal of Machine Learning Research, 7, 429–454.

    MathSciNet  Google Scholar 

  • Olsson, J. R. (1995). Inductive functional programming using incremental program transformation. Artificial Intelligence, 74(1), 55–83.

    Google Scholar 

  • Shapiro, E. Y. (1983). Algorithmic program debugging. Cambridge, MA: MIT Press.

    Google Scholar 

  • Smith, D. R. (1984). The synthesis of LISP programs from examples: A survey. In A. W. Biermann, G. Guiho, & Y. Kodratoff (Eds.), Automatic program construction techniques (pp. 307–324). New York: Macmillan.

    Google Scholar 

  • Smith, D. R. (1985). Top-down synthesis of divide-and-conquer algorithms. Artificial Intelligence, 27(1), 43–96.

    MATH  MathSciNet  Google Scholar 

  • Stahl, I. (1995). The appropriateness of predicate invention as bias shift operation in ILP. Machine Learning, 20(1–2), 95–117.

    MATH  MathSciNet  Google Scholar 

  • Summers, P. D. (1977). A methodology for LISP program construction from examples. Journal of the ACM, 24(1), 161–175.

    MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer Science+Business Media, LLC

About this entry

Cite this entry

Flener, P., Schmid, U. (2011). Inductive Programming. In: Sammut, C., Webb, G.I. (eds) Encyclopedia of Machine Learning. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-30164-8_399

Download citation

Publish with us

Policies and ethics