Multi Expression Programming -- an in-depth description
  Multi Expression Programming (MEP) is a Genetic Programming variant that uses
a linear representation of chromosomes. MEP individuals are strings of genes
encoding complex computer programs. When MEP individuals encode expressions,
their representation is similar to the way in which compilers translate $C$ or
$Pascal$ expressions into machine code. A unique MEP feature is the ability to
store multiple solutions of a problem in a single chromosome. Usually, the best
solution is chosen for fitness assignment. When solving symbolic regression or
classification problems (or any other problems for which the training set is
known before the problem is solved) MEP has the same complexity as other
techniques storing a single solution in a chromosome (such as GP, CGP, GEP or
GE). Evaluation of the expressions encoded into an MEP individual can be
performed by a single parsing of the chromosome. Offspring obtained by
crossover and mutation is always syntactically correct MEP individuals
(computer programs). Thus, no extra processing for repairing newly obtained
individuals is needed.
