Strongly Typed Genetic Programming

Genetic programming is a powerful method for automatically generating computer programs via the process of natural selection (Koza, 1992). However, in its standard form, there is no way to restrict the programs it generates to those where the functions operate on appropriate data types. In the case when the programs manipulate multiple data types and contain functions designed to operate on particular data types, this can lead to unnecessarily large search times and/or unnecessarily poor generalization performance. Strongly typed genetic programming (STGP) is an enhanced version of genetic programming that enforces data-type constraints and whose use of generic functions and generic data types makes it more powerful than other approaches to type-constraint enforcement. After describing its operation, we illustrate its use on problems in two domains, matrix/vector manipulation and list manipulation, which require its generality. The examples are (1) the multidimensional least-squares regression problem, (2) the multidimensional Kalman filter, (3) the list manipulation function NTH, and (4) the list manipulation function MAPCAR.

[1]  湯浅 太一,et al.  Common Lisp(パネル討論会) , 1986 .

[2]  John R. Koza,et al.  Genetic Programming II , 1992 .

[3]  David Montana,et al.  Genetic search of a generalized Hough transform space , 1992, Defense, Security, and Sensing.

[4]  John R. Koza,et al.  Genetic programming 2 - automatic discovery of reusable programs , 1994, Complex Adaptive Systems.

[5]  Gilbert Syswerda,et al.  Uniform Crossover in Genetic Algorithms , 1989, ICGA.

[6]  Cezary Z. Janikow,et al.  A methodology for processing problem constraints in genetic programming , 1996 .

[7]  J. Pollack,et al.  Coevolving High-Level Representations , 1993 .

[8]  E. T. Wong Generalised Inverses as Linear Transformations , 1979 .

[9]  Nichael Lynn Cramer,et al.  A Representation for the Adaptive Generation of Simple Sequential Programs , 1985, ICGA.

[10]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[11]  Timothy Perkis,et al.  Stack-based genetic programming , 1994, Proceedings of the First IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence.

[12]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[13]  Lawrence. Davis,et al.  Handbook Of Genetic Algorithms , 1990 .

[14]  S. E. Keene,et al.  A programmer's guide to object-oriented programming in Common LISP , 1988 .

[15]  C. D. Meyer,et al.  Generalized inverses of linear transformations , 1979 .

[16]  Lawrence Davis,et al.  Genetic Algorithms and Simulated Annealing , 1987 .