GEP Book

  Home
  News
  Author
  Q&A
  Tutorials
  Downloads
  GEP Biblio
  Contacts

  Visit Gepsoft

 

C. FERREIRA In Leandro N. de Castro and Fernando J. Von Zuben, eds., Recent Developments in Biologically Inspired Computing, pages 82-103, Idea Group Publishing, 2004.

Gene Expression Programming and the Evolution of Computer Programs

Mutation
 
In gene expression programming, mutations can occur anywhere in the chromosome. However, the structural organization of chromosomes must remain intact, that is, in the heads any symbol can change into another (function or terminal), whereas in the tails terminals can only change into terminals. This way, the structural organization of chromosomes is preserved, and all the new individuals produced by mutation are structurally correct programs.

Consider the following three-genic chromosome:

012345678901201234567890120123456789012

/bQa**bbbbaba--+*Q-abbbabaQ*a+**baabbba

Suppose a mutation changed the “*” at position 5 in gene 1 to “a”; the “-” at position 1 in gene 2 to “Q”; and the “a” at position 2 in gene 3 to “*”. In this case the following chromosome is obtained:

012345678901201234567890120123456789012

/bQa*abbbbaba-Q+*Q-abbbabaQ**+**baabbba

Note that if a function is mutated into a terminal or vice versa, or a function of one argument is mutated into a function of two arguments or vice versa, the expression tree is usually modified drastically. Note also that the mutation on gene 1 is an example of a neutral mutation, as it occurred in the non-coding region of the gene. It is worth emphasizing that the non-coding regions of GEP chromosomes are ideal places for the accumulation of neutral mutations which are known to play an important role in evolution (Kimura 1983; Ferreira 2002b).

In summary, in gene expression programming there are no constraints both in the kind of mutation and the number of mutations in a chromosome as, in all cases, the newly created individuals are syntactically correct programs.

Home | Contents | Previous | Next