Preliminary Evaluation of Brownian Noise as a Suitable Environment Modification
This is the (very) preliminary results of running evolvability experiments
using various amounts of Brownian noise. In all cases, the starting
value for A is 3.0, and at the end of each epoch a uniform amount of noise
in the range [-Var, +Var] is added.
Also included is the results of Experiment 4, which so far best shows
the effects we're looking for. It uses uniform random values in the
range [-3, 9] to replace the value of A at each epoch end.
Here are the results so far:
Experiment 9 (Brownian, Var = 0)
Fitnesses
Fitness Differences
Sizes
Experiment 3 (Brownian, Var = 1)
Fitnesses
Fitness Differences
Sizes
Experiment 11 (Brownian, Var = 3)
Fitnesses
Fitness Differences
Sizes
Experiment 8 (Brownian, Var = 6)
Fitnesses
Fitness Differences
Sizes
Experiment 10 (Brownian, Var = 10)
Fitnesses
Fitness Differences
Sizes
Experiment 4 (Uniform, Range = [-3, 9])
Fitnesses
Fitness Differences
Sizes
Experiment 12 (Uniform, Range = [0, 6])
Fitnesses
Fitness Differences
Sizes
Discussion
So far, nothing in the Brownian experiments with non-zero variance has
beaten Uniform noise in terms of fitness differences. Experiment
4 includes gains of over 100. Experiment 3 gets close to that a couple
of times. One could argue that the separation of ADF and non-ADF
hit differentials is more pronounced in experiments 8 and 10, but this
is mostly because non-ADF does so crappy in these experiments.
Uniform also beats Brownian with non-zero variance when we look at the
highest fitness level attained. "ADF, end" in the Uniform case frequently
exceeds 150 hits. In the Brownian case it never does.
In terms of tree sizes, we see code bloat in all Brownian cases, but
not in the Uniform case.
About the only thing we can say so far for Brownian is that the results
are less noisy.
Conclusion
Right now I'm leaning towards using Uniform noise for A, not Brownian.
Let me know if you think it's worthwhile to start runs on uniform noise
with varying window widths.