public void InitializeEvolution(Color[,] sourceIndividual) { if (AlgorithmInformation.Population < 4) { AlgorithmInformation.Population = 4; } if (AlgorithmInformation.Elite < 2) { AlgorithmInformation.Elite = 2; } _threads = new List <Thread>(); _populationForThread = new int[AlgorithmInformation.GetOptimalThreadAmount()]; _populationIndividuals = new Individual[AlgorithmInformation.Population]; _populationToPass = new Individual[AlgorithmInformation.Population]; _eliteIndividuals = new Individual[AlgorithmInformation.Elite]; _destinationIndividual = sourceIndividual; _evolutionFitness = new EvolutionFitness(AlgorithmInformation.ImageWidth, AlgorithmInformation.ImageHeight); Individual individual; for (int i = 0; i < AlgorithmInformation.Population; i++) { individual = new Individual(); individual.Initialize(); _populationIndividuals[i] = individual; } }
public void InitializeEvolution(Color[,] sourceIndividual) { _parentIndividual = new Individual(); _parentIndividual.Initialize(); _destinationIndividual = sourceIndividual; _evolutionFitness = new EvolutionFitness(AlgorithmInformation.ImageWidth, AlgorithmInformation.ImageHeight); }
public void InitializeFromDNA(Color[,] sourceIndividual, List <IndividualListData> individualData, int generation) { _parentIndividual = new Individual(); _parentIndividual.InitializeFromDNA(individualData[0]); _destinationIndividual = sourceIndividual; _evolutionFitness = new EvolutionFitness(AlgorithmInformation.ImageWidth, AlgorithmInformation.ImageHeight); this._generation = generation; }