public void Process() { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); int i = 0; while (i < numberOfExecution) { currentPopulation = GeneratePopulation(); GenerationWhere80PercetangeBestAchieved = 0; GenerationWhere90PercetangeBestAchieved = 0; GenerationWhere95PercetangeBestAchieved = 0; heaven = new List<double>(); for (int j = 1; j <= numberOfGenerations; j++) { Generation generation = new Generation(currentPopulation, probabilityOfMutation, typeOfAlgorithm, parentSelection); currentPopulation = generation.CreateNewPopulation(); var best = generation.FindBest(); CheckPercentage(best[1], j); if (heaven.Count != 0) { if (best[0] > generation.Fitness(heaven[0])) { heaven[0] = best[1]; } } else { heaven.Add(best[1]); } //Console.WriteLine("Epoka: " + j + ", Najlepszy wynik: " + best[0] + ", x = " + best[1] + " ,niebo:" + heaven[0]); } arrayOfBestResults[i] = heaven[0]; i++; } stopwatch.Stop(); Console.WriteLine("niebo: " + heaven[0]); Console.WriteLine("mediana: " + CountMedian(arrayOfBestResults)); Console.WriteLine("średnia: " + CountAverage(arrayOfBestResults)); Console.WriteLine("czas wykonania: " + stopwatch.Elapsed); Console.WriteLine("#####################"); Console.WriteLine($"80% najlepszego zostało osiągnięte w {GenerationWhere80PercetangeBestAchieved} epoce"); Console.WriteLine($"90% najlepszego zostało osiągnięte w {GenerationWhere90PercetangeBestAchieved} epoce"); Console.WriteLine($"95% najlepszego zostało osiągnięte w {GenerationWhere95PercetangeBestAchieved} epoce"); }