Genetic operators are the core of all genetic algorithms, and two of them are common to all evolutionary systems: selection and replication. Indeed, all artificial systems use a scheme to select individuals more or less according to fitness. Some schemes are totally deterministic, whereas others include a touch of unpredictability. For GEP, I chose one of the latter, namely, a fitness proportionate roulette-wheel scheme
(Goldberg 1989) coupled with the cloning of the best individual (simple elitism) as it pretty accurately mimics nature and produces very good results.
According to fitness and the luck of the roulette, individuals are selected to be replicated. Although vital, replication is the most uninteresting operator. During replication, chromosomes are dully copied into the next generation. The fitter the individual the higher the probability of leaving more offspring. Thus, during replication, the genomes of the selected individuals are copied as many times as the outcome of the roulette. The roulette is spun as many times as there are individuals in the population, maintaining always the same population size.
Although the center of the storm, selection and replication, by themselves, do nothing in terms of evolution. In fact, they can only cause genetic drift, making populations less and less diverse with time until all the individuals are exactly the same. So, the
cornerstone of all evolutionary systems is modification, or more specifically, the genetic operators that cause variation. And different algorithms create this modification differently. For instance, GAs normally use mutation and recombination; GP uses almost exclusively GP-specific recombination; and GEP uses mutation, recombination and transposition.
With the exception of GP, which is severely constrained in terms of tools of genetic modification, in GAs and GEP, it is possible to implement easily a vast set of genetic operators capable of causing genetic diversification (from now on, unless otherwise stated, I will use the designation ‘genetic operators’ to refer to those with intrinsic transforming power, putting selection and replication aside) because the chromosomes of both algorithms allow their easy implementation. In fact, I implemented several genetic operators in GEP in order to shed some light on the dynamics of evolutionary systems, but what is important is to provide for the necessary degree of genetic diversification to allow an efficient evolution. Mutation alone (by far the most important operator) is capable of wonders. However, the interplay of mutation and the other genetic operators not only allows an effective evolution but also allows the duplication of building blocks, their circulation in the genetic pool, the creation of repetitive sequences, etc., making things really interesting.
In the remainder of this section we will see how genetic operators work and how their implementation in GEP is a child’s play due to the genotype/phenotype mapping.
|