Gene expression programming (GEP) is a genetic algorithm that takes individuals' populations and adds genetic diversity using one or more genetic operators. 

The fundamental difference between the three algorithms is the nature of the individuals:

  • In GAs, individuals are linear strings of fixed length (chromosomes).
  • In GP, individuals are nonlinear entities of various sizes and shapes (parse trees).
  • In GEP, individuals are encoded as linear strings of fixed length and then expressed as nonlinear entities of various sizes and shapes (i.e., simple diagram representations).

Like a living organism, these computer programs are intricate tree structures that can change in size, form, and composition as they learn and adapt. Furthermore, GEP's computer programs are encoded in basic linear chromosomes with a defined length, just like those of biological things. As a result, GEP functions, utilizing a sophisticated phenotype to investigate and adapt to its surroundings and a basic genome to store and transfer genetic information.

Evolutionary algorithms

Evolutionary algorithms employ populations of individuals, select individuals based on fitness, and add genetic diversity by employing one or more genetic operators. They were first utilized in artificial computational systems in the 1950s to tackle optimization issues. However, evolutionary algorithms gained popularity after Rechenberg introduced evolution techniques in 1965. Mitchell's (1996) book "An Introduction to Genetic Algorithms" introduces evolutionary algorithms well.

Gene expression programming is an evolutionary algorithm linked to genetic algorithms and programming. It inherits linear chromosomes of fixed length from genetic algorithms and expressive parse trees of various sizes and shapes from genetic programming.

The linear chromosomes serve as the genotype, and the parse trees are the phenotype in gene expression programming, resulting in a genotype/phenotype system. Because this genotype/phenotype system is multigenic, each chromosome encodes many parse trees. It indicates that GEP's computer programs comprise numerous parse trees. Because these parse trees are the outcome of gene expression, they are called expression trees in GEP. 

Selection method

Roulette-wheel selection is likely the most widely used selection method in evolutionary computing. It entails assigning each program's fitness to a portion of the roulette wheel proportional to its fitness. Then, the roulette is turned as many times as there are programs in the population to keep the population size constant. 

Thus, with roulette-wheel selection, programs are chosen based on fitness and chance, which can result in the loss of desirable characteristics. Nevertheless, by combining roulette-wheel selection with cloning the best program from each iteration, one can ensure that at least the best characteristics are preserved. Most stochastic selection schemes employ this technique of replicating the best-of-generation program, known as simple elitism.

Mutation

Mutation is the most significant genetic operator in gene expression programming. It modifies genomes by substituting one element for another. The accumulation of numerous minor alterations over time can result in a vast diversity.

In gene expression programming, mutation is completely unrestricted, meaning any domain symbol can be substituted in any gene domain. In the heads of genes, for instance, any function can be replaced by a terminal or another function, irrespective of the number of arguments in the new function, and a terminal can be replaced by a function or another terminal.

Conclusion

There are numerous other genetic operators, and in gene expression programming, with its various genes and gene domains, the possibilities are virtually limitless. Genetic operators such as one-point recombination, two-point recombination, gene recombination, uniform recombination, gene transposition, root transposition, domain-specific mutation, domain-specific inversion, domain-specific transposition, etc., are simple to implement and widely utilized.

Sources of Article

Image source: Unsplash

Want to publish your content?

Publish an article and share your insights to the world.

Get Published Icon
ALSO EXPLORE