The JavaDoc for FloatVectorSpecies claims that when using Guassian mutation, "if the gene-by-gene range is used, than the standard deviation is scaled to reflect each gene's range."
As far as I can tell, however, this doesn't actually happen. Stepping through the debugger with the following mutation parameters, I can watch DoubleVectorIndividual.gaussianMutation() as it samples from a std of 0.1 when mutation gene 0. I would have expected it to scale the std to be 0.0001 or such.
pop.subpop.0.species.min-gene = -1.0
pop.subpop.0.species.max-gene = 1.0
pop.subpop.0.species.min-gene.0 = -.001
pop.subpop.0.species.max-gene.0 = .001
pop.subpop.0.species.mutation-type = gauss
pop.subpop.0.species.mutation-stdev = 0.1
pop.subpop.0.species.mutation-bounded = true
pop.subpop.0.species.mutation-prob = 0.03
Is this an error in the documentation? Or am I missing something?
Ph.D student in Computer Science
George Mason University