/// <summary> /// Initializes our evolutionary algorithms (For instance, here the /// manual selection extension gets access to the genome-to-phenome /// decoder. /// Loads a genome population from a save file or calls the factory to /// create the first generation. /// </summary> public void StartGenomePopulation() { _ea = experiment.CreateEvolutionAlgorithm(popFileSavePath); experiment.SetDecoderInManualEA(manual_ea); // We also pass the instance of NeatManualEvolution to // NeatEvolutionaryAlgorithm and vice versa _ea.Manual_ea = manual_ea; // Resets the current generation in case we are loading files. generation = FindOldGeneration(); _ea.CurrentGeneration = generation; // We pass a genome to the uiManager. For the schematic view all // genomes are exactly the same, so we can pass any we like. uiManager.UpdateModelGenome(_ea.GenomeList[0]); }