There are different possibilities how to describe the essential structures and properties of a genetic algorithm. Here we are looking to GAs as a recursive procedure.

Again we assume the maximal population as a set of all possible strings of length over an alphabet as , with . The working set is a subset of as . The fitness function maps all elements of the set into a set of fitness values. We assume , otherwise no discrimination would be possible (and then also no learning). We assume further that the 'goal' of an optimization process is not the 'complete' set but some real subset where all values are bigger than some threshold . Complementary we have the set as those elements of whose fitness values are all in the goal-set , written as or .

If we assume as the maximal fitness value in and as the lowest value in then we can define a 'fuzzy' goal for a genetic process: with and we can define a 'goal region' like .

With these definitions one can classify the history of of genetic process with terms like approaching or not approaching the goal. In both cases - approaching or not-approaching - one can introduce additional classifications like monotone or not-monotone. The non-monotone case can further be subdivided into periodic or a-periodic, which is the same as random.

Additionally to this overall categories one can measure the velocity of an approach based on the numbers of cycles used for approaching the goal state.

Depending of the resulting classification one can then investigate which properties of the genetic algorithm are responsible for this behavior.

In the literature one can find thoughts about the convergence of a series of populations generated by a GA (cf. e.g. Ankenbrandt 1991 [3], Rylander et.al 2001 [318], Langdon and Poli 2002 [226], and Fogel 2006 [103]. Ankenbrandt presents the convergence problem in an algorithmic format (cf. [3]:54)).

The main driver of a genetic process is the overall genetic function . This function is a concatenated function. The most usual 'format' of a genetic function is as follows:

(5.1) | |||

(5.2) | |||

(5.3) | |||

(5.4) | |||

(5.5) |

Every genetic operator {fit, sel, cross, mut} occurs in the literature with many variants. Thus one has to give the explicit definitions every time one is using one of these variants.

Furthermore different configurations of these operators are possible. Some of these are listed here.

If these different configurations have 'real' effects then one can measure these effects and one can compare the behavior directly. For these measurements one can use the terms introduced above.

Experimental Procedure

- while(){
- ;
- t++;
- }