Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Elitism in GA: Should I let the elites be selected as parents?

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.)

like image 832
Mahm00d Avatar asked Jan 31 '13 09:01

Mahm00d


People also ask

How can you apply elitism in GA for the parent selection?

In nutshell the main points about using elitism are: The number of elites in the population should not exceed say 10% of the total population to maintain diversity. 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.

What is the concept of crossover in genetic algorithm?

Crossover is a genetic operator used to vary the programming of a chromosome or chromosomes from one generation to the next. Crossover is sexual reproduction. Two strings are picked from the mating pool at random to crossover in order to produce superior offspring. The method chosen depends on the Encoding Method.


2 Answers

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.

like image 185
5agado Avatar answered Oct 31 '22 12:10

5agado


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.

like image 33
Joel Rein Avatar answered Oct 31 '22 13:10

Joel Rein