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

Genetic Algorithms with Tree Representations
 
All genetic algorithms use populations of individuals, select individuals according to fitness, and introduce genetic variation using one or more genetic operators (see, e.g., [14]). In recent years different systems have been developed so that these powerful algorithms inspired in natural evolution could be applied to a wide spectrum of problem domains (see, e.g., [14] for a review of recent work on genetic algorithms and [4] for a review of recent work on genetic programming).

Structurally, genetic algorithms can be subdivided in three fundamental groups. i) Genetic algorithms with individuals consisting of linear chromosomes of fixed length devoid of complex expression. In these systems, replicators (chromosomes) survive by virtue of their own properties. The algorithm invented by Holland [9] belongs to this group, and is known as genetic algorithm or GA. ii) Genetic algorithms with individuals consisting of ramified structures of different sizes and shapes and, therefore, capable of assuming a richer number of functionalities. In these systems, replicators (ramified structures) also survive by virtue of their own properties. The algorithm invented by Cramer [5] and later developed by Koza [12] belongs to this group and is known as genetic programming or GP. iii) And genetic algorithms with individuals encoded as linear chromosomes of fixed length which are afterwards expressed as ramified structures of different sizes and shapes. In these systems, replicators (chromosomes) survive by virtue of causal effects on the phenotype (ramified structures). The algorithm invented by myself [7] belongs to this group and is known as gene expression programming or GEP.

This classification not only stresses the fundamental differences between the different kinds of genetic algorithms but also shows clearly the kinship between GEP and GP as both are engaged in the evolution of computer programs as ramified structures. In the next section the fundamental differences between GEP and GP are briefly highlighted.

Home | Contents | Previous | Next