Genetic representation

Difference in genetic representations is one of the major criteria drawing a line between known classes of evolutionary computation.

The main property that makes these genetic representations convenient is that their parts are easily aligned due to their fixed size.

Tree-like representations are used in GP to represent and evolve functional programs with desired properties.

[18][19] The importance of an appropriate choice of search space for the success of an EA application was recognized early on.

Thus, depending on the use of the genetic operators, there may be phenotypically unchanged offspring, which can lead to unnecessary fitness determinations, among other things.

Since the evaluation in real-world applications usually accounts for the lion's share of the computation time, it can slow down the optimization process.

In order for successful schemata not to be destroyed by genotype-phenotype mapping after a minor mutation, the locality of a representation must be high.

The simplest case is uniform scaling: all elements of the genotype are equally weighted in the phenotype.

For this reason, exponential scaling has the effect of randomly fixing the "posterior" locations in the genotype before the population gets close enough to the optimum to adjust for these subtleties.

[28][29] This is a commonly used method to improve EA performance in terms of runtime and solution quality.

An obvious and commonly used encoding for the traveling salesman problem and related tasks is to number the cities to be visited consecutively and store them as integers in the chromosome.

The genetic operators must be suitably adapted so that they only change the order of the cities (genes) and do not cause deletions or duplications.

A related application would be scrap minimization when cutting parts from a steel plate or fabric sheet.

Each object is now rotated and positioned on the edge of that side, shifting it if necessary so that it is inside the rectangle when it is subsequently moved.

Then it is moved parallel to the other side until it touches another object or reaches the opposite end of the rectangle.

In this way, overlaps are avoided and the unused area is reduced per placement, but not in general, which is left to optimization.