Zachriel
Posts: 2723 Joined: Sep. 2006
|
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
Leaving aside the non-scaling noise which defaults to zero. And leaving aside the scaling problem which can be overcome with normalization.
c... For unrestricted probability selection, divide the phenotypic c... fitness by a uniformly distributed random number prior to c... ranking and truncation. This procedure allows the probability c... of surviving and reproducing in the next generation to be c... directly related to phenotypic fitness and also for the correct c... number of individuals to be eliminated to maintain a constant c... population size.
do i=1,total_offspring work_fitness(i) = work_fitness(i)/(randomnum(1) + 1.d-15) end do
The first random factor represents non-heritable influences on phenotype, the second representing chance of successful reproduction. Is there any processing between these two functions that we can't simply reduced to (ignoring the infinitesimal):
pheno_fitness(i) = (fitness(i) + random_normal()*noise) / randomnum(1)?
Working fitness being just a copy of phenotypic fitness that is only used for ranking before truncation.
c... Copy the phenotypic fitnesses into array work_fitness.
--------------
You never step on the same tard twice—for it's not the same tard and you're not the same person.
|