graph LR
Reproduction_Manager["Reproduction Manager"]
Speciation_Manager["Speciation Manager"]
Stagnation_Detector["Stagnation Detector"]
Speciation_Manager -- "provides species data to" --> Reproduction_Manager
Stagnation_Detector -- "communicates stagnation status to" --> Reproduction_Manager
Speciation_Manager -- "provides historical fitness data to" --> Stagnation_Detector
Reproduction_Manager -- "generates genomes for" --> Speciation_Manager
The Evolutionary Operators subsystem is responsible for implementing the core genetic operations within the NEAT algorithm, specifically focusing on speciation (grouping similar genomes) and reproduction (creating new genomes through crossover and mutation), while also managing species stagnation.
Orchestrates the generation of offspring for the next evolutionary step. This involves calculating the number of progeny per species and applying genetic operations (crossover and mutation) to produce new genomes.
Related Classes/Methods:
Groups genetically similar genomes into species, a crucial mechanism for protecting novel genetic innovations and promoting diversity. It also manages the lifecycle and properties of these species.
Related Classes/Methods:
Monitors the fitness progress of individual species over generations. Its role is to identify species that are no longer improving (stagnant) and potentially remove or penalize them to free up computational resources and prevent unproductive exploration.
Related Classes/Methods: