GEP Book

  Home
  News
  Author
  Q&A
  Tutorials
  Downloads
  GEP Biblio
  Contacts

  Visit Gepsoft

 

C. FERREIRA In R. Roy, M. Köppen, S. Ovaska, T. Furuhashi, and F. Hoffmann, eds., Soft Computing and Industry: Recent Applications, pages 635-654, Springer-Verlag, 2002.

Gene Expression Programming in Problem Solving

Gene Expression Programming
 

Gene expression programming was invented by myself in 1999 (Ferreira 2001), and is the natural development of GAs and GP. GEP uses the same kind of diagram representation of GP, but the entities evolved by GEP (expression trees) are the expression of a genome. Therefore, with GEP, the second evolutionary threshold - the Phenotype Threshold - is crossed, providing new and efficient solutions to evolutionary computation.

The great insight of GEP consisted in the invention of chromosomes capable of representing any expression tree. For that a new language was created so that the information of GEP chromosomes could be read and expressed. Also important is that the structure of GEP chromosomes allows the easy implementation of multiple genes, each encoding a sub-program. On the other hand, the structural and functional organization of GEP genes and their interplay with expression trees, always guarantees the production of valid programs, no matter how much or how profoundly we modify the chromosomes.

In contrast to its analogous cellular gene expression, the expression of the genetic information in GEP is rather simple. The main players in GEP are only two: the chromosomes and the expression trees (ETs), being the latter the expression of the genetic information encoded in the former. As in nature, the process of information decoding is called translation. And this translation implies obviously a kind of code and a set of rules. The genetic code is very simple: a one-to-one relationship between the symbols of the chromosome and the functions or terminals they represent. The rules are also very simple: they determine the spatial organization of the functions and terminals in the ETs and the type of interaction between sub-ETs.

In GEP there are therefore two languages: the language of genes and the language of ETs, and knowing the sequence or structure of one, is knowing the other. In nature, despite being possible to infer the sequence of proteins given the sequence of genes and vice versa, we practically know nothing about the rules that determine the three-dimensional structure of proteins. But in GEP, thanks to the simple rules that determine the structure of ETs and their interactions, it is possible to infer immediately the phenotype given the sequence of a gene, and vice versa. This bilingual and unequivocal system is called Karva language.

The tutorial proceeds with the presentation of the structural and functional organization of GEP chromosomes; how the chromosomes are translated into expression trees; how the chromosomes function as genotype and the expression trees as phenotype; and how an individual program is created, matured, and reproduced, leaving offspring with new properties, thus, capable of adaptation.

Home | Contents | Previous | Next