Genetic Programming (GP) is a method of automatically inducing programs by representing them as parse trees. In theory, programs in any computer languages can be translated to parse trees. Hence, GP should be able to handle them as well. In practice, the syntax of Lisp is so simple and uniform that the translation process can be achieved easily, programs evolved by GP are usually expressed in Lisp. This paper presents a flexible framework that programs in various programming languages can be acquired. This framework is based on a formalism of logic grammars. To implement the framework, a system called LOGENPRO (The LOgic grammar based GENetic PROgramming system) has been developed. An experiment that employs LOGENPRO to induce a S-expression for calculating dot product has been performed. This experiment illustrates that LOGENPRO, when used with knowledge of data types, accelerates the learning of programs. Other experiments have been done to illustrate the ability of LOGENPRO in inducing programs in difference programming languages including Prolog and C. These experiments prove that LOGENPRO is very flexible.
[1]
David E. Goldberg,et al.
Genetic Algorithms in Search Optimization and Machine Learning
,
1988
.
[2]
David H. D. Warren,et al.
Definite Clause Grammars for Language Analysis - A Survey of the Formalism and a Comparison with Augmented Transition Networks
,
1980,
Artif. Intell..
[3]
C. Janikow.
A Knowledge-Intensive Genetic Algorithm for Supervised Learning
,
2004,
Machine Learning.
[4]
David J. Montana,et al.
Strongly Typed Genetic Programming
,
1995,
Evolutionary Computation.
[5]
John R. Koza,et al.
Genetic programming 2 - automatic discovery of reusable programs
,
1994,
Complex Adaptive Systems.
[6]
J. R. Quinlan.
Learning Logical Definitions from Relations
,
1990
.
[7]
John R. Koza,et al.
Genetic programming - on the programming of computers by means of natural selection
,
1993,
Complex adaptive systems.