Results 1 - 10
of
10
Learning Recursive Relations with Randomly Selected Small Training Sets
- In W.W. Cohen and H. Hirsh (eds), Proc. of ICML'94
, 1994
"... We evaluate CRUSTACEAN, an inductive logic programming algorithm that uses inverse implication to induce recursive clauses from examples. This approach is well suited for learning a class of self-recursive clauses, which commonly appear in logic programs, because it searches for common substructures ..."
Abstract
-
Cited by 9 (0 self)
- Add to MetaCart
We evaluate CRUSTACEAN, an inductive logic programming algorithm that uses inverse implication to induce recursive clauses from examples. This approach is well suited for learning a class of self-recursive clauses, which commonly appear in logic programs, because it searches for common substructures among the examples. However, little evidence exists that inverse implication approaches perform well when given only randomly selected positive and negative examples. We show that CRUSTACEAN learns recursive relations with higher accuracies than GOLEM, yet with reasonable efficiency. We also demonstrate that increasing the number of randomly selected positive and negative examples increases its accuracy on randomly selected test examples, increases the frequency in which it outputs the target relation, and reduces its number of outputs. We also prove a theorem that defines the class of logic programs for which our approach is complete. 1 MOTIVATION This paper extends our previous work (Ah...
Towards a New Concept of Software
- Software Engineering Journal
, 1994
"... The article develops three inter-related ideas: that a `well structured' software system may be understood as a compressed representation of its inputs and its outputs; that software design may be seen as a process of information compression; and that the execution of software may also be understood ..."
Abstract
-
Cited by 9 (6 self)
- Add to MetaCart
The article develops three inter-related ideas: that a `well structured' software system may be understood as a compressed representation of its inputs and its outputs; that software design may be seen as a process of information compression; and that the execution of software may also be understood as a process of information compression. Information compression may be achieved by the comparison or matching of patterns, the merging or unification of patterns which are the same, and a search through the space of possible unifications to find the set or sets giving the most compression. A prototype has been developed of a `new generation' computing system which is dedicated to information compression by pattern matching, unification and search. Examples from the prototype are presented to illustrate the themes of the article. These ideas can mean increased efficiency in software development and increased quality in the resulting product. Planned developments of the ideas are briefly des...
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.
Inductive Synthesis of Recursive Functional Programs A Comparison of Three Systems
"... One of the most challenging subfields, and a still little researched niche of machine learning, is the inductive synthesis of recursive programs from incomplete specifications, such as examples for the desired input/output behavior [1–4]. The special appeal of an inductive approach to automated prog ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
One of the most challenging subfields, and a still little researched niche of machine learning, is the inductive synthesis of recursive programs from incomplete specifications, such as examples for the desired input/output behavior [1–4]. The special appeal of an inductive approach to automated program construction is
An Explanation Based Generalization Approach to Inductive Synthesis of Functional Programs
"... We describe an approach to the inductive synthesis of recursive equations from input/outputexamples which is based on the classical twostep approach to induction of functional Lisp programs of Summers (1977). In a first step, I/Oexamples are rewritten to traces which explain the outputs given the re ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
We describe an approach to the inductive synthesis of recursive equations from input/outputexamples which is based on the classical twostep approach to induction of functional Lisp programs of Summers (1977). In a first step, I/Oexamples are rewritten to traces which explain the outputs given the respective inputs based on a datatype theory. This traces can be integrated into one conditional expression which represents a non-recursive program. In a second step, this initial program term is generalized into recursive equations by searching for syntactical regularities in the term. Our approach extends the classical work in several aspects. The most important extensions are that we are able to induce a set of recursive equations in one synthesizing step, the equations may contain more than one recursive call, and additionally needed parameters are automatically introduced. 1.
Intelligence, pages 318--323. IEEE Computer Society Press, New York, 1994. 223 [116] W. A. Tackett.
"... s International 36(10), 5410B. (University Microfilms No. 76--9381). [21] P. de Souza and S. Talukdar. Genetic algorithms in asynchronous teams. In R. K. Belew and L. B. Booker, editors, Proceedings of the Fourth International Conference on Genetic Algorithms, San Mateo, CA, 1991. Morgan Kaufmann. [ ..."
Abstract
- Add to MetaCart
s International 36(10), 5410B. (University Microfilms No. 76--9381). [21] P. de Souza and S. Talukdar. Genetic algorithms in asynchronous teams. In R. K. Belew and L. B. Booker, editors, Proceedings of the Fourth International Conference on Genetic Algorithms, San Mateo, CA, 1991. Morgan Kaufmann. [22] K. DeJong. Genetic algorithms are not function optimizers. In L. D. Whitley, editor, Foundations of Genetic Algorithms, San Mateo, CA, 1993. Morgan Kaufmann. [23] P. D'haeseleer. Context preserving crossover in genetic programming. In Proceedings of the 1994 IEEE World Congress on Computational Intelligence, volume 1, pages 256--261. IEEE Press, 1994. [24] B. D. Dunay, F. E. Petry, and W. P Buckles. Regular language induction with genetic programming. In Proceedings of the 1994 IEEE World Congress on Computational Intelligence. IEEE Press, 1994. [25] R.E. Fikes and N. Nilsson. Strips: A new approach to the application of theorem proving to problem solving. Artificial Intelligence, 2(3):1...
Omega calculus - Simplification of realizations, v. 9.0
"... We present the base realizations of the imperative program synthesis system bases on logic. We give rules of simplications which dene a relation between realizations named the computational equivalence. Using this relation allows to transform realizations into simpler equivalent realizations using ..."
Abstract
- Add to MetaCart
We present the base realizations of the imperative program synthesis system bases on logic. We give rules of simplications which dene a relation between realizations named the computational equivalence. Using this relation allows to transform realizations into simpler equivalent realizations using less ressources for their executions. 1 Introduction The system is an imperative program synthesis system based on a non-classical linear logic of actions and causality, the logic. The formulae of logic can describe situations, actions and eternal truths. A situation formula is understood as the action to do things in such a way that the situation holds. Thus, everything become actions. The synthesized programs are C ++ object-oriented programs. The main tool of the system is the realized formulae. A realized formulae is an expression R : A meaning that the realization R realizes the formula A. A realization R is an object in the sense of object-oriented programming which has a met...
Software As Learning: Validation and Maintenance Issues
"... We reconsider validation and maintenance characteristics of software systems under the analogy between software science and philosophy of science or, more precisely, between software construction and machine learning (ML). From this outset, many classical techniques from ML can be used. In particula ..."
Abstract
- Add to MetaCart
We reconsider validation and maintenance characteristics of software systems under the analogy between software science and philosophy of science or, more precisely, between software construction and machine learning (ML). From this outset, many classical techniques from ML can be used. In particular, we adapt a constructive extension of reinforcement learning to address the question in a formal way. We define a measure of software 'predictiveness', which is identified with soft- ware validation, to represent the stability of a system. An inversely related measure, the probability of modification, is also obtained for each component and for the whole system. The application in practice of these measurements is discussed. From here, we present some models of maintenance cost based on a detailed combination of predictiveness and modifiabiHty. We study different software arrangement topologies theoretically. Hierarchised topologies, especially downward confluent ones such as trees and lattices involve less maintenance costs. Moreover, some intuitive rationales are confirmed, namely that compressed systems and coherent models (without patches or exceptions) are manifestly more maintainable.
Porting IgorII from MAUDE to HASKELL Introducing a System’s Design
"... This paper describes our efforts and solutions in porting our IP system IGOR 2 from the termrewriting language MAUDE to HASKELL. We describe how, for our purpose necessary features of the homoiconic language MAUDE can be simulated in HASKELL using a stateful monad transformer. With our new implement ..."
Abstract
- Add to MetaCart
This paper describes our efforts and solutions in porting our IP system IGOR 2 from the termrewriting language MAUDE to HASKELL. We describe how, for our purpose necessary features of the homoiconic language MAUDE can be simulated in HASKELL using a stateful monad transformer. With our new implementation we are now able to use higher-order context during our synthesis and extract information from type classes useable as background knowledge. Keeping our new implementation as close as possible to our old, we could keep all features of our system.

