1
Suggestions / gene pools
« on: March 31, 2007, 07:21:35 AM »Quote from: Numsgil
Generally programs which demonstrate "awesome" results for evolution manage this because the evolution is directed. Evolution is basically a search algorithm, and the broader the solution space, the harder any search algorithm is going to have it.
Toward your actual suggestion, I'm not sure what you mean by a "life pool" or, for that matter, a "gene pool". A gene pool as I understand it is an implicit term for the combined genetic material in a population. By this definition, any population with genes has a gene pool. Second, what do you mean by "mutated in all ways"? The bots' behavior is determined by their genetic code. If you were to mutate every single base pair in the bot's genome, you would effectively have an entirely different bot.
Last, this whole section doesn't make sense to me as it's written:
Sorry, I tried to be short.
I forgot to mention that most importantly there is crossover mutation besides all the others (perhaps DB already implements it, but it would need much more usage of it.)
Gene pools: Contains genotypes that are to be compared and crossed over with one another. Bots from different gene pools can't cross over. There is one gene pool for carnivores, one for herbivores, one for veggies, for example. Or one for tieing scavengers, one for others etc.
From time to time, the program picks specific bots from one gene pool for contest. Puts them on the screen, and let them do as normally. The one with more of predefined fitness will be the winner, or simply the one that survives. The winner then will be reproduced in its own gene pool (not on the screen), also in mutated and crossed-over instances of itself. So it will not appear instantly on the screen, but only when the program picks it for another contest. There are loads of possibilities for organizing contests, like in case of chess competitions.
Resurrection control: rarely (like in 1 out of 1000 picks) the program resurrects an older, already disqualified bot into the gene pool. This increases variablitiy.
With separated gene pools, with crossovers, and disabled "repro", the experiments could be more stabile, variability could be assured, and cancerous mutations do not occur at all. Of course, it is just a guess, tell me if I am mistaken.
And lastly: evolution is heavily directed in DB too. You have to change enviromental factors all the time depending on what characteristics you prefer. Unfortunetaly, that stands for every program in this field.