public void SpeciateAdd_Euclidean()
        {
            IRandomSource rng                = RandomDefaults.CreateRandomSource(3);
            var           distanceMetric     = new EuclideanDistanceMetric();
            var           speciationStrategy = new RegularizedGeneticKMeansSpeciationStrategy <double>(distanceMetric, 50, 0.1);

            TestSpeciateAdd(100, 3, 2, 0.5, distanceMetric, speciationStrategy, rng, false);
            TestSpeciateAdd(100, 10, 10, 0.2, distanceMetric, speciationStrategy, rng, false);
            TestSpeciateAdd(100, 30, 10, 0.1, distanceMetric, speciationStrategy, rng, false);
        }
        public void TestSpeciateAll_Manhattan()
        {
            IRandomSource rng                = RandomDefaults.CreateRandomSource(0);
            var           distanceMetric     = new ManhattanDistanceMetric();
            var           speciationStrategy = new RegularizedGeneticKMeansSpeciationStrategy <double>(distanceMetric, 50, 0.1, RandomDefaults.CreateRandomSource());

            TestSpeciateAll(100, 3, 2, 0.5, distanceMetric, speciationStrategy, rng, false);
            TestSpeciateAll(100, 10, 10, 0.2, distanceMetric, speciationStrategy, rng, false);
            TestSpeciateAll(100, 30, 10, 0.1, distanceMetric, speciationStrategy, rng, false);
        }