|
| Crossover (double crossoverIndividualRate=0.45, CrossoverSelectionType selectionType=CrossoverSelectionType::PSEUDO_ROULETTE, double pseudoRouletteRandomPortion=0.3, double crossoverPhaseRate=1.0, std::mt19937_64::result_type seed=std::random_device{}()) |
|
void | perform (const std::vector< std::unique_ptr< EvoScript >> &inputPopulation) |
|
|
virtual void | crossoverFunctionOnePoint (EvoScript &individual1, EvoScript &individual2) |
|
virtual void | crossoverFunctionMultiPoint (EvoScript &individual1, EvoScript &individual2, size_t length) |
|
virtual void | crossoverIndividuals (EvoScript &individual1, EvoScript &individual2) |
|
◆ CrossoverIndividualRate
double grail::evolution::Crossover::CrossoverIndividualRate = 0.0 |
Average rate of crossover. If N is the population.size(), then around (N*crossoverIndividualRate) children will be produced.
◆ CrossoverPhaseRate
double grail::evolution::Crossover::CrossoverPhaseRate = 0.0 |
Probability of a crossover phase to happen (globally). If a crossover is included in the algorithm, this value should most likely be equal to 1.0.
◆ PseudoRouletteRandomPortion
double grail::evolution::Crossover::PseudoRouletteRandomPortion = 0.0 |
Pseudoroullete selects pseudoRouletteRandomPortion individuals at random and 1-pseudoRouletteRandomPortion according to roulette.
◆ SelectionType
CrossoverSelectionType grail::evolution::Crossover::SelectionType = CrossoverSelectionType::RANDOM |
The method that chooses parents to be recombined.
The documentation for this struct was generated from the following files: