The implementation

Figure 3.3: The gentype of the virtual creature. Adapted from [GG07] with permission.
Image Phenotype

Figure 3.4: The phenotype of the virtual creature. Adapted from [GG07] with permission.
Image Genotype

A genetic algorithm evolves a population of virtual creatures. At first it is randomly initialized (with some constraints such as maximum number of body-parts). Each genotype (genetic code) prescribes exactly the characteristics of the individual, the phenotype. Besides body-part sizes, control of the artificial muscles connected to the joints is also determined by the genotype (see figure 3.3 and figure 3.4). The muscles are controlled by a sensomotoric neural network, sensing and actuating muscles. The controlling ``nervous system'' is non-central, each joint has its own independent neural network.

The selection process is based on the distance traveled from the starting point. This distance is evaluated by a simulation in a physics engine. The calculations are normally non-visual, but can be visualized in 3D by a tool (see figure 3.5)3.2.

Figure 3.5: A screenshot of the EvoMorph visualization tool rendering a crawling creature in 3D with openGL$^{TM}$.

Image Evomorph-screenie
Erik de Bruijn 2007-10-19