Results 1 -
7 of
7
Inductive Synthesis of Recursive Logic Programs
, 1997
"... The inductive synthesis of recursive logic programs from incomplete information, such as input/output examples, is a challenging subfield both of ILP (Inductive Logic Programming) and of the synthesis (in general) of logic programs from formal specifications. We first overview past and present achie ..."
Abstract
-
Cited by 27 (8 self)
- Add to MetaCart
The inductive synthesis of recursive logic programs from incomplete information, such as input/output examples, is a challenging subfield both of ILP (Inductive Logic Programming) 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.
Induction of Recursive Program Schemes
- In Proceedings of the 10th European Conference on Machine Learning (ECML-98
, 1998
"... . In this paper we present an approach to the induction of recursive structures from examples which is based on the notion of recursive program schemes. We separate induction from examples in two stages: (1) constructing initial programs from examples and (2) folding initial programs to recursiv ..."
Abstract
-
Cited by 15 (14 self)
- Add to MetaCart
. In this paper we present an approach to the induction of recursive structures from examples which is based on the notion of recursive program schemes. We separate induction from examples in two stages: (1) constructing initial programs from examples and (2) folding initial programs to recursive program schemes. By this separation, the induction of recursive program schemes can be reduced to a pattern-matching problem which can be handled by a generic algorithm. Construction of initial programs is performed with an approach to universal planning. "Background knowledge" is given in the form of operators and their conditions of application. Furthermore synthesizing recursive program schemes instead of programs in a predefined programming language enables us to combine program synthesis and analogical reasoning. A recursive program scheme represents the class of structural identical programs and can be assigned different semantics by interpretation. We believe that our appr...
Completing Open Logic Programs by Constructive Induction
- INTERNATIONAL J. OF INTELLIGENT SYSTEMS
, 1999
"... We consider part of the problem of schema-biased inductive synthesis of recursive logic programs from incomplete specifications, such as clausal evidence (for instance, but not necessarily, ground positive and negative examples). After synthesizing the base clause and introducing recursive call(s ..."
Abstract
-
Cited by 5 (4 self)
- Add to MetaCart
We consider part of the problem of schema-biased inductive synthesis of recursive logic programs from incomplete specifications, such as clausal evidence (for instance, but not necessarily, ground positive and negative examples). After synthesizing the base clause and introducing recursive call(s) to the recursive clause, it remains to combine the overall result from the partial results obtained through recursion, so as to complete the recursive clause. Evidence for this combination relation can be abduced from the initially given evidence for the top-level relation. A program for this combination relation can be anything, from a single clause performing a unification (such as for lastElem) to multiple guarded clauses performing unifications (such as for filtering programs) to recursive programs (such as for naive reverse). Existing methods cannot induce guarded clause programs for this combination relation from the abduced evidence. Some existing methods cannot even detect t...
Applying Inductive Program Synthesis to Macro Learning
- In Proceedings of the Fifth International Conference on Artificial Intelligence Planning and Scheduling (AIPS-2000
, 2000
"... The goal of this paper is to demonstrate that inductive program synthesis can be applied to learning macrooperators from planning experience. We define macros as recursive program schemes (RPSs). An RPS represents the complete subgoal structure of a given problem domain with arbitrary complexit ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
The goal of this paper is to demonstrate that inductive program synthesis can be applied to learning macrooperators from planning experience. We define macros as recursive program schemes (RPSs). An RPS represents the complete subgoal structure of a given problem domain with arbitrary complexity (e. g., rocket transportation problem with n objects), that is, it represents domain specific control knowledge. We propose the following steps for macro learning: (1) Exploring a problem domain with small complexity (e. g., rocket with 3 objects) using an universal planning technique, (2) transforming the universal plan into a finite program, and (3) generalizing this program into an RPS. Introduction Interest in learning macro-operators for planning (Minton 1985; Korf 1985) has decreased over the last decade, mainly because of the utility problem (Minton 1985). But new results in reinforcement learning are promising -- showing that more complex problems are solvable and that pla...
Synthesis of Recursive Functions with Interdependent Parameters
, 1998
"... . We present a methodology for the inductive synthesis of recursive functions based on the theoretical framework of context-free tree grammars. The synthesis task is splitted into two parts: First, a small set of positive input/output examples is transformed into an "initial program" by means of h ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
. We present a methodology for the inductive synthesis of recursive functions based on the theoretical framework of context-free tree grammars. The synthesis task is splitted into two parts: First, a small set of positive input/output examples is transformed into an "initial program" by means of heuristic search; second, the initial program is generalized to a recursive function. In this paper we concentrate on the second part of the synthesis task. We will describe our theoretical framework and propose an induction algorithm. The algorithm works without information about the number of parameters which might occur in the initial program. Subterms which change in a regular way are identified as parameters together with a substitution. It is possible to deal with substitutions which are interdependent between the parameters. Thereby we can infer a greater class of recursive functions than standard generalization-to-n techniques. Keywords. inductive program synthesis, grammatical...
Inductive Program Synthesis as Induction of Context-Free Tree Grammars
, 1998
"... . We present an application of grammar induction in the domain of inductive program synthesis. Synthesis of recursive programs from input/output examples involves the solution of two subproblems: transforming examples into straightforward programs and folding straightforward programs into (a set of) ..."
Abstract
- Add to MetaCart
. We present an application of grammar induction in the domain of inductive program synthesis. Synthesis of recursive programs from input/output examples involves the solution of two subproblems: transforming examples into straightforward programs and folding straightforward programs into (a set of) recursive equations. In this paper we focus on the second part of the synthesis problem, which corresponds to program synthesis from multiple traces or programming by demonstration. Instead of the original framework of synthesis of LISP functions and the currently prominent framework of inductive logic programming, we take a more general view coveringboth research areas: the synthesis of recursive program schemes. We show that this problem corresponds to the problem of inferring a context-free tree grammar from a single noise-free positive example and provide a synthesis method. While our method does (of course) not solve the synthesis problem for the unrestricted set of recursive program s...
A Re-Definition of Least Generalizations, and Construction Modes as a New Declarative Bias for ILP
"... The classical definition of the concept of least generalization of a clause set C is that it is a single clause. Since such a unique clause is sometimes over-general, we re-define this concept as being a minimal-sized set of clauses, each member of this set being the classical least generalization ..."
Abstract
- Add to MetaCart
The classical definition of the concept of least generalization of a clause set C is that it is a single clause. Since such a unique clause is sometimes over-general, we re-define this concept as being a minimal-sized set of clauses, each member of this set being the classical least generalization of some subset of C. The elements of these subsets are two by two compatible, in the sense that their classical least generalizations are not too general according to some over-generality criterion. We give an algorithm for computing this re-defined concept, providing thus a new approach to disjunctive concept learning. The criterion for over-generality is problem-specific. We introduce a new such criterion: two clauses are compatible, i.e., their classical least generalization is not over-general, if this least generalization is admissible wrt a construction mode capturing the required dataflow of each involved relation. We design a language for expressing such construction modes, ...

