It's not in the manual, it's at the top of the Javadoc for FloatVectorSpecies <https://cs.gmu.edu/~eclab/projects/ecj/docs/classdocs/ec/vector/FloatVectorSpecies.html> . On Wed, Jun 3, 2015 at 9:08 PM, Sean Luke <[log in to unmask]> wrote: > I don't see in the documentation where it says that standard deviation is > scaled. Could you point it out? Please use the current PDF of the manual > on the SVN repository. > > Sean > > On Jun 3, 2015, at 5:04 PM, Eric Scott <[log in to unmask]> wrote: > > > All good questions. That's why I was looking at the code -- to see how > exactly "the standard deviation is scaled to reflect each gene's range." > > > > I can specify mutation-stdev's manually for each gene in my application, > not a problem. I suggest that the sentence about scaling be removed from > the JavaDoc, as it seems to be erroneous. > > > > Thanks! > > Siggy > > > > On Wed, Jun 3, 2015 at 3:38 PM, Sean Luke <[log in to unmask]> wrote: > > No, wait, it's *not* a bug. ECJ's stdev is not scaled to fit in > bounds. You'd have to say: > > > > >> pop.subpop.0.species.mutation-stdev.0 = 0.0001 > > > > [or whatever] > > > > I understand your intuition here, but stdev is a fixed quantity. > Imagine if someone had the stdev set and then they needed to change the > min/max gene, and found that the stdev magically changed as well. And if > it were a relative quantity, what min/max width range would it be relative > *to*? > > > > Maybe I might be able to add some parameter like mutation-rstdev which > sets the stdev on a per-gene basis based on the min and max genes. But > you'd need to give me exactly what it should be relative to and how you > think it should be scaled. > > > > Sean > > > > On Jun 3, 2015, at 8:16 AM, Sean Luke <[log in to unmask]> wrote: > > > > > Then that must be a bug. I can look into it, but if you want to beat > me to it, you might check out FloatVectorSpecies. > > > > > > Sean > > > > > > On Jun 3, 2015, at 4:20 AM, Eric Scott <[log in to unmask]> wrote: > > > > > >> Dear Wizards, > > >> > > >> 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? > > >> > > >> Thanks, > > >> Siggy > > >> > > >> -- > > >> > > >> Ph.D student in Computer Science > > >> George Mason University > > >> http://mason.gmu.edu/~escott8/ > > > > > > > > -- > > > > Ph.D student in Computer Science > > George Mason University > > http://mason.gmu.edu/~escott8/ > -- Ph.D student in Computer Science George Mason University http://mason.gmu.edu/~escott8/