public void GeneratePopulationTest() { //double seedDouble = geneSeed.rndGenerator.NextDouble(); //double rndGeneratorDouble = geneRndGenerator.rndGenerator.NextDouble(); Assert.AreNotEqual(geneSeed.GetIndividual(0), geneSeed.GetIndividual(1)); Assert.AreNotEqual(geneRndGenerator.GetIndividual(0), geneRndGenerator.GetIndividual(1)); }
public override void Reset() { for (int i = 0; i < populationSize; i++) { dronePopulation[i] = MonoBehaviour.Instantiate((GameObject)Resources.Load("DroneGene"), taskObject.GetInitialposition(i), Quaternion.identity) as GameObject; droneRigid[i] = dronePopulation[i].GetComponentInChildren <Rigidbody>(); taskObject.GetTargetPosition(i, targetPosition); //Debug.Log(targetPosition[i].ToString()); //targetPosition[i] = if (!taskObject.ResetOrientation(droneRigid[i], gene.bestScore, gene.median, i, populationSize)) { OnDestroy(); Application.Quit(); Time.timeScale = 0f; } if ((gene.generation == 1) || (gene.generation == loadGeneration)) { mlpPopulation[i] = new MultiLayerMathsNet(-1, rndGenerator, taskObject.shapes, 1, initialValueWeights); } BuildCustomWeights(mlpPopulation[i].weights, taskObject.shapes, gene.GetIndividual(i)); } externalEvaluations.Clear(); }