Search code examples
genetic-algorithmevolutionary-algorithm

Cellular Genetic Algorithm - individual evaluation before selecting parents


In the Cellular Genetic Algorithm:

for each cell in the grid do in parallel
    generate a random individual
end parallel for
while not termination condition do
    for each cell in the grid do in parallel
        Evaluate individual
        Select individual(s) in the neighbourhood ( )
        Produce offspring
        Evaluate offspring
        Assign one of the offspring to cell according to some criterion
    end parallel for
end while

Why the individual must be evaluated before selecting the parents? (line 6). As I understand, the evaluation must be done on the proudced individual (i.e. offspring) after applying the operators.


Solution

  • In genetic algorithms, good solutions should be rewarded with higher mating chance (transfering their DNAs to next generations). For example, fast and strong (high fitness value) animals have more chance to mate. Nature gives preferential treatment to fit animals. So, in your algorithm, fitness evaluation must be done before decide to which parents will be selected for mating. Generally fitness value is directly proportionate to possibility of to be selected as a parent. To see how selection can be done: "biased roulette wheel" parent selection technique.