GEP Book

  Home
  News
  Author
  Q&A
  Tutorials
  Downloads
  GEP Biblio
  Contacts

  Visit Gepsoft

 

C. FERREIRA Advances in Complex Systems, Vol. 5, No.4, 389-408, 2002

Genetic Representation and Genetic Neutrality in Gene Expression Programming

Introduction
 
The evolving entities of many artificial evolutionary systems are simple replicators which survive by virtue of their own properties. The chromosomes of genetic algorithms (GAs) [9] or the parse trees of genetic programming (GP) [12] are examples of simple replicators. The properties of such replicators are the properties of the individual and no development takes place in these systems. This is very different from natural evolutionary systems in which replicators survive by virtue of causal effects on the phenotype [6, 13]. In these systems, replicators and phenotypes are autonomous entities with different functions and properties. Also important is that, in replicator/phenotype systems, a certain degree of development is already present.

No matter how complex the genotype/phenotype system, the development always starts with translation, the transfer of information from the genotype to something else. This “something else” can take different forms like, for instance, the natural RNA or proteins. However, all the immediate products of expression share an important property: their class membership is intrinsic, i.e., the genes of a particular class always produce valid structures of the respective class. Indeed, genotype/phenotype systems with imperfect translation mechanisms are not known to exist in nature. Only in artificial evolutionary systems can these systems be found [3, 18]. In summary, a truly functional genotype/phenotype system must allow a perfect mapping so that evolution could occur smoothly and efficiently.

The automatic evolution of computer programs can also be done smoothly and efficiently provided a genuine genotype/phenotype mapping is created. The creation of such a mapping requires some creative thinking because proteins and computer programs are very different things. Thankfully, computer programs are much easier to understand than proteins and it is not necessary to know, for instance, the rules that determine the three-dimensional structure of proteins to create a simple genotype/phenotype system capable of evolving computer programs. What are, then, the fundamental properties common to the DNA/protein system and to an artificial system especially designed to evolve efficiently computer programs? Obviously, the first is the creation of the genome/program dyad; and second, no matter what, the genome must always produce valid programs. And how can that be accomplished?

Turning to nature for inspiration can help. How does the DNA/protein system cope with complexity? Is the information somehow fragmented in the genome? Maybe the fragmentation of the genome in genes can also be useful in a simple artificial evolutionary system? And what about expression in nature? Is all the information encoded in the genome always expressed? How is it possible to differentiate the information that gets to be expressed from the silenced one? Why is differentiation important? Might this also be of any use in artificial evolutionary systems? Although the answers to all these questions are still being sought, what is known is that, in nature, genomes are vastly redundant, with lots and lots of so called junk DNA which is never expressed: highly repetitive sequences, introns, pseudogenes, and so forth. So, most probably, the introduction of junk sequences in an artificial genome can also be useful.

The genetic representation used in gene expression programming (GEP) explores both the fragmentation of the genome in genes and the existence of junk sequences or non-coding regions in the genome [7]. As Kimura hypothesized [11], the accumulation of neutral mutations plays an important role in evolution. And the non-coding regions of GEP are ideal places for the accumulation of neutral mutations. Thus, in this work, the importance of neutral regions in the genome and, consequently, the importance of neutral mutations in evolution is analyzed using the fully functional genotype/phenotype system of gene expression programming.

Home | Contents | Previous | Next