Beispiel #1
0
    /// <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]);
    }