Representation of Individuals

One of the first decisions to take when designing an EA is how to represent design parameters of an individual. There are some different kinds of representation, like binary, floating-point, or tree representations.

The use of the binary representation originates in GAs that use a bit string to model an individual. When a bit string is used to represent an individual for a real valued problem, however, it is required to transform real design parameters into binary numbers. Since binary substrings representing each parameter with the desired precision are concatenated to form a chromosome for EAs, the resulting chromosome encoding a large number of design variables would result in a huge string length. For example, for 100 variables with a precision of six digits, the string length is about 2000. EAs would perform poorly for such design problems. In addition, the binary representation of real design parameters presents the difficulty of so-called hamming cliffs, which comes from discrepancy between the representation space and the problem space. For instance, two points close to each other in the representation space might be far in the binary represented problem space. As a consequence, EAs using the binary representation for real valued problems is unable to focus the search effort in a close vicinity of the current population. It is still an open question to construct efficient evolutionary operators that suit to such a modified problem space.

The use of the floating-point representation originates in EP and ESs. In the
floating-point representation, an individual is characterized by a vector of
real numbers. It is more natural to use the floating-point representation for
real parameter optimization problems because it is conceptually closest to the
real design space, and moreover, the string length is reduced to the number
of design variables. It has been reported that real-coded EAs outperformed binary-coded
EAs in many design problems [JM91]
[Wrig91].
An example of binary and floating-point representations is illustrated in Figure
1.

Figure 1. An example of binary and floating-point
representations |

In contrast to GA, EP and ES, where individuals are represented by different kinds of strings, in a standard genetic program, the representation used is a variable-sized tree of functions and values (see Figure 2).

Figure 2. An example of a tree representation
for GP |