Should I prevent individuals mating with themselves in EAs?

In evolutionary algorithms, should I always avoid individuals mating (crossover) with themselves? That is, should I prevent the selection algorithm from selecting a single parent twice to produce a child with itself?

I'm interested in the general case as well as for tournament selection.

Topic evolutionary-algorithms

Category Data Science


When talking about Evolutionary Algorithms, you will have to decide between diversity or specialization of the possible solutions.

You should not let individuals crossover themselves because you will be loosing diversity in your algorithm.

But, there is the exception to this rule: You need to make sure you are not punishing the success of this individual if he is the best, you could make sure this individual passes to the next generation by preserving the best parents.

The answer to your question is: Prevent auto-crossover but make sure you don't loose this solution when selecting the ones passing to the next generation (Elite group, passing n of the best parents)

In tournament selection, is not common to select the same individual as a participant of the tournament twice, so this possibility should not be one of your worries.

In roulette selection, be sure you don't eliminate successful individuals.

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.