Some Thoughts on the Role of Examples in Program Transformation and its Relevance for Explanation-based Learning

Explanation-based learning is using the same technique as partial evaluation, namely unfolding. However, it brings a new insight: an example can be used to guide the transformation process. In this paper, we further explore this insight and show how examples can be used to guide other kinds of program transformation, guiding not only the unfolding, but also the introduction of new predicates and the folding. On the other hand, we illustrate the more fundamental restructuring which is possible with program transformation and the relevance of completeness results to eliminate computationally inefficient knowledge.

[1]  Richard S. Bird,et al.  Tabulation Techniques for Recursive Programs , 1980, CSUR.

[2]  Saumya K. Debray,et al.  Unfold/fold transformations and loop optimization of logic programs , 1988, PLDI '88.

[3]  Gerald DeJong,et al.  BAGGER: An EBL System that Extends and Generalizes Explanations , 1987, AAAI.

[4]  Maurice Bruynooghe,et al.  A Practical Framework for the Abstract Interpretation of Logic Programs , 1991, J. Log. Program..

[5]  Martin S. Feather,et al.  A System for Assisting Program Transformation , 1982, TOPL.

[6]  Luc De Raedt,et al.  Generalizing Multiple Examples in Explanation Based Learning , 1989, AII.

[7]  Raf Venken A Prolog Meta-Interpreter for Partial Evaluation and its Application to Source to Source Transformation and Query-Optimisation , 1984, ECAI.

[8]  Tom Michael Mitchell,et al.  Explanation-based generalization: A unifying view , 1986 .

[9]  Hisao Tamaki,et al.  Transformational Logic Program Synthesis , 1984, FGCS.

[10]  Robert A. Kowalski,et al.  Logic for problem solving , 1982, The computer science library : Artificial intelligence series.

[11]  Maurice Bruynooghe,et al.  Compiling Control , 1989, J. Log. Program..

[12]  Maurice Bruynooghe,et al.  An Application of Abstract Interpretation in Source Level Program Transformation , 1988, PLILP.

[13]  Luc De Raedt,et al.  Explanation Based Program Transformation , 1989, IJCAI.

[14]  Saumya K. Debray,et al.  Detection and Optimization of Functional Computations in Prolog , 1986, ICLP.

[15]  Smadar T. Kedar-Cabelli,et al.  Explanation-Based Generalization as Resolution Theorem Proving , 1987 .

[16]  Gerald DeJong,et al.  Some Thoughts on the Present and Future of Explanation-Based Learning , 1988, European Conference on Artificial Intelligence.

[17]  Philip Wadler,et al.  Deforestation: Transforming Programs to Eliminate Trees , 1990, Theor. Comput. Sci..

[18]  John Darlington,et al.  A Transformation System for Developing Recursive Programs , 1977, J. ACM.

[19]  Maurice Bruynooghe,et al.  On the Transformation of Logic Programs with Instantiation Based Computation Rules , 1989, J. Symb. Comput..

[20]  Philip Wadler Listlessness is better than laziness II: composing listless functions , 1985, Programs as Data Objects.

[21]  Henryk Jan Komorowski,et al.  A specification of an abstract Prolog machine and its application to partial evaluation , 1981 .

[22]  이종원,et al.  Explanation - Based Generalization 의 문제점 및 이의 해결방안 , 1986 .

[23]  Gerald DeJong,et al.  An Explanation-based Approach to Generalizing Number , 1987, IJCAI.

[24]  Richard C. T. Lee,et al.  Symbolic logic and mechanical theorem proving , 1973, Computer science classics.

[25]  Philip Wadler,et al.  Listlessness is better than laziness: Lazy evaluation and garbage collection at compile-time , 1984, LFP '84.

[26]  Hisao Tamaki,et al.  Unfold/Fold Transformation of Logic Programs , 1984, ICLP.

[27]  Alan Bundy,et al.  Explanation-Based Generalisation = Partial Evaluation , 1988, Artif. Intell..