G e n e t i c A l g o r i t h m s O n N e t a d e l i c a
This is unlifelike: genes don't code "for" embryonic or any other development; there's no phenotype involved. We've all got to start somewhere, though.
I wrote a program that evolves bit counters using systematically different parameters. For each unique set of parameters, the program perfomed six runs of 30 generations per run. The parameters used were:
|Parameter||Value 1||Value 2||Value 3||Value 4|
|Crossover method||Single-point||Two-point||Each-bit uniform||Each-bit weighted|
In my program, parameters that are not changeable (except by changing the program) include:
Within the program's constraints, quite a lot of variation is possible (well, 64 variations as mentioned above). I did sessions on three population sizes: eight, 20 and 150. Each session went through six runs of 30 generations for each of the 64 different evolution models (11,520 generations simulated for each population size).
For each of the three population sizes I sorted the results of the 64 evolution models by average highest fitness attained per run, then by average generation in which highest fitness was attained. The 64 evolution models end up sorted in order of "goodness", or efficiency, best first.
The graphs below show the values of the variable parameters as they occur in the sorted lists of evolution model. Rather than show graphs of average or highest fitness per generation for each model, this shows which evolution methods were most succesful for each population size.
Graph 1. This shows that for a large population, the most successful
crossover methods were those that worked on each bit of the parents'
genes, not those that swapped over large chunks of genes. Of the two
methods that work in that way, each-bit weighted was most successful.
Graph 2. For a small-medium population, each-bit crossover was most
successful, but not as emphatically as it was for a larger population.
Graph 3. For a small population, crossover method seems not to be a
Graphs 4-6. Method of selection (whether fit parents are chosen at
random or are chosen at random with a bias towards more fit members)
seems not to be significant for any population size.
Graph 7-9. The larger the population, the more significant crossover is;
large populations did well when crossover was always applied and did
badly when it was not. The same effect is true of smaller populations,
but less emphatically so.
Graphs 10-12. Mutation rate (the probability with which each gene
changes value in a child) shows the most sensitivity to population size.
In large (highly diverse) populations, a low rate of mutation works
best. In a small-medium population, mutation rate is not so significant.
In small populations (little diversity), a high mutation rate gives best
There's no copyright on this; take anything you like from above, but I'd appreciate a credit if you use any of it. If you like, mail me.
Back to the Netadelica home page