Source code for alogos.systems.pige.mutation

"""Mutation functions for piGE."""

from .. import _shared
from . import default_parameters as _dp
from . import representation as _representation


[docs]def int_replacement_by_probability(grammar, genotype, parameters=None): """Generate a new genotype by replacing int values by chance. Parameters ---------- grammar : `~alogos.Grammar` genotype : `~.representation.Genotype` parameters : `dict` or `~alogos._utilities.parametrization.ParameterCollection`, optional Following keyword-value pairs are considered by this function: - ``mutation_int_replacement_probability`` (`int`) : Probability of changing a codon. - ``codon_size`` (`int`) : Number of bits in a codon. Returns ------- genotype : `~.representation.Genotype` Mutated genotype. """ return _shared.mutation.flat_int_replacement_by_prob( grammar, genotype, parameters, _dp, _representation )
[docs]def int_replacement_by_count(grammar, genotype, parameters=None): """Generate a new genotype by replacing a certain number of values. Parameters ---------- grammar : `~alogos.Grammar` genotype : `~.representation.Genotype` parameters : `dict` or `~alogos._utilities.parametrization.ParameterCollection`, optional Following keyword-value pairs are considered by this function: - ``mutation_int_replacement_count`` (`int`) : Total number of codons that shall be replaced. - ``codon_size`` (`int`) : Number of bits in a codon. Returns ------- genotype : `~.representation.Genotype` Mutated genotype. """ return _shared.mutation.flat_int_replacement_by_count( grammar, genotype, parameters, _dp, _representation )