Exemplo n.º 1
0
        public void FitnessSharingChromosomeEvaluator_IgnoreFarChromosomes(int chromosomesToIgnore)
        {
            var evaluator = new FitnessSharingChromosomeEvaluator(0.8, 1, (c1, c2) => c2.Evaluate() <= chromosomesToIgnore ? 0.9 : 0.5);

            evaluator.SetEnvierment(GetEnvironmentWith10Chromosomes());
            var evaluation = evaluator.Evaluate(1.0.CreateChromosome(""));

            Assert.AreEqual(1.0 / (0.5 * (10 - chromosomesToIgnore)), evaluation);
        }
Exemplo n.º 2
0
        public void FitnessSharingChromosomeEvaluator_RightFitnessWeight(double distanceScale)
        {
            var evaluator = new FitnessSharingChromosomeEvaluator(0.8, distanceScale, (c1, c2) => 0.5);

            evaluator.SetEnvierment(GetEnvironmentWith10Chromosomes());
            var evaluation = evaluator.Evaluate(1.0.CreateChromosome(""));

            Assert.AreEqual(1.0 / (10 * (1 - 0.5 / distanceScale)), evaluation);
        }