25#ifndef ROOT_TMVA_GeneticAlgorithm
26#define ROOT_TMVA_GeneticAlgorithm
55 const std::vector<TMVA::Interval*>& ranges,
UInt_t seed = 0 );
96 const std::vector<TMVA::Interval*>&
fRanges;
#define ClassDef(name, id)
Base definition for genetic algorithm.
virtual Double_t SpreadControl(Int_t steps, Int_t ofSteps, Double_t factor)
this function provides the ability to change the stepSize of a mutation according to the success of t...
virtual Bool_t HasConverged(Int_t steps=10, Double_t ratio=0.1)
gives back true if the last "steps" steps have lead to an improvement of the "fitness" of the "indivi...
const std::vector< TMVA::Interval * > & fRanges
GeneticPopulation fPopulation
GeneticPopulation & GetGeneticPopulation()
void Init()
calls evolution, but if it is not the first time.
std::deque< Int_t > fSuccessList
virtual void Evolution()
this function is called from "init" and controls the evolution of the individuals.
Double_t GetSpread() const
virtual ~GeneticAlgorithm()
IFitterTarget & fFitterTarget
virtual Double_t CalculateFitness()
starts the evaluation of the fitness of all different individuals of the population.
GeneticAlgorithm(IFitterTarget &target, Int_t populationSize, const std::vector< TMVA::Interval * > &ranges, UInt_t seed=0)
Constructor.
void SetMakeCopies(Bool_t s)
virtual Double_t NewFitness(Double_t oldValue, Double_t newValue)
if the "fitnessFunction" is called multiple times for one set of factors (because i....
void SetSpread(Double_t s)
Population definition for genetic algorithm.
Interface for a fitter 'target'.
ostringstream derivative to redirect and format output
static constexpr double s
create variable transformations