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.
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.
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.
Flener, P., & Partridge, D. (2001). Inductive programming. Automated Software Engineering, 8(2), 131–137.
Flener, P., & Yılmaz S. (1999). Inductive synthesis of recursive logic programs: achievements and prospects. Journal of Logic Programming, 41(2–3), 141–195.
Kitzelmann, E., & Schmid, U. (2006). Inductive synthesis of functional programs – An explanation based generalization approach. Journal of Machine Learning Research, 7, 429–454.
Olsson, J. R. (1995). Inductive functional programming using incremental program transformation. Artificial Intelligence, 74(1), 55–83.
Shapiro, E. Y. (1983). Algorithmic program debugging. Cambridge, MA: MIT Press.
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.
Smith, D. R. (1985). Top-down synthesis of divide-and-conquer algorithms. Artificial Intelligence, 27(1), 43–96.
Stahl, I. (1995). The appropriateness of predicate invention as bias shift operation in ILP. Machine Learning, 20(1–2), 95–117.
Summers, P. D. (1977). A methodology for LISP program construction from examples. Journal of the ACM, 24(1), 161–175.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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
DOI: https://doi.org/10.1007/978-0-387-30164-8_399
Publisher Name: Springer, Boston, MA
Print ISBN: 978-0-387-30768-8
Online ISBN: 978-0-387-30164-8
eBook Packages: Computer ScienceReference Module Computer Science and Engineering