Gene Expression Programming: A New Adaptive Algorithm for Solving Problems

Gene expression programming, a genotype/phenotype genetic algorithm (linear and ramified), is presented here for the first time as a new technique for the creation of computer programs. Gene expression programming uses character linear chromosomes composed of genes structurally organized in a head and a tail. The chromosomes function as a genome and are subjected to modification by means of mutation, transposition, root transposition, gene transposition, gene recombination, and oneand two-point recombination. The chromosomes encode expression trees which are the object of selection. The creation of these separate entities (genome and expression tree) with distinct functions allows the algorithm to perform with high efficiency that greatly surpasses existing adaptive techniques. The suite of problems chosen to illustrate the power and versatility of gene expression programming includes symbolic regression, sequence induction with and without constant creation, block stacking, cellular automata rules for the density-classification problem, and two problems of boolean concept learning: the 11-multiplexer and the GP rule problem.

[1]  M Mitchell,et al.  The evolution of emergent computation. , 1995, Proceedings of the National Academy of Sciences of the United States of America.

[2]  James P. Crutchfield,et al.  Evolving cellular automata to perform computations , 1997 .

[3]  Peter Nordin,et al.  Genetic programming - An Introduction: On the Automatic Evolution of Computer Programs and Its Applications , 1998 .

[4]  Una-May O'Reilly,et al.  A comparative analysis of genetic programming , 1996 .

[5]  Peter J. Angeline,et al.  A Comparative Analysis of Genetic Programming , 1996 .

[6]  P. Nordin Genetic Programming III - Darwinian Invention and Problem Solving , 1999 .

[7]  F. Young Biochemistry , 1955, The Indian Medical Gazette.

[8]  R. Dawkins River Out of Eden , 1995 .

[9]  John R. Koza,et al.  Genetic programming - on the programming of computers by means of natural selection , 1993, Complex adaptive systems.

[10]  John R. Koza,et al.  Genetic Programming III: Darwinian Invention & Problem Solving , 1999 .

[11]  John R. Koza Genetic Programming III - Darwinian Invention and Problem Solving , 1999, Evolutionary Computation.

[12]  M. Lynch,et al.  The evolutionary fate and consequences of duplicate genes. , 2000, Science.

[13]  Melanie Mitchell,et al.  Evolving cellular automata to perform computations: mechanisms and impediments , 1994 .

[14]  Martin C. Martin,et al.  Genetic programming in C++: implementation issues , 1994 .

[15]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

[16]  Dorothea Heiss-Czedik,et al.  An Introduction to Genetic Algorithms. , 1997, Artificial Life.

[17]  J. Pollack,et al.  Coevolving the "Ideal" Trainer: Application to the Discovery of Cellular Automata Rules , 1998 .

[18]  Wolfgang Banzhaf,et al.  Genotype-Phenotype-Mapping and Neutral Variation - A Case Study in Genetic Programming , 1994, PPSN.

[19]  Mike Mannion,et al.  Complex systems , 1997, Proceedings International Conference and Workshop on Engineering of Computer-Based Systems.

[20]  James P. Crutchfield,et al.  Revisiting the Edge of Chaos: Evolving Cellular Automata to Perform Computations , 1993, Complex Syst..

[21]  D. E. Goldberg,et al.  Genetic Algorithms in Search , 1989 .

[22]  Eörs Szathmáry,et al.  The Major Transitions in Evolution , 1997 .

[23]  James P. Crutchfield,et al.  A Genetic Algorithm Discovers Particle-Based Computation in Cellular Automata , 1994, PPSN.

[24]  W. Banzhaf,et al.  Genetic programming using genotype-phenotype mapping from linear genomes into linear phenotypes , 1996 .

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