Mestica
Mestica

Reputation: 1529

Should I always mutate the offspring in steady-state selection?

Having read the pseudocode for implementing steady-state selection in Genetic Algorithms in Essentials of Metaheuristics and this site, should I always mutate the children or I should subject it to a mutation probability, say 50%?

I was a bit worried that population will not converge if I always do mutation at each generation, because the chromosomes are represented by real number values from 0 to 1.

Upvotes: 3

Views: 298

Answers (1)

Patrick Trentin
Patrick Trentin

Reputation: 7342

The behaviour of a Genetic Algorithm is very sensible with respect to the weight values that you heuristically choose.

The probability values assigned to each action really depend on the particular genetic scheme that you are applying, the way in which data is represented and affected by mutation and crossover, the initial population and the problem itself.

So, in order to heuristically choose the best weight values for your problem, I advice you to keep track of the following data:

  • the evolution of the Entropic Diversity Index (ref: Wikipedia) of your population as time goes by
  • the evolution of the best fitness function value within your population as time goes by
  • the evolution of the average fitness function value within your population as time goes by
  • the rate of new individuals that appear with the same genetic code as existing (or past) individuals

Here I attach a plot which shows the evolution of these parameters in one of the earliest executions (I still had to balance it out) of AGER, a custom-made genetic algorithm that is capable of automatically finding the best approximation of the ideal design of an embedded microprocessor based on the simplescalar architecture for executing a given application.

enter image description here (click to enlarge picture)

Ideally, you want to set your weight values so that the initial slope is as low as possible, but not up to a point that average fitness function value doesn't improve along several generations (it should be allowed to temporarily worsen, though). The diversity should be kept relatively high as long as possible, while the average value of the fitness function should be grow very slowly (unlike in the picture). The best fitness value, instead, should verified to be a monotonically increasing function.


Having said this, a rate of mutation equal to 50% seems to be very high.

Upvotes: 4

Related Questions