Friday, April 29, 2011

Meeting 4.29.11

Tasks for over the weekend:

Erkin - finish survival anaylsis, create and describe the survival plots and the methods to create them. For the discussion: provide some dialouge on why our survival plots look as they do.

Emily - Write some stuff in the discussion about the other way we originally did the experiment and why this was non-functional. Talk about drift.

April - do that flow chart of our experimental design. Add into discussion about the same things Emily was going to do. Format references.

All- read all this crap so we're not redundant/stupid/illiterate. Make sure to add your references.

Meet Tuesday to talk presentation.

Go team!

Thursday, April 21, 2011

Meeting 4.21.11

Things we need to do by next Thursday:

Literature review for intro/motivations of paper and general methods for paper.
GLM and Survival Analyses: So, our data is basically the inverse of the example they gave in the R/Dalgard texts. GLM should help us break down the relationships between our variables. Write up methods and results for those.
Figures

Assignments:

GLM: Emily
Survival: Erkin
Lit Review: Me

Due Date:

Thursday, Meet in class on Tuesday to decide if anyone is over burdened and needs to shift some responsibility.

Monday, April 18, 2011

New plot! (with 99% killed instead of 95%)

So, the results change dramatically when we kill off 99% of individuals instead of 95% like we did before. (Killing off 99% leaves only 100 individuals out of the population of 10000). The discrepancy with the earlier results requires further investigation.

Friday, April 15, 2011

Questions about questions.

New plot! with some surprising results!
What question do we want to ask?


Our newest runs!


Depending on our questions, we could apply different tests.
QUESTIONS 1.
Does overall treatment vs. control make a difference (T vs C)?
Does overall how often we kill things off make a difference (A vs B)?
Is there an interaction in how these things apply?

For these three maybe General linear model in the binomial case, can be applied to our data?

QUESTIONS 2.
Is TA different from TB?
Is CA different from CB?
We can use fishers exact test, on TA vs TB independent of CA vs CB.
Fisher's exact test results:
TAvsTB: p=5.37 x 10^-9
CAvsCB: p=.48
CBvsTB: p=0.32
CAvsTA: p=1.04x10^-9
What is the impact of this repeated testing on doing this this way?

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?




Tuesday, March 29, 2011

Meeting 3.29

Set Events seems to fix our issue.

Setting 4/7 tasks to zero in order to achieve more fitness disparity between tasks.

We'll see how this works out when our runs are done tomorrow.

Monday, March 21, 2011

Meeting March 21

Looking at the outcomes of early runs we discovered that EQU was evolving despite lack of incentive!

Troubleshooting: Discovered that events file was not reading in Environment.cfg files, we did not realize that actual environment information needs to be in Events.cfg

Fix: Combining Emily Jane and Erkin's python scripts to generate events files with randomized environment files within them.

Problem: When avida reads a change environment line, that doesn't work, it doesn't throw any errors, so we thought it was running fine, when avida was actually using the default environment file.
We need errors to let us know when some thing has gone wrong!!
Also, it would be much better if we could change Environment files on the fly!

Thursday, March 10, 2011

Meeting 3.10.11


Tasks!

TASKS!

Did we do them?

Erkin has his files, so hurrah.

April has her script and will be generating 4 sets of 50 avida.cfg, each using a separate events file. Naming convention: avidaTA.cfg for avida "treatment" "a". Put each of these groupings of 50 in their own folder. Emily will share the events files that she generates with me once this is done.



Erkin will parallelize the runavida script.

We will reconvene Monday to do things. Same time, same place.

Wednesday, March 9, 2011

writing a python script to alter a text file

Actually kind of stupidly complicated.

But whatever, done, except for specifying directory paths (since I don't know how we're setting things up).

Wednesday, March 2, 2011

Meeting 3.1.2011

Meeting:

This is mostly stuff we're making calls on since our last post (which was like ten seconds ago).

So, we're going 250,000 updates for each treatment (equals will not be rewarded). And then, we'll switch to equals being rewarded (and nothing else being rewarded) for 50,000 updates.

When we do our bottlenecks, we'll do random kill-offs since there is no spatial structure to our experiment.

Decrease mutation rate - Art says default is high.

We don't need to do competition trials since we're doing the 50k updates with equals being rewarded.

Erkin: Generating randomized environment files. Art suggested making a pool of environment files (maybe 500 of them). Naming scheme: environmentxxx.cfg in which "xxx" is a number.
Emily: Generate a script to choose an environment file to use for the events file. eventx.cfg
April: Set up avida.cfg (100x100 grid, mut. rate=.003) and make iterate for 50 consecutive runs. Needs to open a avida.cfg file and choose a new eventsx.cfg file.

Concluding remarks: None.


To do list.

Things we need to do:

1) Make our set of randomized environment files:
These files will consist of a set of values
where sum(abcdefg)=7, 0=h=i
REACTION NOT not process:value=a:type=add requisite:max_count=1
REACTION NAND nand process:value=b:type=add requisite:max_count=1
REACTION AND and process:value=c:type=add requisite:max_count=1
REACTION ORN orn process:value=d:type=add requisite:max_count=1
REACTION OR or process:value=e:type=add requisite:max_count=1
REACTION ANDN andn process:value=f:type=add requisite:max_count=1
REACTION NOR nor process:value=g:type=add requisite:max_count=1
REACTION XOR xor process:value=h:type=add requisite:max_count=1
REACTION EQU equ process:value=i:type=add requisite:max_count=1


2) Set up 4 events files (python script to generate events files)

1-(Control A) Constant environment where 1=a=b=c=d=e=f, 0=h=i, every 500 updates kill off 95% of population
2-(Control B) Constant environment where 1=a=b=c=d=e=f, 0=h=i, every 5,000 updates kill off 95% of population
(these second two need to be x50, with different random environments)
3-(Treatment A) Changing environment, every 500 updates, change to random environment.cfg, kill off 95% of population
4-(Treatment B) Changing environment, every 5000 updates, change to random environment.cfg, kill off 95% of population

IN ALL EVENTS FILES at 250,000 updates switch to environment file: where 0=a=b=c=d=e=f=g=h, 10=i .
allow to run for 50,000 more updates, log time EQU evolves


3) Set up avida.cfg
100 x 100 grid
Decrease mutation rate to 0.02
run for 300,000 updates


4) Run all 4 treatments x50.


5) Analysis!!

Tuesday, February 22, 2011

Meeting: Feb 22

Lets stick to original project idea, changing landscapes.

Notes:

Don’t need to run for 1 million generations.

maybe 250,000?

MAIN ISSUES:

high mutation rates!!!

change form default- 0.025????

shorter organisms?-

makes it harder for them to evolve and makes it run faster.

Run 50 replicates each.


Maybe set up changes in events file instead of transferring organisms to new run- every X updates kill off Y percent of the population.


parameter ideas?

say Y = 95%


fast X = 500 updates

slow X - 5,000 updates


Lets make our population size be 10,000! 100 x 100 grid.

real Elena paper for more ideas re: mutation rate and pop size.


Maybe do a test run and look up average generation time to decide how many generations we want between die-offs?


try to tie in biology?


Thursday, February 17, 2011

Meeting with Adviser

Mission "Schedule Meeting with Adviser" was a success!

We're on for Tuesday afternoon. Charles and Ian: is there anything else related to our last post you'd recommend talking to Art about?

Wednesday, February 16, 2011

Meeting Feb 16.

First meeting:
Feb 16, 3:00 pm

What about including more factors affecting evolvability in our project.
e.g. increased variation should increase evolvability.
Sexual reproduction increases variation- is this implemented in AVIDA currently?
Higher mutation rate.

Baldwin effect- e.g. learning? - not implemented in avida

Modularity- is there a way to implement modularity to make things more evolvable/ less likely to break under mutation?
What if we were to break down modularity by removing ability to have loops at all!
Maybe by modifying the instruction set and taking out jumps?

What about pre-adaptation or exaptation.
What if we evolved populations to be good at only one of the functions in the fitness landscape. Is there one that pre-adapts genotypes to evolve equals more easily?

What about co-evolution? Predator-prey dynamics, mutual-isms etc, changing fitness landscape driven by changes in the other species rather than randomly determined.

Planned treatments:
Changing fitness functions (changing the benefit assigned to each function after a certain number of updates, using a range of lengths of time between fitness landscape changes - find optimum?)
Changing mutation rate (evolving under a range of mutation rates, with stable fitness functions - find optimum?)

Questions:
1.How does reproduction work in avida- how far away can they copy themselves? Do they continue to exist after copying?
2. Are we looking for an optimum in a new environment or in a constant environment?
3. Do we want to play with spatial structure? Can spatial structuring impact evolvability, and can we model that in Avida?
4. Can avidians eat each other?


Things to do:
Literature survey on evolvability
-- read
CO Wilke, JL Wang, C Ofria, RE Lenski, C Adami. Evolution of digital organisms at high mutation rates leads to survival of the flattest. Nature (2001) vol. 412 (6844) pp. 331-333

Find more applicable papers

Look at the instruction set to see what could be pulled out to decrease modularity



Tuesday, February 15, 2011

Introduction #3: Erkin Bahçeci

Hi!

I'm Erkin Bahçeci, a sixth year student in Risto Miikkulainen's Neural Networks Research Group at UT Austin. My research interests are multi-agent search, neuroevolution, evolutionary computation, general game playing, and autonomous robots. I'm currently working on a multi-disciplinary project on competitive multi-agent search, modeling innovation search on dynamic fitness landscapes.

As for this project, besides better understanding evolvability in biological evolution, I'm also interested in evolvability from a computer science perspective. Gaining insight into evolvability has the potential to improve the performance and speed of evolutionary methods, which are widely used in computer science. Such insight could include finding out exactly what boosts or reduces evolvability, what makes a population in Avida to increase its evolvability due to evolutionary pressures, and whether general rules of thumb can be derived from these findings, to be applied elsewhere.

Oh, and yeah, that's my 3D reconstructed avatar (complete with Mohawk), ready to help the Avidians behave :)

Monday, February 7, 2011

Introduction #2: Emily Jane McTavish

Hi! I'm Emily Jane,

I'm in my fourth year in the Ecology, Evolution, and Behavior program at UT Austin, in the Hillis lab
. I am currently working on a few projects. For my dissertation I am using spatially explicit simulation (DIM SUM) to assess robustness of phylogeographic methods to violations of their assumptions, in particular the impacts of sampling, and of non-gaussian dispersal distribution on inference of population structure. As well I am using 55K SNP data to reconstruct population structure of new world cattle breeds and am investigating genomic patterns of introgression in Texas longhorn cattle. I am particularly excited about applying genomic data to phylogeographic questions, and developing appropriate models of evolution to analyze these data.

Introduction #1: April Wright


Hello all-

I'm April Wright. I am a second year grad student in David Hillis' lab at UT Austin. Broadly, I'm interested in phylogenetics. Making better phylogenies, using phylogenies and communicating to other researchers best practices in the creation of phylogenetic trees.

And that's kind of a weird thing to be interested in. But the way I see it, we, as biologists, use phylogenies for a lot of reasons and to get at and answer a lot of questions. And if we want to have the right answers to those questions, our phylogenies should be accurate to the best of our abilities. Therefore, I want to work on questions not only about increasing accuracy in phylogenies, but getting that information into the hands of people who will use it. In my conversations with people, I've come to believe that there is a fairly profound gap in some fields between the people who do theory and empiricists. I'd like to shrink that gap.

This evolution of evolvability project, obviously, has nothing to do with that. It should be fun anyway. Am I supposed to say anything else?