public void Reset() { Name = ""; Name += (char)('A' + RandomSingleton.Next(0, 26)); Name += (char)('A' + RandomSingleton.Next(0, 26)); Name += RandomSingleton.Next(0, 9); Name += RandomSingleton.Next(0, 9); Name += RandomSingleton.Next(0, 9); }
public void Mutate(double genesToMutateRate, double mutationRate) { int genesToMutate = (int)Math.Ceiling(TotalWeights * genesToMutateRate); int wi; double mutatedWeight; for (int g = 0; g < genesToMutate; g++) { wi = RandomSingleton.Next(TotalWeights); mutatedWeight = GetWeight(wi) + (RandomSingleton.NextDouble() - 0.5) * mutationRate; SetWeight(wi, mutatedWeight); } }