Module extension

Source
Expand description

When approacking a (local) optimum in the fitness score, the variation in the population goes down dramatically. The offspring will become clones of the parents and the only factor seeding randomness is the mutation of the offspring. But this remaining randomness might not be selected for, killing of the offspring again. This reduces the efficiency, but also has the risk of local optimum lock-in. To increase the variation in the population, an extension mechanisms can optionally be used

Structs§

ExtensionMassDeduplication
Simulates a cambrian explosion. The controlling metric is population cardinality in the population after selection. When this cardinality drops to the threshold, the population is reduced to only the unique individuals. Only works when genes_hash is stored on chromosome, as this is the uniqueness key, otherwise the extension is ignored.
ExtensionMassDegeneration
Simulates a cambrian explosion. The controlling metric is population cardinality in the population after selection. When this cardinality drops to the threshold, the population is mutated the provided number of times, where the Genotype determines whether this is random, relative or scaled. The elitism_rate ensures the passing of the best chromosomes before mutations are applied (doesn’t care about best chromosome uniqueness).
ExtensionMassExtinction
Simulates a cambrian explosion. The controlling metric is population cardinality in the population after selection. When this cardinality drops to the threshold, the population is randomly reduced regardless of fitness using the survival_rate (fraction of population). The elitism_rate ensures the passing of the best chromosomes before random reduction starts (doesn’t care about best chromosome uniqueness).
ExtensionMassGenesis
A version of MassExtinction, where only an Adam and Eve of current best chromosomes survive. Tries to select distinct Adam and Eve when genes_hash is stored on chromosome, otherwise it will just take 2 of the best (possibly duplicates).
ExtensionNoop
The placeholder for when no extension present

Enums§

ExtensionEvent
ExtensionWrapper

Traits§

Extension