RSS 2.0 Feed

» Welcome Guest Log In :: Register

Pages: (14) < 1 2 3 4 [5] 6 7 8 9 10 ... >   
  Topic: Evolutionary Computation, Stuff that drives AEs nuts< Next Oldest | Next Newest >  
Bob O'H



Posts: 2564
Joined: Oct. 2005

(Permalink) Posted: June 18 2009,01:30   

Quote (Zachriel @ June 17 2009,19:39)
 
Relative fitness compares different genotypes in a population, and is defined as the ratio of the average numbers contributed to the next generation with one genotype set arbitarily at 1. So if genotype-A contributes 300 and normal genotype-B contributes 200, then genotype-A has a relative fitness of 1.5 compared to genotype-B. Relative fitness can be most any non-negative number.

Absolute fitness is calculated for a single genotype as simply the ratio of the numbers in the new generation to the old after selection. So if the population of the genotype increases from 100 to 200, then it has an absolute fitness of 2. Again, absolute fitness can be most any non-negative number.

Yes, this is how it's done.  Personally, I'd prefer it if it was on the log scale: there's all sorts of statistical theory that slots nicely into the evolutionary theory.

Quote
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.

Quote
I'm assuming that if fitness increases by 1, then it goes from 1 to 2 (100% increase), or from 2 to 3 (50%) and so on. It shouldn't be additive, but multiplicative so it scales. Sanford's complaint is that if we use multiplicative, then it can never reach zero. So he is clearly assuming his conclusion.


Indeed, but it can get arbitrarily close to 0, so it doesn't make any practical difference (unless you're working with continuous populations, when you end up with nano-foxes).

Quote
It's not easy to resolve some of these problems. If we scale fecundity with fitness, then that solves the problem of very low fitness. But introduces a problem if the fitness levels climb so that we may be radically multiplying the reproductive rate.


Don't you just have to invoke density dependence?  I think this Darwin chap had some thoughts along those lines, after he read Malthus.

Quote
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.

--------------
It is fun to dip into the various threads to watch cluelessness at work in the hands of the confident exponent. - Soapy Sam (so say we all)

   
Bob O'H



Posts: 2564
Joined: Oct. 2005

(Permalink) Posted: 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?

 
Quote
Favorable Mutations:

c...  Compute mean absolute fitness effect for favorable mutations.

     sum = 0.
     d2  = 1.

     do i=1,1000000
        d1 = d2
        d2 = exp(-alpha_fav*(0.000001*i)**gamma_fav)
        sum = sum + d1 + d2
     end do

     fav_mean = 0.0000005*sum*max_fav_fitness_gain

Ugh.  That's a horrible way to do the integration.  I recognise the density (George Box was promoting it in the 50s), and it has an analytic solution: alpha_fav*gamma_fav*Gamma(1/gamma_fav), where Gamma() is the gamma function.

(ref: Box, G. E. P. 1953. A note on regions for tests of kurtosis. Biometrika 40: 465-468)

Also, where does the 0.0000005 come from?  I'm always suspicious of constants like that.

 
Quote
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.

Also, note what this back-calculation means: it scales the environmental variance to the genetic variance, so as genetic variation decreases, the environment becomes more stable.  This is bollocks.

They should really set the environmental variance.  The problem is getting an easily understood scaling, but that can be done by scaling to the mean fitness effects.  

Also, check through: the calculations look OK for log(fitness): they range from -infinity to infinity and are additive.  But on what scale does pheno_fitness affect?  On this scale, or the exponential scale?

 
Quote
Unrestricted probability selection:

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


Divide by randomnum as well as add non-heritable noise to the phenotype?

:-)  No idea what's going on.

--------------
It is fun to dip into the various threads to watch cluelessness at work in the hands of the confident exponent. - Soapy Sam (so say we all)

   
Zachriel



Posts: 2723
Joined: Sep. 2006

(Permalink) Posted: June 18 2009,07:02   

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.

   
Zachriel



Posts: 2723
Joined: Sep. 2006

(Permalink) Posted: June 18 2009,08:00   

Quote (Zachriel @ June 18 2009,07:02)
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.

We only need to be concerned with ranking, not absolute phenotypic fitness, when simulating heritability. So I've been normalizing fitness (which preserves ranking), then applying the specified noise. For a child population of 25 and heritability of 50%, I get rankings like this. The number is genotypic rank, the position is phenotypic rank.

3
5
1
8
6
2
9
7
12
15
4
13
11
10
22
19
16
14
18
20
21
24
23
17
25

--------------

You never step on the same tard twice—for it's not the same tard and you're not the same person.

   
sledgehammer



Posts: 533
Joined: Sep. 2008

(Permalink) Posted: June 18 2009,11:05   

Quote (Bob O'H @ June 17 2009,23:58)
   
Quote
Favorable Mutations:

c...  Compute mean absolute fitness effect for favorable mutations.

     sum = 0.
     d2  = 1.

     do i=1,1000000
        d1 = d2
        d2 = exp(-alpha_fav*(0.000001*i)**gamma_fav)
        sum = sum + d1 + d2
     end do

     fav_mean = 0.0000005*sum*max_fav_fitness_gain

Ugh.  That's a horrible way to do the integration.  I recognise the density (George Box was promoting it in the 50s), and it has an analytic solution: alpha_fav*gamma_fav*Gamma(1/gamma_fav), where Gamma() is the gamma function.

(ref: Box, G. E. P. 1953. A note on regions for tests of kurtosis. Biometrika 40: 465-468)

Also, where does the 0.0000005 come from?  I'm always suspicious of constants like that.

Well it is 1/2*1/1,000,000, and since it is a density, the sum-as-integral needs to be scaled, but I thought the (0.000001*i) was supposed to do that.
 I think it's a boo-boo.

--------------
The majority of the stupid is invincible and guaranteed for all time. The terror of their tyranny is alleviated by their lack of consistency. -A. Einstein  (H/T, JAD)
If evolution is true, you could not know that it's true because your brain is nothing but chemicals. ?Think about that. -K. Hovind

  
Zachriel



Posts: 2723
Joined: Sep. 2006

(Permalink) Posted: June 18 2009,13:13   

Nevermind.

--------------

You never step on the same tard twice—for it's not the same tard and you're not the same person.

   
Dr.GH



Posts: 2333
Joined: May 2002

(Permalink) Posted: June 18 2009,14:28   

Quote (Zachriel @ June 18 2009,11:13)
Nevermind.

This could answer every thing.

--------------
"Science is the horse that pulls the cart of philosophy."

L. Susskind, 2004 "SMOLIN VS. SUSSKIND: THE ANTHROPIC PRINCIPLE"

   
k.e..



Posts: 5432
Joined: May 2007

(Permalink) Posted: June 18 2009,14:37   

Quote (Dr.GH @ June 18 2009,22:28)
Quote (Zachriel @ June 18 2009,11:13)
Nevermind.

This could answer every thing.

phhhht

You say statistics I say stochastics.

Mathmaticians provide the sheet music, I just want the finger positions and the beat.

Actually screw taht, I think I'll just bit torrent the whole damn lot.

If those turkeys can design a better mouse tarp(sic) using that horse and buggy with square wheels then all our moons are their bases.

It aint going to happen, not now not eva.

Look out for the patent. It will be up there with zero wavelenght quantum antigravity decelarators.
Selling webverts and elephnat(sic) repellant is about all they can do.

--------------
"I get a strong breeze from my monitor every time k.e. puts on his clown DaveTard suit" dogdidit
"ID is deader than Lenny Flanks granmaws dildo batteries" Erasmus
"I'm busy studying scientist level science papers" Galloping Gary Gaulin

  
Steve Schaffner



Posts: 13
Joined: June 2009

(Permalink) Posted: June 18 2009,16:59   

Quote (Bob O'H @ June 18 2009,01:30)

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.

Modeling is easier if you simply work with the selective advantage of the genotype, rather than the selection coefficient for a partly heritable trait. Here the partly heritable trait is fitness itself, which makes my head hurt.
   
Quote

Indeed, but it can get arbitrarily close to 0, so it doesn't make any practical difference (unless you're working with continuous populations, when you end up with nano-foxes).

What kind of fitness are we talking about here, though? Since MA keeps the population constant, it is implicitly using relative fitness. In that case, introducing an arbitrary scaling factor into the fitness doesn't matter; it's only the ratio of fitnesses that matters. It seems to me that the model treats fitness as being relative until it get very small, at which point it is treated as absolute. But there is no simple way to determine absolute fitness from relative fitness.

This seems like a basic point, but I don't understand what the program is trying to model here.

  
sledgehammer



Posts: 533
Joined: Sep. 2008

(Permalink) Posted: June 18 2009,17:36   

Quote (Steve Schaffner @ June 18 2009,14:59)
Since MA keeps the population constant, it is implicitly using relative fitness. In that case, introducing an arbitrary scaling factor into the fitness doesn't matter; it's only the ratio of fitnesses that matters. It seems to me that the model treats fitness as being relative until it get very small, at which point it is treated as absolute. But there is no simple way to determine absolute fitness from relative fitness.

This seems like a basic point, but I don't understand what the program is trying to model here.

[Cynic]
I think the program is trying to model nothing more or less than the complete, abject failure of Darwinian Evolution to produce anything other than Genetic Entropy leading inevitably to Mutational Meltdown, unless the genome is infused with Complex Specified Information from a divine source.
[/Cynic]

--------------
The majority of the stupid is invincible and guaranteed for all time. The terror of their tyranny is alleviated by their lack of consistency. -A. Einstein  (H/T, JAD)
If evolution is true, you could not know that it's true because your brain is nothing but chemicals. ?Think about that. -K. Hovind

  
deadman_932



Posts: 3094
Joined: May 2006

(Permalink) Posted: June 18 2009,18:01   

Quote (sledgehammer @ June 18 2009,17:36)
Quote (Steve Schaffner @ June 18 2009,14:59)
Since MA keeps the population constant, it is implicitly using relative fitness. In that case, introducing an arbitrary scaling factor into the fitness doesn't matter; it's only the ratio of fitnesses that matters. It seems to me that the model treats fitness as being relative until it get very small, at which point it is treated as absolute. But there is no simple way to determine absolute fitness from relative fitness.

This seems like a basic point, but I don't understand what the program is trying to model here.

[Cynic]
I think the program is trying to model nothing more or less than the complete, abject failure of Darwinian Evolution to produce anything other than Genetic Entropy leading inevitably to Mutational Meltdown, unless the genome is infused with Complex Specified Information from a divine source.
[/Cynic]

The answer is quite clear, materialist chance-worshipping Darweenieans:


--------------
AtBC Award for Thoroughness in the Face of Creationism

  
Zachriel



Posts: 2723
Joined: Sep. 2006

(Permalink) Posted: June 18 2009,18:58   

Quote (Bob O'H @ June 18 2009,01:58)
   
Quote
Unrestricted probability selection:

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


Divide by randomnum as well as add non-heritable noise to the phenotype?

:-)  No idea what's going on.

Basically, he is applying reductions in heritability twice. The heritability function itself, and then this random procedure for selecting reproductive winners by re-ranking them before truncation and passing to the next generation. We could modify the divisor to some function(randomnum) and adjust the degree and type of randomness for picking winners {something like randomnum^N}. It's just another way of introducing random factors into the choice of winners and losers which should already have been accounted for in the heritability function.

The net result is a significant reduction in the effect of selection.

--------------

You never step on the same tard twice—for it's not the same tard and you're not the same person.

   
Steve Schaffner



Posts: 13
Joined: June 2009

(Permalink) Posted: June 18 2009,20:53   

Quote

Basically, he is applying reductions in heritability twice. The heritability function itself, and then this random procedure for selecting reproductive winners by re-ranking them before truncation and passing to the next generation. We could modify the divisor to some function(randomnum) and adjust the degree and type of randomness for picking winners {something like randomnum^N}. It's just another way of introducing random factors into the choice of winners and losers which should already have been accounted for in the heritability function.

The net result is a significant reduction in the effect of selection.

It would make more sense if it were described in terms of some other phenotype with an effect on fitness. The phenotype has a genetic component and an environmental (or random) component, i.e. has a heritability. The phenotype then confers a fitness, which is the probability of successful reproduction. The number of successful offspring is also drawn from a random distribution, which is what's being done in this bit of code (I guess treated as a binomial distribution).

As a model of selection that seems reasonable (apart from the way the noise scales), but expressing it in terms of the heritability of fitness I find hard to understand -- fitness isn't a phenotype, it's a measure of the success of a phenotype. And the whole thing is pretty convoluted, when the essence of the model could be captured simply by assigning a fitness to the genotype and then calculating the number of offspring. This is a model of evolution written by a breeder rather than by a population geneticist, I would say.

  
Zachriel



Posts: 2723
Joined: Sep. 2006

(Permalink) Posted: June 18 2009,21:42   

Quote (Steve Schaffner @ June 18 2009,20:53)
Quote

Basically, he is applying reductions in heritability twice. The heritability function itself, and then this random procedure for selecting reproductive winners by re-ranking them before truncation and passing to the next generation. We could modify the divisor to some function(randomnum) and adjust the degree and type of randomness for picking winners {something like randomnum^N}. It's just another way of introducing random factors into the choice of winners and losers which should already have been accounted for in the heritability function.

The net result is a significant reduction in the effect of selection.

It would make more sense if it were described in terms of some other phenotype with an effect on fitness. The phenotype has a genetic component and an environmental (or random) component, i.e. has a heritability. The phenotype then confers a fitness, which is the probability of successful reproduction. The number of successful offspring is also drawn from a random distribution, which is what's being done in this bit of code (I guess treated as a binomial distribution).

Yes, I'm okay with that. That's how my own (rather primitive) model is structured. I'm not modeling recombination at this point, because I don't think that's where the problem lies. It's more basic than that. There's seems to be very little signal of selection. I'm still tinkering, but his results don't seem to jive.

--------------

You never step on the same tard twice—for it's not the same tard and you're not the same person.

   
midwifetoad



Posts: 4003
Joined: Mar. 2008

(Permalink) Posted: June 19 2009,00:40   

http://www.youtube.com/watch?v=SzEvcS01Cl0

--------------
Any version of ID consistent with all the evidence is indistinguishable from evolution.

  
Zachriel



Posts: 2723
Joined: Sep. 2006

(Permalink) Posted: June 19 2009,07:23   

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.

   
Bob O'H



Posts: 2564
Joined: Oct. 2005

(Permalink) Posted: June 19 2009,12:02   

Quote (Steve Schaffner @ June 18 2009,20:53)

It would make more sense if it were described in terms of some other phenotype with an effect on fitness. The phenotype has a genetic component and an environmental (or random) component, i.e. has a heritability. The phenotype then confers a fitness, which is the probability of successful reproduction. The number of successful offspring is also drawn from a random distribution, which is what's being done in this bit of code (I guess treated as a binomial distribution).

The problem with describing the model in terms of a phenotype is that you then have to map the effect of the phenotype onto fitness.  It's easier just to leap in and model fitness directly.  Everything works fine if you define fitness as proportional to the expected number of offspring produced by an individual.

I haven't looked at the code, but if we assuming a constant population size and discrete generations, then (ignoring recombination and mutation), the way to model this is to assume that each parent has a fitness si.  The offspring are then drawn from a multinomial distribution with probability for the ith parent being

si/sum(si)

(this would reduce to a binomial distribution if there were only 2 parents).  The multinomial sampling is genetic drift.

You can treat log(si) as you would any standard trait: it's additive, so you can add the genetic and environmental effects.

Quote
As a model of selection that seems reasonable (apart from the way the noise scales), but expressing it in terms of the heritability of fitness I find hard to understand -- fitness isn't a phenotype, it's a measure of the success of a phenotype. And the whole thing is pretty convoluted, when the essence of the model could be captured simply by assigning a fitness to the genotype and then calculating the number of offspring. This is a model of evolution written by a breeder rather than by a population geneticist, I would say.

Not even a breeder: I would expect them to understand heritability a bit better than this!

--------------
It is fun to dip into the various threads to watch cluelessness at work in the hands of the confident exponent. - Soapy Sam (so say we all)

   
Dr.GH



Posts: 2333
Joined: May 2002

(Permalink) Posted: June 19 2009,12:50   

Reading the discussion has made me reconsider Wesley's earlier suggestion that you guys build a better program. It might be a way of collecting your observations.

However, if "Mendle's Accountant Cooked the Books," Sanford et al will merely claim that your new program has predetermined its answer.

--------------
"Science is the horse that pulls the cart of philosophy."

L. Susskind, 2004 "SMOLIN VS. SUSSKIND: THE ANTHROPIC PRINCIPLE"

   
Steve Schaffner



Posts: 13
Joined: June 2009

(Permalink) Posted: June 19 2009,13:05   

Quote (Bob O'H @ June 19 2009,12:02)
I haven't looked at the code, but if we assuming a constant population size and discrete generations, then (ignoring recombination and mutation), the way to model this is to assume that each parent has a fitness si.  The offspring are then drawn from a multinomial distribution with probability for the ith parent being

si/sum(si)

(this would reduce to a binomial distribution if there were only 2 parents).  The multinomial sampling is genetic drift.

Yes, I've written a program for that kind of model, except that I imposed selection in the differential survival of the offspring. Including options for truncation selection and a few other things, it amounted to all of 158 lines, including comments, white space and the multinomial routine.

Quote

You can treat log(si) as you would any standard trait: it's additive, so you can add the genetic and environmental effects.

I haven't thought about this before. Does adding environmental effects do anything more than reduce the effective selection coefficient?

  
slpage



Posts: 349
Joined: June 2004

(Permalink) Posted: June 19 2009,13:09   

Quote (Dr.GH @ June 19 2009,12:50)
Reading the discussion has made me reconsider Wesley's earlier suggestion that you guys build a better program. It might be a way of collecting your observations.

However, if "Mendle's Accountant Cooked the Books," Sanford et al will merely claim that your new program has predetermined its answer.

And from what I have seen, he would then just be projecting.

I am still wondering why they think that constraining the outcomes to a constant population size is biolgically realistic.

  
Steve Schaffner



Posts: 13
Joined: June 2009

(Permalink) Posted: June 19 2009,13:33   

Quote (slpage @ June 19 2009,13:09)
I am still wondering why they think that constraining the outcomes to a constant population size is biolgically realistic.

It's a feature of many population genetics models. It has the advantage of being simple. How accurate it is depends a lot on what organism you're looking at.

Of course, there's a big difference between using models to analyze how particular aspects of evolution work and trying to model the entire process well enough to say whether it can occur.

  
Henry J



Posts: 5786
Joined: Mar. 2005

(Permalink) Posted: June 19 2009,16:16   

Quote
Of course, there's a big difference between using models to analyze how particular aspects of evolution work and trying to model the entire process well enough to say whether it can occur.

Well, that's just being picky! :p

But yeah, if populate size is allowed to go way up, then the simulation would have to deal with food shortages (i.e., fitness would drop across the board if population gets too large for the food supply).

Henry

  
Bob O'H



Posts: 2564
Joined: Oct. 2005

(Permalink) Posted: June 19 2009,16:34   

Quote (Steve Schaffner @ June 19 2009,13:05)

 
Quote

You can treat log(si) as you would any standard trait: it's additive, so you can add the genetic and environmental effects.

I haven't thought about this before. Does adding environmental effects do anything more than reduce the effective selection coefficient?

No it doesn't.    There might be some subtleties in the precise effects, but I wouldn't worry about them.

--------------
It is fun to dip into the various threads to watch cluelessness at work in the hands of the confident exponent. - Soapy Sam (so say we all)

   
Bob O'H



Posts: 2564
Joined: Oct. 2005

(Permalink) Posted: June 19 2009,16:42   

Quote (Henry J @ June 19 2009,16:16)
 
Quote
Of course, there's a big difference between using models to analyze how particular aspects of evolution work and trying to model the entire process well enough to say whether it can occur.

Well, that's just being picky! :p

But yeah, if populate size is allowed to go way up, then the simulation would have to deal with food shortages (i.e., fitness would drop across the board if population gets too large for the food supply).

Henry

That's not too difficult to implement.  You scale the fitness so that it is above 1 at low density, and then apply some density dependence to it, which affects all genotypes equally.  Then you draw the number of offspring from a Poisson distribution with that mean.

i.e. if fitness is si, and the population size is N, then the number of offspring is Poisson distributed with mean si exp(-N/K), for example (exp(-N/K) is the discount for density).

I think doing it this way is nicer because (a) it's easier to programme (there's no independence problems, or multinomials with huge N's), and (b) you're modelling absolute fitness, so it can go below 1, and you might get extinctions.

--------------
It is fun to dip into the various threads to watch cluelessness at work in the hands of the confident exponent. - Soapy Sam (so say we all)

   
Zachriel



Posts: 2723
Joined: Sep. 2006

(Permalink) Posted: June 19 2009,17:34   

Quote (Steve Schaffner @ June 18 2009,20:53)
<snipped>

And the whole thing is pretty convoluted, when the essence of the model could be captured simply by assigning a fitness to the genotype and then calculating the number of offspring.

From much of this discussion, it's easy to see how many different ways there are to abstract an evolutionary process.

These are the primary attributes I've found in Mendel's Accountant:

* Population of Genotypes (genotypic fitness).
* Genotype modified by heritability and noise to Phenotype (phenotypic fitness).
* Genotype further modified for chance of reproductive success to Working Fitness.
* Number of offspring proportional to sqrt(Phenotype).
* Reproduction with mutation.
* Throw in more random factors, such as random death.

> The calculation of Phenotype is not scaled.
> The calculation of Working Fitness is division by Randomnum. Not the sqrt(randomnum), not some other exponent. Or even a normal binomial to determine reproductive success.
> Number of offspring proportional to sqrt(Phenotype). Why the square root? Why not some other exponent?
> Random death? Isn't that already accounted for in phenotypic fitness (for stillbirths) or chance of reproductive success?

You may as well throw in another factor that randomizes falling off a cliff and whether she has a headache, and just make up numbers or exponents or parameters that seem right. The problem is the qualitative nature of the simulation and the arbitrariness of some of the assumptions. I just don't see Mendel's Accountant being salvageable as a quantitative model of biology.

--------------

You never step on the same tard twice—for it's not the same tard and you're not the same person.

   
Bob O'H



Posts: 2564
Joined: Oct. 2005

(Permalink) Posted: June 20 2009,02:14   

Quote (Zachriel @ June 19 2009,17:34)
 
Quote (Steve Schaffner @ June 18 2009,20:53)
<snipped>

And the whole thing is pretty convoluted, when the essence of the model could be captured simply by assigning a fitness to the genotype and then calculating the number of offspring.

From much of this discussion, it's easy to see how many different ways there are to abstract an evolutionary process.

These are the primary attributes I've found in Mendel's Accountant:

* Population of Genotypes (genotypic fitness).
* Genotype modified by heritability and noise to Phenotype (phenotypic fitness).
* Genotype further modified for chance of reproductive success to Working Fitness.
* Number of offspring proportional to sqrt(Phenotype).
* Reproduction with mutation.
* Throw in more random factors, such as random death.


No recombination?  We know about mutational meltdown, and we also know that sex can mitigate the effect.

Quote
You may as well throw in another factor that randomizes falling off a cliff and whether she has a headache,

Don't ask Gil to help with the programming for that.

--------------
It is fun to dip into the various threads to watch cluelessness at work in the hands of the confident exponent. - Soapy Sam (so say we all)

   
Zachriel



Posts: 2723
Joined: Sep. 2006

(Permalink) Posted: June 20 2009,08:21   

Quote (Bob O'H @ June 20 2009,02:14)
   
Quote (Zachriel @ June 19 2009,17:34)
       
Quote (Steve Schaffner @ June 18 2009,20:53)
<snipped>

And the whole thing is pretty convoluted, when the essence of the model could be captured simply by assigning a fitness to the genotype and then calculating the number of offspring.

From much of this discussion, it's easy to see how many different ways there are to abstract an evolutionary process.

These are the primary attributes I've found in Mendel's Accountant:

* Population of Genotypes (genotypic fitness).
* Genotype modified by heritability and noise to Phenotype (phenotypic fitness).
* Genotype further modified for chance of reproductive success to Working Fitness.
* Number of offspring proportional to sqrt(Phenotype).
* Reproduction with mutation.
* Throw in more random factors, such as random death.


No recombination?  We know about mutational meltdown, and we also know that sex can mitigate the effect.

Oops. Good point. Haven't got that far in reconstructing the algorithm, but of course. Add it to the list of primary attributes.  

c...        Randomly mate one half of the population with members
c...        from the other half.

           dad = min(current_pop_size,
    &            1 + int(current_pop_size*randomnum(1)))

           do while(.not.available(dad))
              dad = mod(dad, current_pop_size) + 1
           end do
           available(dad) = .false.

           mom = min(current_pop_size,
    &            1 + int(current_pop_size*randomnum(1)))
           do while(.not.available(mom))
              mom = mod(mom, current_pop_size) + 1
           end do
           available(mom) = .false.


Looks like asexual recombination, i.e. two random individuals.

                 if(randomnum(1) < 0.5) then
                    parent = dad
                 else
                    parent = mom
                 end if


This looks like a bit of the actual recombination event:

if(.not. clonal_reproduction) then

<... snip ...>

do ch=1,haploid_chromosome_number

        ls0 = (ch - 1)*chr_length + 1
        ls1 = min(chr_length-1, int(chr_length*randomnum(1))) + ls0
        ls2 = min(chr_length-1, int(chr_length*randomnum(1))) + ls0

<... snip ...>

        if(dynamic_linkage)
    &      hap_id = min(2, 1 + int(2.*randomnum(1)))


The rest of the code seems a lot more complicated than need be, but that might just be because of the dynamic linkage option. The command do ch=1,haploid_chromosome_number appears twice in the code. (Indentation doesn't seem to be consistent so it's hard to know where the beginning and ending of sections are to be found, though that might be my reader.)

I still think the problem with Mendel's Accountant is more basic, and breaks before that point.

--------------

You never step on the same tard twice—for it's not the same tard and you're not the same person.

   
Zachriel



Posts: 2723
Joined: Sep. 2006

(Permalink) Posted: June 20 2009,08:35   

Quote (Bob O'H @ June 20 2009,02:14)
 
Quote
You may as well throw in another factor that randomizes falling off a cliff and whether she has a headache,

Don't ask Gil to help with the programming for that.

Why not? He helped me with Word Mutagenator.

Quote
GilDodgen: This is not hard: Simply print out the dictionary contained in the Zachriel program and be done with it. No search is necessary, because all the requisite information has been supplied by the programmer in advance.

GilDodgen has never quite grasped the concept of a model. (In Word Mutagenation, the evolving sequences have no knowledge of the word-scape. They either survive or die. It was an ID challenge, by the way, not my idea.) They never did let me respond on their blog.

--------------

You never step on the same tard twice—for it's not the same tard and you're not the same person.

   
k.e..



Posts: 5432
Joined: May 2007

(Permalink) Posted: June 20 2009,12:33   

ok here goes, if I'm off target correct me gently.

I know very little about the ins and outs of the GA problem space but I do understand modeling as a concept.

It seems to me that the simple weasel GA resultant graph over time IS the fitness landscape.


So to test the fitness landscape several things could be tried and they probably already have been so again I'm just an amature.

A couple of simple additions could be to add a second sentence that competes for only a few common letters of the alphabet that are in the first sentence ...and see what happens.

Only a limited number of letters are available for all species of sentence perhaps based on the usage count in English.

Then add an in vivo preditor which eats the letters from one of the first species but leaves a few letters on the savanah or petrie dish.

Then from the leftovers see if a new species of gramatically correct (dare I say Shakesperean quotation) arises.

Compare the fitness landscapes with known population statistics for a simple analog and reduce errors.

--------------
"I get a strong breeze from my monitor every time k.e. puts on his clown DaveTard suit" dogdidit
"ID is deader than Lenny Flanks granmaws dildo batteries" Erasmus
"I'm busy studying scientist level science papers" Galloping Gary Gaulin

  
Henry J



Posts: 5786
Joined: Mar. 2005

(Permalink) Posted: June 20 2009,17:54   

Quote
whether she has a headache


Is there a variable for the amount of aspirin that's available?

Henry

  
  419 replies since Mar. 17 2009,11:00 < Next Oldest | Next Newest >  

Pages: (14) < 1 2 3 4 [5] 6 7 8 9 10 ... >   


Track this topic Email this topic Print this topic

[ Read the Board Rules ] | [Useful Links] | [Evolving Designs]