Logic for problem-solving
A technique for translating clausal specifications of numerical methods into efficient programs
Journal of Logic Programming
Explanation-based generalisation = partial evaluation
Artificial Intelligence
Journal of Logic Programming
On the transformation of logic programs with instantiation based computation rules
Journal of Symbolic Computation
A Transformation System for Developing Recursive Programs
Journal of the ACM (JACM)
Tabulation Techniques for Recursive Programs
ACM Computing Surveys (CSUR)
Explanation-Based Generalization: A Unifying View
Machine Learning
Explanation-Based Learning: An Alternative View
Machine Learning
Detection and Optimization of Functional Computations in Prolog
Proceedings of the Third International Conference on Logic Programming
Global optimization of logic programs (analysis, transformation, compilation)
Global optimization of logic programs (analysis, transformation, compilation)
Hi-index | 0.00 |
Fold-unfold is a well known program transformation technique. Its major drawback is that folding requires an Eureka step to invent new procedures. In the context of logic programming, we present a technique where the folding is driven by an example. The transformation is aimed at programs suffering from inefficiencies due to the repetition of identical subcomputations. The execution of an example is analysed to locate repeated subcomputations. Then the structure of the example is used to control a fold-unfold-transformation of the program. The transformation can be automated. The method can be regarded as an extension of explanation based learning.