Generates generations for a neural network genetic algorithm. More...
#include <CscNeuralNetworkGeneticAlgorithmGenerationGenerator.h>
Classes | |
| struct | NeuralNetworkGeneticAlgorithmGeneration |
| Represents a generation in the neural network genetic algorithm. More... | |
Generates generations for a neural network genetic algorithm.
This class is responsible for managing and generating generations of a neural network genetic algorithm. It includes methods for selecting parents, sorting generations, and creating new individuals.
| conscience_core::ai::nn::CscNeuralNetworkGeneticAlgorithmGenerationGenerator::CscNeuralNetworkGeneticAlgorithmGenerationGenerator | ( | unsigned | populationSizeInit, |
| unsigned | nbNeuralNetworkInputsInit, | ||
| unsigned | nbNeuralNetworkOutputsInit, | ||
| unsigned | copyPercentOfChanceInit, | ||
| unsigned | crossoverPercentOfChanceInit, | ||
| unsigned | mutationPercentOfChanceInit, | ||
| CscNeuralNetworkGeneticAlgorithmIndividualGenerator::AllPossibilitiesHyperparameters * | allPossibilitiesHyperparameters | ||
| ) |
|
virtual |
| void conscience_core::ai::nn::CscNeuralNetworkGeneticAlgorithmGenerationGenerator::fillCurrentGenerationRandomly | ( | ) |
| void conscience_core::ai::nn::CscNeuralNetworkGeneticAlgorithmGenerationGenerator::fillNewCurrentGeneration | ( | unsigned | nthGeneration | ) |
| const unsigned conscience_core::ai::nn::CscNeuralNetworkGeneticAlgorithmGenerationGenerator::getCopyPercentOfChance | ( | ) | const |
| const unsigned conscience_core::ai::nn::CscNeuralNetworkGeneticAlgorithmGenerationGenerator::getCrossoverPercentOfChance | ( | ) | const |
| CscNeuralNetworkGeneticAlgorithmGenerationGenerator::NeuralNetworkGeneticAlgorithmGeneration * conscience_core::ai::nn::CscNeuralNetworkGeneticAlgorithmGenerationGenerator::getCurrentGeneration | ( | ) | const |
| CscNeuralNetworkGeneticAlgorithmIndividualGenerator * conscience_core::ai::nn::CscNeuralNetworkGeneticAlgorithmGenerationGenerator::getIndividualGenerator | ( | ) | const |
| const unsigned conscience_core::ai::nn::CscNeuralNetworkGeneticAlgorithmGenerationGenerator::getMutationPercentOfChance | ( | ) | const |
| const unsigned conscience_core::ai::nn::CscNeuralNetworkGeneticAlgorithmGenerationGenerator::getPopulationSize | ( | ) | const |
| CscNeuralNetworkGeneticAlgorithmGenerationGenerator::NeuralNetworkGeneticAlgorithmGeneration * conscience_core::ai::nn::CscNeuralNetworkGeneticAlgorithmGenerationGenerator::getPreviousGeneration | ( | ) | const |
| void conscience_core::ai::nn::CscNeuralNetworkGeneticAlgorithmGenerationGenerator::printResultsGenerationCreation | ( | ) |
| CscNeuralNetworkGeneticAlgorithmIndividualGenerator::HyperparametersIndividual * conscience_core::ai::nn::CscNeuralNetworkGeneticAlgorithmGenerationGenerator::selectParentByTournament | ( | const unsigned | nbParticipantsInTournament = DEFAULT_NB_PARTICIPANTS_IN_TOURNAMENT, |
| const float | probaForBestInTournament = DEFAULT_PROBA_FOR_BEST_IN_TOURNAMENT |
||
| ) |
Selects a parent for the next generation using the tournament selection method.
This method conducts a tournament selection process, which is a stochastic method used to select the best individual based on their fitness scores from a subset of the current generation. It randomly picks a specified number of participants from the previous generation, sorts them based on their performance, and then probabilistically selects one to be a parent based on their rank. The probability of selecting each participant decreases for lower-ranked individuals, ensuring that the best performers have a higher chance of being chosen, while still allowing for genetic diversity.
HyperparametersIndividual that wins the tournament and will contribute to creating the new generation. | void conscience_core::ai::nn::CscNeuralNetworkGeneticAlgorithmGenerationGenerator::sortCurrentGenerationByResult | ( | ) |