I often encounter posters here at TSZ who claim that Genetic Algorithms (GAs) either model or simulate evolution. They are never quite clear which it is, nor do they say what it means to model or simulate evolution (what would be required) and how GAs qualify as either one or the other. My position is that GAs neither model nor simulate evolution. In addition to other reasons I’ve given in the past I’d like to present the following argument.
GAs are often used to demonstrate “the power of cumulative selection.” Given small population sizes drift ought to dominate yet in GAs drift does not dominate. Why not?
- How do we determine the effective population size for a GA?
- How do we calculate the value of the selection coefficient?
- How do we determine when genetic drift will overcome the effects of selection?
In a GA written by keiths (a version of the WEASEL program) the default population size is 200.
#define POPULATION_SIZE 200 // total population size
Effective population size is the number of individuals in a population who contribute offspring to the next generation.
Even though the population size is 200, only one is selected to contribute offspring to the next generation.
#define NUM_SURVIVORS 1 // number of survivors per generation (must be less than POP_SIZE)
Given an effective population size of one, drift ought to dominate, but it doesn’t.
Given an effective population size of one, what must the selection coefficient be for drift to not dominate selection?
I’d truly appreciate any assistance with the concepts or the math.
In any event, there is no way that this GA (the keiths WEASEL program) either models or simulates evolution.