The Mutation object that encapsulates the mutation operation and its configuration in evolutionary algorithm.
More...
|
void | Perform (in List< Individual > constInputPopulation) |
| Attempts to mutate the entire population. The number of mutated individuals is based on mutation phase rate and mutate individual rate. More...
|
|
The Mutation object that encapsulates the mutation operation and its configuration in evolutionary algorithm.
◆ CreateIdentityMutation()
static Mutation Grail.Evolution.Mutation.CreateIdentityMutation |
( |
| ) |
|
|
inlinestatic |
Creates a mutation, called identity mutation, that does not transform the population in any way.
- Returns
- Returns the identity mutation.
◆ MutateGene()
The function that performs the mutation operation of a single parameter within the mutated individual.
- Parameters
-
individual | The mutated individual. |
gene | The parameter of the individual to be mutated. |
◆ MutateIndividual()
virtual void Grail.Evolution.Mutation.MutateIndividual |
( |
Individual |
individual | ) |
|
|
inlineprotectedvirtual |
The function that performs the mutation operation of one individual.
- Parameters
-
individual | The individual to be mutated. |
◆ Perform()
void Grail.Evolution.Mutation.Perform |
( |
in List< Individual > |
constInputPopulation | ) |
|
|
inline |
Attempts to mutate the entire population. The number of mutated individuals is based on mutation phase rate and mutate individual rate.
- Parameters
-
constInputPopulation | The population containing individuals that are candidates for the mutation. This population should not be changed. Instead add the results to PopulationAfter.
|
◆ MutateBothParentsAndChildren
bool Grail.Evolution.Mutation.MutateBothParentsAndChildren = 0.5 |
|
getset |
If true
: both the previous population and children can be mutated; if false
: only the individuals after the crossover can be mutated.
◆ MutationGeneRate
double Grail.Evolution.Mutation.MutationGeneRate = 0.09 |
|
getset |
IF randomResolutionTypeForGene == ITERATE_AND_TEST_P
: the probability that a gene of an individual will be considered for mutation;
IF randomResolutionTypeForGene == SELECT_P_OF_N
: the portion of genes within an individual chosen for mutation.
◆ MutationIndividualRate
double Grail.Evolution.Mutation.MutationIndividualRate = 1.0 |
|
getset |
IF RandomResolutionTypeForIndividual == ITERATE_AND_TEST_P
: the probability that an individual will be considered for mutation (RandomResolutionTypeForIndividual == ITERATE_AND_TEST_P);
IF RandomResolutionTypeForIndividual == SELECT_P_OF_N
: the portion of individuals chosen for mutation (RandomResolutionTypeForIndividual == SELECT_P_OF_N).
◆ MutationPhaseRate
The probability that mutation happens (globally). If a mutation is included in the algorithm, this value should most likely be equal to 1.0
.
◆ RandomResolutionTypeForGene
Specifies how genes in an individual (already chosen for mutation) are chosen for mutation. See MutationSelectionType.
◆ RandomResolutionTypeForIndividual
The documentation for this class was generated from the following file:
- GrailEvolution/source/Mutation.cs