Friday, April 8, 2011

Ugh


Hey Charles, Ian and Art, we're having issues maybe.

So, we did some runs of two treatments. The first ("TA" on the graph) kills 95% of the population and changes the environment every 500 generations. The second ("TB" on the graph) kills 95% of the population and changes the environment every 5,000 generations. In the events file, we have 3 functions rewarded and 4 zeroed out. Equals is not rewarded during this initial phase. Then, we zero out all the functions except equals. The results are at the left.

We find that in the tasks files, runs that evolved equals before we zero out all the functions are the ones who get equals widely in the population. The populations who don't basically lose most functions. We think the issue here is that in populations that have equals prior to the other functions being zeroed, it spreads as a high reward function. In populations that didn't, they just lost functionality as there was no selection to keep it. Emily had a good analogy - it's like putting a mouse in water. If it already has gills, it'll do awesome. If not, well...

Going forward, we were thinking we should keep the same environment file from the last run before rewarding equals, and then just start rewarding equals. A total of 4 functions will then be rewarded. That way, there will still be selection to keep functionality. And then we can compare those results to these results. We just don't think that the way this is set up now is biologically realistic.

What do you all think?




8 comments:

  1. We mean updates, not generations.

    Control A and control B are non-changing environments. In CA, every 500 updates, 95% of the population is killed but the env. does not change. In CB, every 5000 generations, 95% of the population is killed and the env. does not change.

    A sample env. file of what? A treatment or a control?

    ReplyDelete
  2. K. Erkin, do you have one you can put up?

    ReplyDelete
  3. One other thought, are you applying any threshold to when you're saying equ evolves? Are you counting a population that does equals once or twice as doing equals or are you waiting until say 10% of the population is doing equals!

    ReplyDelete
  4. Well, if we counted it when only a handful of indivduals evolved equals, we might get results due to drift. So, we want to use a threshold.

    ReplyDelete
  5. The x axis on the plot in the blog post corresponds to only the last 50000 updates (i.e. the updates after EQU was started being rewarded) out of the 300000 total updates for the whole run. The y axis (i.e. the ratio of individuals that evolved EQU) was calculated by dividing the number for EQU in tasks.dat by 10000 (i.e. size of population), averaged over 50 runs. So, we didn't use a threshold for the population to say that it successfully evolved EQU. Instead of using a continuous ratio in the plot like we did, do you think we should use a binary metric, such as 1 for runs where the ratio of population individuals that evolved EQU is more than 10%, and 0 when it's less than 10%, and average that across all runs?

    ReplyDelete
  6. @Erkrin, yeah, I think that would give us a better picture of what's going on. The way you're doing it now could be biased by extreme outliers. It's also usually standard practice to plot standard error or a 95% confidence interval.

    Also, could you color coordinate the lines for the A and B environment, for me that makes it easier to see which treatments I should be comparing. Though that may be personal preference.

    ReplyDelete
  7. OK, without seeing the new plot, I think what April is suggesting is reasonable. Keep the previous tasks, or some subset of previous tasks around even after EQU is rewarded. Some other things you might want to do:

    1) Try punishing EQU. If you are really worried that the presence of low-level EQU-ers is biasing your results then this would be a reasonable solution, and could be biologically realistic in some cases. For now though, it would be a good test to see if Emily's prediction is correct.

    2) It occurs to me that with a 10,000 populations size killing 95% of the organisms is still going to leave you with a population size of 500, which is a sizable number of organisms. You may want to consider dropping it to 0.99 or 0.999, and only carry forward 100 or 10 organisms.

    But first, do try and generate a plot that simply gives the number of populations doing EQU, that will probably give us the best idea of what you should do next.
    '

    ReplyDelete