Results 1 - 10
of
24
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...
Inductive Synthesis of Functional Programs: An Explanation Based Generalization Approach
- Journal of Machine Learning Research
, 2006
"... We describe an approach to the inductive synthesis of recursive equations from input/outputexamples which is based on the classical two-step approach to induction of functional Lisp programs of Summers (1977). In a first step, I/O-examples are rewritten to traces which explain the outputs given t ..."
Abstract
-
Cited by 12 (3 self)
- Add to MetaCart
We describe an approach to the inductive synthesis of recursive equations from input/outputexamples which is based on the classical two-step approach to induction of functional Lisp programs of Summers (1977). In a first step, I/O-examples are rewritten to traces which explain the outputs given the respective inputs based on a datatype theory. These traces can be integrated into one conditional expression which represents a non-recursive program.
Learning Recursive Theories in the Normal ILP Setting
, 2003
"... Induction of recursive theories in the normal ILP setting is a difficult learning task whose complexity is equivalent to multiple predicate learning. In this paper we propose computational solutions to some relevant issues raised by the multiple predicate learning problem. A separate-andparallel ..."
Abstract
-
Cited by 10 (8 self)
- Add to MetaCart
Induction of recursive theories in the normal ILP setting is a difficult learning task whose complexity is equivalent to multiple predicate learning. In this paper we propose computational solutions to some relevant issues raised by the multiple predicate learning problem. A separate-andparallel -conquer search strategy is adopted to interleave the learning of clauses supplying predicates with mutually recursive definitions. A novel generality order to be imposed on the search space of clauses is investigated, in order to cope with recursion in a more suitable way. The consistency recovery is performed by reformulating the current theory and by applying a layering technique, based on the collapsed dependency graph. The proposed approach has been implemented in the ILP system ATRE and tested on some laboratory-sized and real-world data sets. Experimental results demonstrate that ATRE is able to learn correct theories autonomously and to discover concept dependencies. Finally, related works and their main differences with our approach are discussed.
Inductive Programming
- Automated Software Engineering
, 2001
"... The intent of this special issue was to bring together developments in inductive programming that have a direct bearing on software development, and to promote a broader use of the term. Inductive programming, in our view, is not a return to the overly ambitious, and thus ultimately unworkable, sche ..."
Abstract
-
Cited by 8 (1 self)
- Add to MetaCart
The intent of this special issue was to bring together developments in inductive programming that have a direct bearing on software development, and to promote a broader use of the term. Inductive programming, in our view, is not a return to the overly ambitious, and thus ultimately unworkable, schemes of automatically generating large software systems. Inductive programming is thus not just programming-by-example, nor just programming-by-demonstration, nor a panacea for software development-in-the-large. It is a mix of more subtle uses of induction to assist the software developer in a variety of ways.
Induction of Recursive Theories in the Normal ILP Setting: Issues and Solutions
- in J. Cussens and A. Frisch (Eds.), Inductive Logic Programming, Lecture Notes in Artificial Intelligence
, 2000
"... Induction of recursive theories in the normal ILP setting is a complex task because of the non-monotonicity of the consistency property. In this paper we propose computational solutions to some relevant issues raised by the multiple predicate learning problem. A separate-and-parallel-conquer sear ..."
Abstract
-
Cited by 6 (4 self)
- Add to MetaCart
Induction of recursive theories in the normal ILP setting is a complex task because of the non-monotonicity of the consistency property. In this paper we propose computational solutions to some relevant issues raised by the multiple predicate learning problem. A separate-and-parallel-conquer search strategy is adopted to interleave the learning of clauses supplying predicates with mutually recursive definitions. A novel generality order to be imposed to the search space of clauses is investigated in order to cope with recursion in a more suitable way. The consistency recovery is performed by reformulating the current theory and by applying a layering technique based on the collapsed dependency graph. The proposed approach has been implemented in the ILP system ATRE and tested in the specific context of the document understanding problem within the WISDOM project. Experimental results are discussed and future directions are drawn.
Synthesis of programs in computational logic
- PROGRAM DEVELOPMENT IN COMPUTATIONAL LOGIC
, 2004
"... Since the early days of programming and automated reasoning, researchers have developed methods for systematically constructing programs from their specifications. Especially the last decade has seen a flurry of activities including the advent of specialized conferences, such as LOPSTR, covering the ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
Since the early days of programming and automated reasoning, researchers have developed methods for systematically constructing programs from their specifications. Especially the last decade has seen a flurry of activities including the advent of specialized conferences, such as LOPSTR, covering the synthesis of programs in computational logic. In this paper we analyze and compare three state-of-the-art methods for synthesizing recursive programs in computational logic. The three approaches are constructive/deductive synthesis, schema-guided synthesis, and inductive synthesis. Our comparison is carried out in a systematic way where, for each approach, we describe the key ideas and synthesize a common running example. In doing so, we explore the synergies between the approaches, which we believe are necessary in order to achieve progress over the next decade in this field.
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...
A New Declarative Bias for ILP: Construction Modes
- Work-inProgress Reports of the Tenth International Conference on Inductive Logic Programming
"... . Inductive logic programming (ILP) systems use some declarative bias to constrain the hypothesis space. We introduce a new declarative bias, called construction modes, capturing the required dataow of a relation, and design a language for expressing such construction modes. Their semantics is c ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
. Inductive logic programming (ILP) systems use some declarative bias to constrain the hypothesis space. We introduce a new declarative bias, called construction modes, capturing the required dataow of a relation, and design a language for expressing such construction modes. Their semantics is captured via the notion of admissibility. Experiments with the ILP systems synapse and dialogs have established the usefulness of construction modes. Since the new bias is orthogonal to the existing search biases, it can be used in conjunction with the existing biases. 1 Introduction In inductive logic programming (ILP) [10], a hypothesis H is to be inferred from assumed-to-be-incomplete information (or: evidence) E and background knowledge B such that B ^H j= E, where H , E, B are logic programs. Various methods are applied to constrain the hypothesis space. A relevant method is the provision of some declarative bias, which is any form of additional input information that restricts th...
Synthesis of Recursive Programs from Finite Examples By Detection of Macro-Functions
, 2001
"... The paper is concerned with a special problem of inductive synthesis of recursive functional programs. Starting point for induction is a complete set of example computations in a nite domain. The example computations are mainly obtained by a problem solver in form of an initial shortest path tree sp ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
The paper is concerned with a special problem of inductive synthesis of recursive functional programs. Starting point for induction is a complete set of example computations in a nite domain. The example computations are mainly obtained by a problem solver in form of an initial shortest path tree spanning the problem graph. It is shown that the initial tree can be automatically transformed into a finite initial program. Induction (generalization-to-n) results in a program which transforms each initial state of any problem domain which is a recursive extension of the given fiite domain into the desired output. Programs are represented in an abstract way by terms, i.e., elements of a term algebra. Thus, our approach is simultaneously an example of the design of recursive algorithms from finite cases. The core of our investigations is to detect sub-structures in the finite initial trees playing the role of "macro-functions" (sub-routines). As compared to the "macro-operators" used in planning the main point of our approach is the de nition of macros containing all cases (operation sequences) reaching the corresponding goal including the trivial one that the goal is already true in a state. A special case of macro-induction is the invention of complex (recursive) predicates. We show that in some cases induction can only be performed after the introduction of the detected macrofunctions, considering them as elementary functions in a new, extended term algebra. In the special cases considered in this paper, the programs which can be induced after the introduction of macro-functions are linear or linear recursive, i.e. have a macro-structure which cannot easily be seen in the set (tree) of initial example computations. At the end of the paper, cognitive aspects - especially con...
Combining Inductive and Deductive Inference in Knowledge Management Tasks
- In 11th Intl. Workshop on Database and Expert Systems Applications. IEEE Computer Society
, 2000
"... This paper indicates how different logic programming technologies can underpin an architecture for distributed knowledge management in which higher throughput in information supply is achieved by a (semi-)automated solution to the more challenging problem of knowledge creation. The paper first propo ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
This paper indicates how different logic programming technologies can underpin an architecture for distributed knowledge management in which higher throughput in information supply is achieved by a (semi-)automated solution to the more challenging problem of knowledge creation. The paper first proposes working definitions of the notions of data, knowledge and information in purely logical terms, and then shows how existing technologies can be combined into an inference engine, referred to as a knowledge, information and data engine (KIDE), integrating inductive and deductive capabilities. The paper then briefly introduces the notion of virtual organizations and uses the set-up stage of virtual organizations to exemplify the value-adding potential of KIDEs in knowledge management contexts.

