private Dna <T> ChooseParent()
        {
            double fitness = rnd.NextDouble() * _fitnessSum;

            foreach (var subject in Population)
            {
                if (fitness < subject.Fitness)
                {
                    return(subject);
                }

                fitness -= subject.Fitness;
            }

            return(Population.First());
        }