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()
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)
IFitterTarget & fFitterTarget
GeneticAlgorithm(IFitterTarget &target, Int_t populationSize, const std::vector< TMVA::Interval * > &ranges, UInt_t seed=0)
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.
virtual Double_t NewFitness(Double_t oldValue, Double_t newValue)
if the "fitnessFunction" is called multiple times for one set of factors (because i...
Double_t GetSpread() const
void Init()
calls evolution, but if it is not the first time.
void SetSpread(Double_t s)