Author Topic: gene pools  (Read 3667 times)

Offline viplex

  • Bot Neophyte
  • *
  • Posts: 45
    • View Profile
gene pools
« on: March 30, 2007, 11:30:38 PM »
Maybe Darwinbots could use gene pools as to increase variety. While maintaining variety, this method could also prevent populations from dying out. Of course, in this way inner reproduction, "repro" would have to be disabled. What convinced me is a program called EvBrain (in which neural structures are evolving), and which shows awesome results in evolution, (partly) thanks to the following considerations and long-term experiences of the author:
How variety can be managed is more important than survival of the fittest. Accurate and ultimate selection will devastate the all species. Main evolutionary mechanism is not on natural selection or select fittest creature, but on killing unfittest creature. Implementation : Force resurrected creature from life pool to be mutated all ways in order to make same DNA hardly deposit on nature field. Resurrection control is most important to maintain variety.
So, what do you think?

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
gene pools
« Reply #1 on: March 31, 2007, 01:26:53 AM »
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:
Quote
...same DNA hardly deposit on nature field. Resurrection control is most important to maintain variety.

Offline viplex

  • Bot Neophyte
  • *
  • Posts: 45
    • View Profile
gene pools
« Reply #2 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.