public void MutateActivationResponse(double mutateRate, double maxPertubation) { foreach (IGene gene in neuronsChromosome.Genes) { if (ThreadSafeRandom.NextDouble() < mutateRate) { NEATNeuronGene neuronGene = (NEATNeuronGene)gene; neuronGene.ActivationResponse = neuronGene .ActivationResponse + RangeRandomizer.Randomize(-1, 1) * maxPertubation; } } }