scispace - formally typeset
Open AccessProceedings Article

Explanation based program transformation

TLDR
In the context of logic programming, a technique where the folding is driven by an example is presented, aimed at programs suffering from inefficiencies due to the repetition of identical subcomputations.
Abstract
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.

read more

Content maybe subject to copyright    Report

Citations
More filters
Book ChapterDOI

Synthesis of Eureka Predicates for Developing Logic Programs

TL;DR: Two strategies are introduced, the Loop Absorption Strategy and the Generalization Strategy, which in many cases determine the new predicates to be defined during program transformation and some classes of programs in which they are successful are presented.
Journal ArticleDOI

Induction of logic programs by example-guided unfolding

TL;DR: The theoretical analysis shows that the hypothesis space is larger for Covering, and thus more compact hypotheses may be found by this technique than by Divide-and-Conquer, and there is an equivalent hypothesis for each non-recursive hypothesis that can be produced by Covering.
Proceedings Article

Learning by Refining Algorithm Sketches

TL;DR: A mechanism that improves significantly the performance of a top-down inductive logic programming (ILP) learning system at the cost of giving to the system extra information that is not difficult to formulate is suggested.
Proceedings Article

How to specialize by theory refinement

TL;DR: This paper presents an interactive incremental learning method with a "smallest generalization steps" strategy such that whenever a learned concept is overgeneral, the method specializes it and efficiently helps a user to identify the insufficiencies of the concept language and in improving it if necessary.
Book ChapterDOI

Eliminating redundancy in explanation-based learning

TL;DR: An EBL algorithm for Horn clause theories, called EGU (Example-Guided Unfolding), that does not introduce search state redundancy is presented, based upon the observation made by several researchers that EBL bears strong resemblance to partial evaluation in the area of logic programming.
References
More filters
Book

Logic for problem solving

TL;DR: This book investigates the application of logic to problem-solving and computer programming and assumes no previous knowledge of these fields, and may be Karl duncker in addition to make difficult fill one of productive.
Journal ArticleDOI

A Transformation System for Developing Recursive Programs

TL;DR: A system of rules for transforming programs, with the programs in the form of recursion equations, are described, with an initially very simple, lucid, and hopefully correct program transformed into a more efficient one by altering the recursion structure.
Journal ArticleDOI

Explanation-based generalization: a unifying view

TL;DR: This paper proposed a general, domain-independent mechanism, called EBG, that unifies previous approaches to explanation-based generalization, which is illustrated in the context of several example problems, and used to contrast several existing systems for explanation based generalization.
Journal ArticleDOI

Explanation-Based Learning: An Alternative View

TL;DR: Six specific problems with the previously proposed framework for the explanation-based approach to machine learning are outlined and an alternative generalization method to perform explanation- based learning of new concepts is presented.

A specification of an abstract Prolog machine and its application to partial evaluation

TL;DR: This work investigates partial evalution of Prolog programs as a part of a theory of interactive, incremental programming, and outlines how meta-rules that control the execution of the Prolog program can be incorporated into the system in a clean way.