public void CompleteGeneration() { Generation <G, S> currentGeneration = generations[generationCount]; currentGeneration.SerializeBest(); // get fittest dnas & mean fitness List <DNA <G> > fittestDNAs = currentGeneration.GetFittestDNAs(); generationWorstFitness = currentGeneration.GetWorstFitness(); generationMeanFitness = currentGeneration.GetAverageFitness(); generationBestFitness = currentGeneration.GetBestFitness(); generationMedianFitness = currentGeneration.GetMedianFitness(); Debug.Log($"Mean Fit.: {generationMeanFitness}, Best Fit.: {generationBestFitness}"); // cleanup currentGeneration.Cleanup(); // keep fittest, procreate and mutate dNAs = procreation.BuildNextGeneration(fittestDNAs, generationSize, survivorKeepPercentage, mutationChance, mutationRate, autoProcreation); generationCount++; }