コード例 #1
0
    protected virtual void EndGeneration()
    {
        Generation currentGeneration = generations.Last.Value;

        Debug.Log(String.Format("Generation ended, fitness {0}s", currentGeneration.BestFitness()));

        avgFitness = (avgFitness * (generations.Count - 1) + currentGeneration.BestFitness()) / generations.Count;

        if (bestFitness < currentGeneration.BestFitness())
        {
            bestFitness = currentGeneration.BestFitness();
        }

        if (infoTxt != null)
        {
            infoTxt.text = String.Format(
                "Last Fit {0:0.00}s, Avg Fit {1:0.00}s Best Fit {2:0.00}s",
                currentGeneration.BestFitness(),
                avgFitness,
                bestFitness
                );
        }

        Invoke("StartGeneration", 3);
    }