25 #ifndef ROOT_TMVA_GeneticAlgorithm 26 #define ROOT_TMVA_GeneticAlgorithm 40 #ifndef ROOT_TMVA_IFitterTarget 43 #ifndef ROOT_TMVA_GeneticPopulation 46 #ifndef ROOT_TMVA_Types 61 const std::vector<TMVA::Interval*>& ranges,
UInt_t seed = 0 );
virtual Double_t CalculateFitness()
starts the evaluation of the fitness of all different individuals of the population.
GeneticPopulation & GetGeneticPopulation()
GeneticAlgorithm(IFitterTarget &target, Int_t populationSize, const std::vector< TMVA::Interval *> &ranges, UInt_t seed=0)
Constructor Parameters: int populationSize : defines the number of "Individuals" which are created an...
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...
GeneticPopulation fPopulation
const std::vector< TMVA::Interval * > & fRanges
#define ClassDef(name, id)
void SetMakeCopies(Bool_t s)
Double_t GetSpread() const
IFitterTarget & fFitterTarget
virtual ~GeneticAlgorithm()
std::deque< Int_t > fSuccessList
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...
virtual void Evolution()
this function is called from "init" and controls the evolution of the individuals.
Abstract ClassifierFactory template that handles arbitrary types.
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 Init()
calls evolution, but if it is not the first time.
void SetSpread(Double_t s)