Esempio n. 1
0
    public static void Init()
    {
        population = new Individual[Config.nIndividualsPerPopulation];

        for (int i = 0; i < population.Length; i++)
        {
            Individual individual = new Individual();
            individual.dna = new DNA();
            population[i]  = individual;
        }

        PopulationLogger.Init(Config.nIndividualsPerPopulation, Config.nElite);
    }
Esempio n. 2
0
    private static void AdvanceGeneration()
    {
        Individual[] nextPopulation    = new Individual[Config.nIndividualsPerPopulation];
        Individual[] orderedPopulation = FitnessHelper.GetOrderedPopulation(population);

        AddElite(nextPopulation, orderedPopulation);
        AddChildren(nextPopulation, population);

        Debug.Log("population " + generationsFinished);
        PopulationLogger.AddPopulation(orderedPopulation, generationsFinished);

        generationsFinished++;
        individualsFinished = 0;
        population          = (Individual[])nextPopulation.Clone();
        StartIndividual(0);
    }