Question

I am a little confused by the elitism concept in Genetic Algorithm (and other evolutionary algorithms). When I reserve and then copy 1 (or more) elite individuals to the next generation,

  • Should I consider the elite solution(s) in the parent selection of the current generation (making a new population)?
  • Or, should I use others (putting the elites aside) for making a new population and just copy the elites directly to the next generation?

If the latter, what is the use of elitism? Is it just for not losing the best solution? Because in this scheme, it won't help the convergence at all.

for example, here under the crossover/mutation part, it is stated that the elites aren't participating.

(Of course, the same question can be asked about the survivor selection part.)

Was it helpful?

Solution

Elitism only means that the most fit handful of individuals are guaranteed a place in the next generation - generally without undergoing mutation. They should still be able to be selected as parents, in addition to being brought forward themselves.

That article does take a slightly odd approach to elitism. It suggests duplicating the most fit individual - that individual gets two reserved slots in the next generation. One of these slots is mutated, the other is not. That means that, in the next generation, at least one of those slots will reenter the general population as a parent, and possibly two if both are overtaken.

It does seem a viable approach. Either way - whether by selecting elites as parents while also perpetuating them, or by copying the elites and then mutating one - the elites should still be closely attached to the population at large so that they can share their beneficial genes around.

@Peladao's answer and comment are also absolutely spot on - especially on the need to maintain diversity and avoid premature convergence, and the elites should only represent a small portion of the population.

OTHER TIPS

I see no reason why one would not use the elites as parents, besides perhaps a small loss in diversity. (The number of elites should therefore be small compared to the population size).

Since the elites are the best individuals, they are valuable candidates to create new individuals using crossover, as long as the elites themselves are also copied (unchanged) into the new population.

Keeping sufficient diversity and avoiding premature convergence is always important, also when elites are not used as parents.

There exists different methodologies used in order to implement elitism, as pointed out also by the other valid answers.
Generally, for elitism, just copy N individuals in the new generation without applying any kind of change. However this individuals can be selected by fitness ranking (true elitism) guaranteeing that the bests are really "saved", or they can be chosen via proportional selection (as pointed out in the book Machine Learning by Mitchell T.). The latter one is the same used in the roulette selection, but note that in this case the individuals are not used for generating new offspring, but are directly copied in the new population (survivors!). When the selection for elitism is proportional we obtain a good compromise between a lack of diversity and a premature over-fitting situation.

Applying real elitism and avoiding to use the "elite" as parents will be counter-productive, especially considering the validity of the crossover operation.

In nutshell the main points about using elitism are:

  1. The number of elites in the population should not exceed say 10% of the total population to maintain diversity.
  2. Out of this say 5% may be direct part of the next generation and the remaining should undergo crossover and mutation with other non-elite population.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top