Gaussian mutation in Clojush
April 24, 2011by Lee Spector (lspector)
A couple of Clojush updates, mostly involving a new mutation operator that perturbs floating-point constants in a program with Gaussian noise. Details below.
Available as usual from: https://github.com/lspector/Clojush
220110424: - Added Gaussian mutation for floating point literals. This is a genetic operator on par with ordinary mutation, crossover, and simplification, with the probability for applying this operator set with the gaussian-mutation-probability argument to pushgp (which defaults to zero). The behavior of this operator, when used, is controlled by two other arguments to pushgp, gaussian-mutation-per-number-mutation-probability (which is the probability that any particular floating point number in the program will actually be mutated -- this defaults to 0.5) and gaussian-mutation-standard-deviation (which specifies the standard deviation of the Gaussian noise generator that is used to produce changes to numbers -- this defaults to 0.1). - Added examples/gaussian_mutation_demo.clj to demonstrate Gaussian mutation. - Added examples/korns_regression_p12.clj, a symbolic regression problem based on Michael Korns's draft chapter from GPTP11.