Genetic
Biblioteka umożliwiająca wykorzystanie algorytmów genetycznych do obliczeń. Z założenia wszystko może być w niej genem. Prosta wartość liczbowa (int), czy też jakaś bardziej skomplikowana struktura.
Przykładowe wywołanie programu:
#include "gene.h"
#include "chromosome.h"
#include "generation.h"
#include "generator/bitGenerator.h"
#include "selection/rouletteSelection.h"
#include "selection/linearRankSelection.h"
#include "crossover/crossover.h"
#include "mutation/mutation.h"
#include "fitness/wsti.h"
#include "algorithm.h"
#include "condition/condition.h"
#include "condition/generationLimitCondition.h"
using namespace genetic;
int main() {
typedef Gene<bool> _Gene;
typedef Chromosome<_Gene> _Chromosome;
typedef WSTI<_Chromosome> _Fitness;
typedef LinearRankSelection<_Chromosome> _Selection;
typedef Crossover<_Chromosome> _Crossover;
typedef Mutation<_Chromosome> _Mutation;
typedef generator::BitGenerator<_Chromosome> _Generator;
typedef Algorithm<_Chromosome, _Selection, _Crossover, _Mutation, _Fitness> _Algorithm;
typedef GenerationLimitCondition<_Chromosome> _Condition;
const int chromosomeSize = 10;
const int generationSize = 500;
const double crossoverChance = 0.75;
const double mutationChance = 0.01;
_Fitness fitness(0.5, 2.5);
_Generator generationGenerator(generationSize, chromosomeSize);
_Algorithm algorithm(generationGenerator, fitness, crossoverChance, mutationChance);
_Condition condition(10000);
algorithm.searchForResult(condition);
return 0;
}