2 views

edited
It's really all in the title, but here's a breakdown for anyone who is interested in Evolutionary Algorithms:

In an EA, the basic premise is that you randomly generate a certain number of organisms (which are really just sets of parameters), run them against a problem, and then let the top performers survive.

You then repopulate with a combination of crossbreeds of the survivors, mutations of the survivors, and also a certain number of new random organisms.

Do that several thousand times, and efficient organisms arise.

Some people also do things like introduce multiple "islands" of organisms, which are separate populations that are allowed to crossbreed once in a while.

So, my question is: what are the optimal repopulation percentages?

I have been keeping the top 10% performers, and repopulating with 30% crossbreeds and 30% mutations. The remaining 30% is for new organisms.

I have also tried out the multiple island theory, and I'm interested in your results on that as well.

It is not lost on me that this is exactly the type of problem an EA could solve. Are you aware of anyone trying that?

by (108k points)

Assuming you have a method for quantifying the top X% percent performers, I would suggest that instead of using a hard-coded threshold you can analyze the performance distribution and make your cutoff somewhere in the range of the first major drop in performance, and then tuning your crossbreeds, mutations, and new organisms to fill in the gaps. This way if you have a very "productive" run in which lots of variations were successful then you don't have to throw a significant number of high performers. Also, if you have an "unproductive" run you can scrap more of the existing organisms in favor of more newer organisms that should be taking their place.