Exemple #1
0
    public void ProcessChromosome()
    {
        chIndex++;

        if (chIndex == GeneticAlgorithm.population.Count)
        {
            chIndex = -1;

            GeneticAlgorithm.TournamentSelection();
            generation++;
            Debug.Log("New Generation");

            ProcessChromosome();
        }
        else
        {
            currentNode = GeneticAlgorithm.population [chIndex];
            if (currentNode.GetFitness() == 0.0f || playAll)
            {
                slingshot.SetChromosome(currentNode.chromosome);
            }
            else
            {
                EvaluateChromosome(currentNode.GetFitness(), currentNode.solution);
            }
        }
    }