Пример #1
0
    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);
        }
    }
Пример #2
0
 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);
     }
 }
Пример #3
0
 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);
     }
 }