Zachriel
Posts: 2723 Joined: Sep. 2006
|
Quote (Bob O'H @ June 18 2009,01:30) | Quote (Zachriel @ June 17 2009,19:39) | I've been trying to independently implement Mendel's Accountant, but keep running into such definitional problems. Heritability. Fitness. And how they're handling probability selection. I'm working with a simplified model, but Mendel's Accountant should be able to handle the simple cases with obvious results. |
My advice: keep away from heritability. It complicates matters, and is dependent on the genetic variation in the population. I suspect Sanford et al. don't really understand quantitative genetics: certainly Sanford makes some mistakes because of his lack of understanding in Genetic Entropy. |
I've been setting heritability to 1 when running tests, so I should be able to reach comparative results. I think a working heritability parameter could be included in a Mendel's Accountant. But the concept is sometimes counterintuitive.
Quote (Bob O'H @ June 18 2009,01:30) | Quote (Zachriel @ June 17 2009,19:39) | Of course, "generation" is an abstraction, so it may represent an undefined breeding season. Frankly, the whole thing is an abstraction, so any strong claims about the specifics of biology are invalid anyway. |
Depends on what species you're working on. For things like butterflies, it's fine. And, to be honest, the purpose of Mendel's Accountant is to make general statements about evolution, so this stuff is OK, as long as it's clear what the assumptions are. A lot of the assumptions shouldn't have too big an effect on the robustness of the claims. |
I think you could make claims about particular models of evolution, but you would have to be very careful about a bold claim that evolution is falsified based on such an abstraction. Certainly some carefully devised claims can be justified.
Quote (Bob O'H @ June 18 2009,01:58) | Quote (Zachriel @ June 17 2009,20:59) | Some bits from Mendel's Accountant source code.
Offspring:
if(fitness_dependent_fertility) then fitness_adjusted_offspring = num_offspring*sqrt(post_sel_fitness)
|
Any idea why the square root of post_sel_fitness? |
I'm guessing it's arbitrary—to keep the reproductive rate from running away.
Quote (Bob O'H @ June 18 2009,01:58) | Also, where does the 0.0000005 come from? I'm always suspicious of constants like that. |
I was kinda hoping you knew. It may be an artifact of the calculation, but why that particular number? I agree that having a constant imbedded in the code without a notation is rather odd. Even if it is a standard equation, it's still best to notate it.
Quote (Bob O'H @ June 18 2009,01:58) | Quote (Zachriel @ June 17 2009,20:59) | Phenotypic Fitness:
noise = sqrt(geno_fitness_variance*(1. - heritability) /heritability + non_scaling_noise**2)
c... Add noise to the fitness to create a phenotypic fitness score... do i=1,total_offspring pheno_fitness(i) = fitness(i) + random_normal()*noise |
The random_normal()*noise[/color] is environmental variation, and we would typically set it to be constant. Because MA defines heritability, they have to back-calculate the environmental variance: that's what geno_fitness_variance*(1. - heritability) /heritability is doing. Except it's wrong, because the non_scaling_noise is added too, so the heritability isn't a heritability. |
Non-scaling noise is set to 0 in the parameters, so we can ignore that for now. The problem of environmental variance scaling with genetic variance is a serious problem. Who could have guessed that the dinosaurs could have avoided planetary oblivion if they just weren't so darned diverse.
--------------
You never step on the same tard twice—for it's not the same tard and you're not the same person.
|