public override void InitPopulation() { maxNumberOfEvaluations = Mathf.Min(maxNumberOfEvaluations, populationSize); populationRed = new List <Individual> (); populationBlue = new List <Individual>(); while (populationRed.Count < populationSize) { HillClimberIndividual new_ind_red = new HillClimberIndividual(NNTopology, maxNumberOfEvaluations, mutationMethod); HillClimberIndividual new_ind_blue = new HillClimberIndividual(NNTopology, maxNumberOfEvaluations, mutationMethod); if (seedPopulationFromFile) { NeuralNetwork nnRed = getRedIndividualFromFile(); NeuralNetwork nnBlue = getBlueIndividualFromFile(); new_ind_red.Initialize(nnRed); new_ind_blue.Initialize(nnBlue); //only the first individual is an exact copy. the other are going to suffer mutations if (populationRed.Count != 0 && populationBlue.Count != 0) { new_ind_red.Mutate(mutationProbabilityRedPopulation); new_ind_blue.Mutate(mutationProbabilityBluePopulation); } } else { new_ind_red.Initialize(); new_ind_blue.Initialize(); } populationRed.Add(new_ind_red); populationBlue.Add(new_ind_blue); } }
public override void InitPopulation() { population = new List <Individual> (); while (population.Count < populationSize) { HillClimberIndividual new_ind = new HillClimberIndividual(topology); new_ind.Initialize(); population.Add(new_ind); } }
public override void InitPopulation() { Debug.Log("Estou a inicializar no HillClimber"); population = new List <Individual> (); // jncor while (population.Count < populationSize) { HillClimberIndividual new_ind = new HillClimberIndividual(topology); new_ind.Initialize(); population.Add(new_ind); } }