Exemple #1
0
        /// <summary>Evaluates a solution individual using the best predictor so far.</summary>
        protected internal virtual void PredictIndividual(GAIndividual inIndividual, bool duringSimplify)
        {
            FloatRegFitPredictionIndividual predictor = (FloatRegFitPredictionIndividual)_predictorGA.GetBestPredictor();
            float fitness = predictor.PredictSolutionFitness((PushGPIndividual)inIndividual);

            inIndividual.SetFitness(fitness);
            inIndividual.SetErrors(new List <float>());
        }
        protected internal override void EvaluateIndividual(GAIndividual inIndividual)
        {
            FloatRegFitPredictionIndividual predictor = (FloatRegFitPredictionIndividual)inIndividual;
            List <float> errors = new List <float>();

            for (int i = 0; i < _trainerPopulationSize; i++)
            {
                float predictedError = predictor.PredictSolutionFitness(_trainerPopulation[i]);
                // Error is difference between predictedError and the actual fitness
                // of the trainer.
                float error = Math.Abs(predictedError) - Math.Abs(_trainerPopulation[i].GetFitness());
                errors.Add(error);
            }
            predictor.SetFitness(AbsoluteAverageOfErrors(errors));
            predictor.SetErrors(errors);
        }