| |||
|
Actual ResultsSingly-peaked Gaussian fitness function.With the Gaussian fitness function (singly-peaked) the program took about three hours to complete. With the doubly-peaked fitness function, the program ran for approximately six hours.
A likely explanation for this is that the simple Gaussian is too easy for the GA to solve. Following the gradient will always lead to the optimum for this fitness function, so modulating the rate of exploration will have little effect. Reproduction and crossover should be plenty to solve this problem in record time. Doubly-peaked Gaussian fitness function.
You can see that the average fitness rapidly increases from a lower number up to higher numbers rather quickly. Examining the evolving rate population shows that this is largely due to the initial mutation rate, set by the first byte of the rate strings. This is not apparent from looking at the final rate populations, but looking at the first few shows that the first eight bits converge very quickly, corresponding to a rapid increase in average rate-string fitness. The fact that the 2nd, 3rd and 4th bytes converge over a period in which the average rate fitness isn't increasing seems to imply that there is some other force at work than the designed GA. This will require further investigation for a full explanation. For the purposes of comparison, the median mutation rates of the final rate-population strings are presented below for two different trials:
It's interesting to note that there isn't a simple monotonic increase or decrease as might have been expected. The reproducibility of these results will have to be tested later with some modifications to the program. |
||