Inductive Synthesis of Recursive Logic Programs: Achievements and Prospects

Abstract The inductive synthesis of recursive logic programs from incomplete information, such as input/output examples, is a challenging subfield both of Inductive Logic Programming (ILP) and of the synthesis (in general) of logic programs, from formal specifications. We first overview past and present achievements, focusing on the techniques that were designed specifically for the inductive synthesis of recursive logic programs but also discussing a few general ILP techniques that can also induce non-recursive hypotheses. Then we analyse the prospects of these techniques in this task, investigating their applicability to software engineering as well as to knowledge acquisition and discovery.

[1]  Masami Hagiya,et al.  Programming by Example and Proving by Example Using Higher-order Unification , 1990, CADE.

[2]  W CohenWilliam Pac-learning recursive logic programs , 1995 .

[3]  Francesco Bergadano,et al.  Inductive Synthesis of Logic Programs and Inductive Logic Programming , 1993, LOPSTR.

[4]  William W. Cohen Pac-learning Recursive Logic Programs: Negative Results , 1994, J. Artif. Intell. Res..

[5]  G. Plotkin Automatic Methods of Inductive Inference , 1972 .

[6]  Francesco Bergadano,et al.  An Interactive System to Learn Functional Logic Programs , 1993, IJCAI.

[7]  Phillip D. Summers,et al.  A Methodology for LISP Program Construction from Examples , 1977, J. ACM.

[8]  Stan Matwin,et al.  Learning Recursive Relations with Randomly Selected Small Training Sets , 1994, ICML.

[9]  Pierre Flener,et al.  Predicate Invention in Inductive Program Synthesis , 1995 .

[10]  Jerome A. Feldman Automatic programming. , 1972 .

[11]  Henrik Boström,et al.  Theory-Guideed Induction of Logic Programs by Inference of Regular Languages , 1996, ICML.

[12]  Hilde Adé,et al.  Declarative bias in inductive logic porgramming , 1996 .

[13]  Serap Yilmaz,et al.  INDUCTIVE SYNTHESIS OF RECURSIVE LOGIC PROGRAMS , 1997 .

[14]  William W. Cohen Compiling prior knowledge into an explicit basis , 1992, ICML 1992.

[15]  Alípio Mário Jorge,et al.  Architecture for Iterative Learning of Recursive Definitions , 1996 .

[16]  Allen Cypher,et al.  EAGER: programming repetitive tasks by example , 1991, CHI.

[17]  Pierre Flener,et al.  On Correct Program Schemas , 1997, LOPSTR.

[18]  Peter Idestam-Almquist,et al.  Generalization under Implication by Recursive Anti-unification , 1993, ICML.

[19]  Esra Erdem,et al.  Completing open logic programs by constructive induction , 1999 .

[20]  Stan Matwin,et al.  Constructive Inductive Logic Programming , 1993, IJCAI.

[21]  R. Mike Cameron-Jones,et al.  FOIL: A Midterm Report , 1993, ECML.

[22]  Stephen Muggleton,et al.  Efficient Induction of Logic Programs , 1990, ALT.

[23]  Alan W. Biermann,et al.  Induction of schemata for program synthesis , 1990 .

[24]  Simin Nadjm-Tehrani,et al.  Algorithmic Debugging with Assertions , 1989, META.

[25]  Yves Deville,et al.  Logic programming - systematic program development , 1990, International series in logic programming.

[26]  Marko Grobelnik,et al.  Induction of Prolog Programs with Markus , 1993, LOPSTR.

[27]  Hirohisa Seki,et al.  Verification of Prolog Programs Using an Extension of Execution , 1986, ICLP.

[28]  Luc De Raedt,et al.  Belief Updating from Integrity Constraints and Queries , 1992, Artif. Intell..

[29]  Francesco Bergadano,et al.  Learning clauses by tracing derivations. , 1994 .

[30]  Rüdiger Wirth,et al.  Constraints on Predicate Invention , 1991, ML.

[31]  Ehud Shapiro,et al.  Algorithmic Program Debugging , 1983 .

[32]  Patricia C. Goldberg,et al.  Automatic Programming , 1974, Programming Methodology.

[33]  Céline Rouveirol,et al.  Beyond Inversion of Resolution , 1990, ML.

[34]  Saso Dzeroski,et al.  Inductive Logic Programming: Techniques and Applications , 1993 .

[35]  Ivan Bratko,et al.  Inductive Learning Applied to Program Construction and Verification , 1992, AIFIPP.

[36]  Masayuki Numao,et al.  Discrimination-Based Constructive Induction of Logic Programs , 1992, AAAI.

[37]  Leon Sterling,et al.  Applying Techniques to Skeletons , 1993, ICLP Workshop on Construction of Logic Programs.

[38]  Alípio Mário Jorge,et al.  Learning by Refining Algorithm Sketches , 1994, ECAI.

[39]  Pierre Flener,et al.  Inductive Logic Program Synthesis with DIALOGS , 1996, Inductive Logic Programming Workshop.

[40]  Leszek Pacholski,et al.  Undecidability of the Horn-clause implication problem , 1992, Proceedings., 33rd Annual Symposium on Foundations of Computer Science.

[41]  Pierre Flener Logic program synthesis from incomplete information , 1995, The Kluwer international series in engineering and computer science.

[42]  Alípio Mário Jorge,et al.  Integrity Constraints in ILP Using a Monte Carlo Approach , 1996, Inductive Logic Programming Workshop.

[43]  Stan Matwin,et al.  Inverting Implication with Small Training Sets , 1994, ECML.

[44]  Yves Deville,et al.  Logic Program Synthesis from Incomplete Specifications , 1993, J. Symb. Comput..

[45]  Wray L. Buntine Generalized Subsumption and Its Applications to Induction and Redundancy , 1986, Artif. Intell..

[46]  Irene Stahl,et al.  Predicate Invention in ILP - an Overview , 1993, ECML.

[47]  Matthew M. Huntbach An Improvised Version of Shapiro's Model Inference System , 1986, ICLP.

[48]  Henrik Boström Specialization of Recursive Predicates , 1995, ECML.

[49]  Nachum Dershowitz,et al.  Logical Debugging , 1993, J. Symb. Comput..

[50]  Pierre Flener,et al.  Specifications are necessarily informal or: Some more myths of formal methods , 1998, J. Syst. Softw..

[51]  Francesco Bergadano,et al.  Inductive Logic Programming: From Machine Learning to Software Engineering , 1995 .

[52]  Stan Matwin,et al.  Sub-unification: A Tool for Efficient Induction of Recursive Programs , 1992, ML.

[53]  William W. Cohen Pac-Learning Recursive Logic Programs: Efficient Algorithms , 1994, J. Artif. Intell. Res..

[54]  Ehud Shapiro,et al.  Abstract Algorithmic Debugging , 1988, ICLP/SLP.

[55]  G. Pólya,et al.  Mathematics and Plausible Reasoning: Vol. I: Induction and Analogy in Mathematics , 1979 .

[56]  Pierre Flener,et al.  On the Use of Inductive Reasoning in Program Synthesis: Prejudice and Prospects , 1994, LOPSTR.

[57]  Ronald de Wolf,et al.  Least Generalizations under Implication , 1996, Inductive Logic Programming Workshop.

[58]  Ehud Shapiro,et al.  Inductive Inference of Theories from Facts , 1991, Computational Logic - Essays in Honor of Alan Robinson.

[59]  Guillaume Le Blanc,et al.  BMWk Revisited - Generalization and Formalization of an Algorithm for Detecting Recursive Relations in Term Sequences , 1994, ECML.

[60]  Shan-Hwei Nienhuys-Cheng,et al.  Foundations of Inductive Logic Programming , 1997, Lecture Notes in Computer Science.

[61]  Masami Hagiya From Programming-by-Example to Proving-by-Example , 1991, TACS.

[62]  Carl H. Smith,et al.  Inductive Inference: Theory and Methods , 1983, CSUR.

[63]  Matthew M. Huntbach Program Synthesis by Inductive Inference , 1986, ECAI.

[64]  Chowdhury Rahman Mofizur,et al.  Top-down Induction of Recursive Programs from Small Number of Sparse Examples , 1995 .

[65]  Nancy L. Tinkham Schema Induction for Logic Program Synthesis , 1998, Artif. Intell..

[66]  William W. Cohen Pac-Learning a Restricted Class of Recursive Logic Programs , 1993, AAAI.

[67]  Stephen Muggleton,et al.  Machine Invention of First Order Predicates by Inverting Resolution , 1988, ML.

[68]  Luc De Raedt,et al.  Inductive Logic Programming: Theory and Methods , 1994, J. Log. Program..

[69]  Maurice Bruynooghe,et al.  Some Thoughts on the Role of Examples in Program Transformation and its Relevance for Explanation-based Learning , 1989, AII.