Genex v0.1.0 Genex.Operators.Mutation View Source
Implementation of several population mutation methods.
Mutation takes place according to some rate. Mutation is useful for introducing novelty into the population. This ensures your solutions don't prematurely converge.
Future versions of Genex will provide the ability to define the "aggressiveness" of mutations. As of this version of Genex, mutations effect the ENTIRE chromosome.
Link to this section Summary
Link to this section Functions
Link to this function
bit_flip(chromosome)
View Sourcebit_flip(Genex.Chromosome.t()) :: Genex.Chromosome.t()
Perform a bit-flip mutation.
This mutation performs a binary XOR on every gene in the Chromosome.
Returns Chromosome
.
Parameters
chromosome
-Chromosome
to mutate.
Perform inversion mutation.
This mutation reverses (inverts) the genes of the Chromosome.
Returns Chromosome
.
Parameters
chromosome
-Chromosome
to mutate.
Link to this function
scramble(chromosome)
View Sourcescramble(Genex.Chromosome.t()) :: Genex.Chromosome.t()
Perform a scramble mutation.
This mutation shuffles the genes of the Chromosome.
Returns Chromosome
.
Parameters
chromosome
-Chromosome
to mutate.