Author Topic: my first evo sim  (Read 10405 times)

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
my first evo sim
« Reply #15 on: June 23, 2008, 05:37:28 PM »
Did they ever learn to eat each other?

Evolution is really lazy.  Once it gets to a point where quick and easy adaptations have all been done, you'll usually plateau.  I'm sure there's some neat word for this idea, but I don't know what it is.  The only way to get runaway adaptation, where there's that slow and steady fitness increase, is to have a Red Queen's Race sort of situation.  Not sure how to set one up, though.
« Last Edit: June 23, 2008, 05:43:36 PM by Numsgil »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
my first evo sim
« Reply #16 on: June 23, 2008, 06:53:21 PM »
Another thought occurs to me as well.  They might be evolving all sorts of neat things, but if we can't figure out their genome, we can only look for changes in phenotype.  It's very hard to see a difference in speed between 20 and 15, for instance.

Offline ikke

  • Bot Destroyer
  • ***
  • Posts: 300
    • View Profile
my first evo sim
« Reply #17 on: June 24, 2008, 03:47:30 AM »
Quote from: Peksa
In every sim I've run or read about (except internet mode), eventually de-evolution has overcome evolution as has happened with your animal minimalis.
I'm not so sure if this is a proper way of phrasing what happened. Evolution is not survival of the fittest, it is survival of the least unfit. A strain can survive negative mutations if they are offset by positive ones. A strain doesn't have to be optimal, better is enough.
De-evolution  would imply that the 7M cycle strain would outcompete the 10 m cycle strain in a death match. I haven't tried
Quote from: Peksa
Solutions to this could be increasing population size to thousands, decreasing mutation probabilities (to something like 1/8 or less of default settings, probably) or provide strong enough evolutionary pressure by competition or shepherd bots or some other way.
The animalis population was set at 200 by costX and varied between 150 and 250 max. Mutation settings were at 1. The major random factor hindering ''optimal selection'' was food availability. Algae distribution was not uniform. A strain in a rich part can replace a strain in the poor part. C' est la vie.. On the other hand I have a suspicion (anecdotal observations, not  traced back into the code) that at least sometimes reproduction was postponed untill food was available. This would imply adaptation (or selective observation on my part of course  )

Quote from: Peksa
Sexual reproduction also helps, but in my sims it has been replaced by faster asexual reproduction. It has taken some time though.
This is on my original to do list: death matches between otherwise equal sexual and a-sexual strains. The main problem is they only differ in the way they handle mutations, and a large number of replications is probably needed. I need to figure out how to set up my own little evo league and have a lot of patience..

Quote from: Peksa
I'd like to know the results of this.
Will do..
Quote from: Peksa
It's quite usual for the evolved strain to be less fit, but more resistant to mutations. See survival of the flattest.
To me fitness is defined as the ability to create offspring that survives, not fast reproduction. Allthough I haden't recognised it as a selection criterion, resiliance in the face of mutations is a part of what I would consider fit.

Offline ikke

  • Bot Destroyer
  • ***
  • Posts: 300
    • View Profile
my first evo sim
« Reply #18 on: June 24, 2008, 04:09:34 AM »
Quote from: Numsgil
Did they ever learn to eat each other?
No. My problem: I can't distinguish between it ever evolving and being selected against, or never being tried. There is a big difference...
Quote from: Numsgil
Evolution is really lazy.  Once it gets to a point where quick and easy adaptations have all been done, you'll usually plateau. The only way to get runaway adaptation, where there's that slow and steady fitness increase, is to have a Red Queen's Race sort of situation.  Not sure how to set one up, though.

This probably the difference between optimising / fine tuning current genes as opposed to developing truely new ones. I think that within my current genepool animalis and runaways have co-evolved most improvements. Runaways have to evolve new things (shell, poison, eyesight&evade, whatever) before animalis can react. As said I am starting to see why it took 3 billion years before the cambrian...
Quote from: Numsgil
Another thought occurs to me as well. They might be evolving all sorts of neat things, but if we can't figure out their genome, we can only look for changes in phenotype. It's very hard to see a difference in speed between 20 and 15, for instance.
My do they sometimes delay reproducing untill they are feeding definitely falls in this category. I know they delayed reproducing, the > nrg condition had been met. Was it a coincicence they were feeding when finally reproducing? No idea.
This is as far as I am concerned the major challenge in the develop conditional bots form zerobots contest. Not the development itself, but recognising them when they have occurred.

Offline ikke

  • Bot Destroyer
  • ***
  • Posts: 300
    • View Profile
my first evo sim
« Reply #19 on: July 16, 2008, 07:11:29 AM »
As promised feedback on the death matches. That did not turn out the way I thought it would. Basically a fair evaluation is not possible. Startup conditions are nothing like the steady state, due to differing body sizes. The GM version outcompetes the evolved strain, but since the environment is not what the evolved strain is used to this means nothing. Inversely and equally invalid is dumping the GM version in the steady state environment in which the evolved version grew. With default body sizes competing against the large, mature evolved strain in not possible.

As a spin off I have investigated death matches between equal strains. With the rules I have one strain outcompeting the other in 30k-60 k cycles @ 200 individuals per strain. This seems to scale to the root of the population sizes, and proportionally to ageing cost. I had intended to evaluate genome evolutionary strength and adaptability between strains, but this does not seem feasable as one strain dies out before any meaningfull number of mutations occur.

One last comment on the sim: both the evolved and the GM versions of predator and prey are capable of coexisting without using dynamic costX. My penguin and my alligator have evolved to form an ecosystem in my desert.
« Last Edit: July 16, 2008, 07:16:01 AM by ikke »

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
my first evo sim
« Reply #20 on: July 17, 2008, 12:42:46 AM »
I normally just use evolution to look for "improved" dna I can make use of in a standard bot. You can't take this too far though, since alot of the improvements evolution comes up with won't be useful in a normal F1 match.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
my first evo sim
« Reply #21 on: July 17, 2008, 01:18:47 PM »
I don't think it's easy or maybe even possible to evolve a strain to do well in F1.  At least not with present methods.  F1 is an extremely artificial starting point, with robots evenly distributed and all with the same amount of nrg.  The only way to do it would be through something like a genetic algorithm: have the program take a zero bot, run it against a successful F1 bot, create some mutated children, run those against the successful F1 bot.  Mate the bots that live the longest (or kill the enemy in the shortest time once you get that far), and repeat until you get a bot that is good against that F1 species.  To program something like that DB would need to be automatable, so you could set it up and let it run over a few weeks.  But you're almost guaranteed results.
« Last Edit: July 17, 2008, 01:19:34 PM by Numsgil »