// 評価をする public void Evaluate() { Parallel.For(0, POPULATION, i => { CellAutomataGame cellAutomataGame = new CellAutomataGame( intArrayChromosomes.ReadChromosomeAsRule(i), rulesForEvalate, boardSize, INITIAL_RESOURCES); cellAutomataGame.InitializeBoards(); for (int n = 0; n < EPISODES_FOR_EVALATION; n++) { cellAutomataGame.UpdateGameBoard(); } intArrayChromosomes.SetScore(i, EvaluateFunction(cellAutomataGame)); }); }
public void Evaluate() { for (int i = 0; i < POPULATION; i++) { CellAutomataGame cellAutomataGame = new CellAutomataGame(intArrayChromosomes.ReadChromosomeAsRule(i), rulesForEvalate); cellAutomataGame.InitializeBoards(); for (int n = 0; n < EPISODESFOREVALATION; n++) { cellAutomataGame.UpdateGameBoard(); } scores[i] = EvaluateFunction(cellAutomataGame); } }