Example #1
0
 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));
 }
Example #2
0
 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();
 }