Пример #1
0
 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);
 }
Пример #2
0
        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);
            }
        }