| 
| 
  | Mutation (double mutationPhaseRate=1.0, double mutateIndividualRate=0.09, double mutateChromosomeRate=0.5, bool mutateBothParentsAndChildren=true, std::mt19937_64::result_type seed=std::random_device{}()) | 
|   | 
| 
virtual void  | Perform (const std::vector< std::unique_ptr< EvoScript >> &parentPopulation, const std::vector< std::unique_ptr< EvoScript >> &childrenPopulation) | 
|   | 
◆ MutateBothParentsAndChildren
      
        
          | bool grail::evolution::Mutation::MutateBothParentsAndChildren = false | 
        
      
 
If true: both the previous population and children can be mutated; if false: only the individuals after crossover can be mutated. 
 
 
◆ MutateChromosomeRate
      
        
          | double grail::evolution::Mutation::MutateChromosomeRate = 0.0 | 
        
      
 
Probability that a chromosome of an individual will be considered for mutation (randomResolutionTypeForChromosome == ITERATE_AND_TEST_P); or the portion of chromosomes within an individual chosen for mutation (randomResolutionTypeForChromosome == SELECT_P_OF_N). 
 
 
◆ MutateIndividualRate
      
        
          | double grail::evolution::Mutation::MutateIndividualRate = 0.0 | 
        
      
 
Probability that an individual will be considered for mutation (randomResolutionTypeForIndividual == ITERATE_AND_TEST_P); or the portion of individuals chosen for mutation (randomResolutionTypeForIndividual == SELECT_P_OF_N). 
 
 
◆ MutationPhaseRate
      
        
          | double grail::evolution::Mutation::MutationPhaseRate = 0.0 | 
        
      
 
Probability of a mutation phase to happen (globally). If a mutation is included in the algorithm, this value should most likely be equal to 1.0. 
 
 
The documentation for this struct was generated from the following files: