The Crossover structure that encapsulates the crossover operation and its configuration in evolutionary algorithm.
More...
#include <Crossover.hh>
|
| std::vector< std::unique_ptr< EvoScript > > | populationAfter {} |
| | Population after the crossover operation is performed. More...
|
| |
|
double | crossoverIndividualRate = 0.0 |
| | Average rate of crossover. If N is the population.size(), then around (N*crossoverIndividualRate) children will be produced.
|
| |
|
CrossoverSelectionType | selectionType = CrossoverSelectionType::RANDOM |
| | The method that chooses parents to be recombined.
|
| |
|
double | pseudoRouletteRandomPortion = 0.0 |
| | Pseudoroullete selects pseudoRouletteRandomPortion individuals at random and 1-pseudoRouletteRandomPortion according to roulette.
|
| |
|
double | 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.
|
| |
|
|
virtual void | CrossoverFunctionOnePoint (EvoScript &individual1, EvoScript &individual2) |
| |
|
virtual void | CrossoverFunctionMultiPoint (EvoScript &individual1, EvoScript &individual2, size_t length) |
| |
|
virtual void | CrossoverIndividuals (EvoScript &individual1, EvoScript &individual2) |
| |
The Crossover structure that encapsulates the crossover operation and its configuration in evolutionary algorithm.
◆ Crossover()
| grail::evolution::Crossover::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{}() |
|
) |
| |
Crossover - Constructor.
- Parameters
-
| crossoverIndividualRate | - average rate of crossover. If N is the population.size(), then around (N*crossoverIndividualRate) children will be produced. |
| selectionType | - the method that chooses parents to be recombined. See CrossoverSelectionType. |
| pseudoRouletteRandomPortion | - pseudoroullete selects pseudoRouletteRandomPortion individuals at random and 1-pseudoRouletteRandomPortion according to roulette. |
| crossoverPhaseRate | - 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. |
| seed | - initial seed for random numbers generator. |
◆ Perform()
| void grail::evolution::Crossover::Perform |
( |
const std::vector< std::unique_ptr< EvoScript >> & |
inputPopulation | ) |
|
Perform - the function that performs the crossover phase.
- Parameters
-
| inputPopulation | - the population containing individuals that are candidates for the crossover. Please note that the crossover might not choose all individuals depending on its configuration. |
◆ populationAfter
| std::vector<std::unique_ptr<EvoScript> > grail::evolution::Crossover::populationAfter {} |
Population after the crossover operation is performed.
The documentation for this struct was generated from the following files: