Abstract
Inductive programming is a branch of program synthesis that is based on inductive inference where a recursive, declarative program is constructed from an incomplete specification, especially from input–output examples. Inductive logic programming and inductive functional programming are addressed. Central concepts such as predicate invention and background knowledge are defined. Two worked-out examples are presented to illustrate inductive logic programming and inductive functional programming.
References
Biermann AW (1978) The inference of regular LISP programs from examples. IEEE Trans Syst Man Cybernet 8(8):585–600
Cropper A, Dumancic S, Muggleton SH (2020). Turning 30: new ideas in inductive logic programming. In: Bessiere C (ed) 29th International Joint Conference on Artificial Intelligence (IJCAI 2020). IJCAI/AAAI, pp 4833–4839
Dai WZ, Xu Q, Yu Y, Zhou ZH (2019) Bridging machine learning and logical reasoning by abductive learning. In: Wallach HM et al (eds) Advances in neural information processing systems, vol 32, (NeurIPS 2019), pp 2815–2826
Ferri-RamĂrez C, Hernández-Orallo J, RamĂrez-Quintana MJ (2001) Incremental learning of functional logic programs. In: International Symposium on Functional and Logic Programming (FLOPS 2001). Lecture Notes in Artificial Intelligence, vol 2024 . Springer, pp 233–247
Flener P (1997) Inductive logic program synthesis with DIALOGS. In: Muggleton SH (ed) Revised Selected Papers of the 6th International Workshop on Inductive Logic Programming (ILP 1996). Lecture Notes in Artificial Intelligence, vol 1314. Springer, pp 175–198
Flener P (2002) Achievements and prospects of program synthesis. In: Kakas A, Sadri F (eds) Computational Logic: Logic Programming and Beyond; Essays in Honour of Robert A. Kowalski. Lecture Notes in Artificial Intelligence, vol 2407. Springer, pp 310–346
Flener P, Partridge D (2001) Inductive programming. Autom Softw Eng 8(2):131–137
Flener P, Yılmaz S (1999) Inductive synthesis of recursive logic programs: achievements and prospects. J Logic Program 41(2–3):141–195
Gulwani S (2011). Automating string processing in spreadsheets using input-output examples. ACM Sigplan Not 46(1):317–330
Gulwani S, Hernández-Orallo J, Kitzelmann E, Muggleton SH, Schmid U, Zorn B (2015) Inductive programming meets the real world. Commun ACM 58(11):90–99
Hernández-Orallo J, MartĂnez-Plumed F, Schmid U, Siebers M, Dowe DL (2016). Computer models solving intelligence test problems: Progress and implications. Artif Intell 230:74–107
Hofmann M, Kitzelmann E, Schmid U (2009) A unifying framework for analysis and evaluation of inductive programming systems. In: Goerzel B, Hitzler P, Hutter M (eds) 2nd Conference on Artificial General Intelligence (AGI 2009), Amsterdam. Atlantis Press, pp 55–60
Katayama S (2005) Systematic search for lambda expressions. In: Trends in functional programming. Intellect, Bristol, pp 111–126
Kitzelmann E, Schmid U (2006) Inductive synthesis of functional programs – an explanation based generalization approach. J Mach Learn Res 7(Feb):429–454
Kitzelmann E (2008). Analytical inductive functional programming. In: International Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR 2008). Springer, pp 87–102
Muggleton SH, Lin D (2013) Meta-interpretive learning of higher-order dyadic datalog: predicate invention revisited. In: Rossi F (ed) 23rd International Joint Conference on Artificial Intelligence (IJCAI 2013). IJCAI/AAAI, pp 1551–1557
Muggleton SH, Schmid U, Zeller C, Tamaddoni-Nezhad A, Besold T (2018) Ultra-strong machine learning: comprehensibility of programs learned with ILP. Mach Learn 107(7):1119–1140
Olsson JR (1995) Inductive functional programming using incremental program transformation. Artif Intell 74(1):55–83
Rabold J, Deininger H, Siebers M, Schmid U (2019) Enriching visual with verbal explanations for relational concepts – combining LIME with Aleph. In: Joint European Conference on Machine Learning and Knowledge Discovery in Databases, ECML 2019. Springer, pp 180–192
Rolim R, Soares G, D’Antoni L, Polozov O, Gulwani S, Gheyi R, Suzuki, R, Hartmann B (2017). Learning syntactic program transformations from examples. In: IEEE/ACM 39th International Conference on Software Engineering (ICSE 2017). IEEE, pp 404–415
Rule J, Schulz E, Piantadosi ST, Tenenbaum J (2018). Learning list concepts through program induction. In: Kalish C et al (ed) 40th Annual Meeting of the Cognitive Science Society (CogSci 2018). cognitivesciencesociety.org 2018
Shapiro EY (1983) Algorithmic program debugging. The MIT Press, Cambridge
Schmid U (2018). Inductive programming as approach to comprehensible machine learning. In: Beierle C et al (ed) 6th Workshop KI & Kognition (KIK 2018), CEUR Workshop Proceedings, vol 2194, pp 4–12
Schmid U, Kitzelmann E (2011) Inductive rule learning on the knowledge level. Cogn Syst Res 12(3–4):237–248
Smith DR (1984) The synthesis of LISP programs from examples: a survey. In: Biermann AW, Guiho G, Kodratoff Y (eds) Automatic program construction techniques. Macmillan, New York, pp 307–324
Smith DR (1985) Top-down synthesis of divide-and-conquer algorithms. Artif Intell 27(1):43–96
Sobania, D, Briesch, M, Rothlauf, F (2022) Choose your programming copilot: a comparison of the program synthesis performance of GitHub copilot and genetic programming. In: Proceedings of the Genetic and Evolutionary Computation Conference(GECCO 2022). ACM, pp 1019–1027
Solar-Lezama A, Tancau L, Bodik R, Seshia S, Saraswat V (2006) Combinatorial sketching for finite programs. In: 12th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2006). ACM, pp 404–415
Stahl I (1995) The appropriateness of predicate invention as bias shift operation in ILP. Mach Learn 20(1–2):95–117
Summers PD (1977) A methodology for LISP program construction from examples. J ACM 24(1):161–175
Zhang, J, Cambronero, J, Gulwani, S, Le, V, Piskac, R, Soares, G, Verbruggen, G (2022). Repairing bugs in python assignments using large language models. arXiv preprint arXiv:2209.14876
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2024 Springer Science+Business Media, LLC, part of Springer Nature
About this entry
Cite this entry
Flener, P., Schmid, U. (2024). Inductive Programming. In: Phung, D., Webb, G.I., Sammut, C. (eds) Encyclopedia of Machine Learning and Data Science. Springer, New York, NY. https://doi.org/10.1007/978-1-4899-7502-7_137-2
Download citation
DOI: https://doi.org/10.1007/978-1-4899-7502-7_137-2
Published:
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4899-7502-7
Online ISBN: 978-1-4899-7502-7
eBook Packages: Springer Reference Computer SciencesReference Module Computer Science and Engineering
Publish with us
Chapter history
-
Latest
Inductive Programming- Published:
- 19 December 2023
DOI: https://doi.org/10.1007/978-1-4899-7502-7_137-2
-
Original
Inductive Programming- Published:
- 04 August 2016
DOI: https://doi.org/10.1007/978-1-4899-7502-7_137-1