ROOT 6.08/07 Reference Guide |
Definition at line 58 of file GeneticPopulation.h.
Public Member Functions | |
GeneticPopulation (const std::vector< TMVA::Interval *> &ranges, Int_t size, UInt_t seed=0) | |
Constructor. More... | |
virtual | ~GeneticPopulation () |
destructor More... | |
void | AddPopulation (GeneticPopulation *strangers) |
add another population (strangers) to the one of this GeneticPopulation More... | |
void | AddPopulation (GeneticPopulation &strangers) |
add another population (strangers) to the one of this GeneticPopulation More... | |
Double_t | GetFitness () const |
const std::vector< TMVA::GeneticGenes > & | GetGenePool () const |
std::vector< TMVA::GeneticGenes > & | GetGenePool () |
GeneticGenes * | GetGenes (Int_t index) |
gives back the "Genes" of the population with the given index. More... | |
Int_t | GetPopulationSize () const |
const std::vector< TMVA::GeneticRange * > & | GetRanges () const |
std::vector< TMVA::GeneticRange * > & | GetRanges () |
void | GiveHint (std::vector< Double_t > &hint, Double_t fitness=0) |
add an individual (a set of variables) to the population if there is a set of variables which is known to perform good, they can be given as a hint to the population More... | |
void | MakeChildren () |
does what the name says,... More... | |
void | MakeCopies (int number) |
produces offspring which is are copies of their parents Parameters: int number : the number of the last individual to be copied More... | |
void | Mutate (Double_t probability=20, Int_t startIndex=0, Bool_t near=kFALSE, Double_t spread=0.1, Bool_t mirror=kFALSE) |
mutates the individuals in the genePool Parameters: double probability : gives the probability (in percent) of a mutation of a coefficient int startIndex : leaves unchanged (without mutation) the individuals which are better ranked than indicated by "startIndex". More... | |
void | NextGeneration () |
void | Print (Int_t untilIndex=-1) |
make a little printout of the individuals up to index "untilIndex" this means, . More... | |
void | Print (std::ostream &out, Int_t utilIndex=-1) |
make a little printout to the stream "out" of the individuals up to index "untilIndex" this means, . More... | |
void | SetRandomSeed (UInt_t seed=0) |
the random seed of the random generator More... | |
void | Sort () |
sort the genepool according to the fitness of the individuals More... | |
void | TrimPopulation () |
trim the population to the predefined size More... | |
TH1F * | VariableDistribution (Int_t varNumber, Int_t bins, Int_t min, Int_t max) |
give back a histogram with the distribution of the coefficients parameters: int bins : number of bins of the histogram int min : histogram minimum int max : maximum value of the histogram More... | |
std::vector< Double_t > | VariableDistribution (Int_t varNumber) |
gives back all the values of coefficient "varNumber" of the current generation More... | |
Private Member Functions | |
MsgLogger & | Log () const |
GeneticGenes | MakeSex (GeneticGenes male, GeneticGenes female) |
this function takes two individuals and produces offspring by mixing (recombining) their coefficients More... | |
Private Attributes | |
std::vector< TMVA::GeneticGenes > | fGenePool |
MsgLogger * | fLogger |
Int_t | fPopulationSizeLimit |
TRandom3 * | fRandomGenerator |
std::vector< TMVA::GeneticRange * > | fRanges |
#include <TMVA/GeneticPopulation.h>
TMVA::GeneticPopulation::GeneticPopulation | ( | const std::vector< TMVA::Interval *> & | ranges, |
Int_t | size, | ||
UInt_t | seed = 0 |
||
) |
Constructor.
Definition at line 50 of file GeneticPopulation.cxx.
|
virtual |
destructor
Definition at line 79 of file GeneticPopulation.cxx.
void TMVA::GeneticPopulation::AddPopulation | ( | GeneticPopulation * | strangers | ) |
add another population (strangers) to the one of this GeneticPopulation
Definition at line 285 of file GeneticPopulation.cxx.
void TMVA::GeneticPopulation::AddPopulation | ( | GeneticPopulation & | strangers | ) |
add another population (strangers) to the one of this GeneticPopulation
Definition at line 296 of file GeneticPopulation.cxx.
|
inline |
Definition at line 73 of file GeneticPopulation.h.
|
inline |
Definition at line 75 of file GeneticPopulation.h.
|
inline |
Definition at line 78 of file GeneticPopulation.h.
TMVA::GeneticGenes * TMVA::GeneticPopulation::GetGenes | ( | Int_t | index | ) |
gives back the "Genes" of the population with the given index.
Definition at line 197 of file GeneticPopulation.cxx.
|
inline |
Definition at line 72 of file GeneticPopulation.h.
|
inline |
Definition at line 76 of file GeneticPopulation.h.
|
inline |
Definition at line 79 of file GeneticPopulation.h.
add an individual (a set of variables) to the population if there is a set of variables which is known to perform good, they can be given as a hint to the population
Definition at line 315 of file GeneticPopulation.cxx.
|
inlineprivate |
Definition at line 110 of file GeneticPopulation.h.
void TMVA::GeneticPopulation::MakeChildren | ( | ) |
does what the name says,...
it creates children out of members of the current generation children have a combination of the coefficients of their parents
Definition at line 121 of file GeneticPopulation.cxx.
void TMVA::GeneticPopulation::MakeCopies | ( | int | number | ) |
produces offspring which is are copies of their parents Parameters: int number : the number of the last individual to be copied
Definition at line 105 of file GeneticPopulation.cxx.
|
private |
this function takes two individuals and produces offspring by mixing (recombining) their coefficients
Definition at line 139 of file GeneticPopulation.cxx.
void TMVA::GeneticPopulation::Mutate | ( | Double_t | probability = 20 , |
Int_t | startIndex = 0 , |
||
Bool_t | near = kFALSE , |
||
Double_t | spread = 0.1 , |
||
Bool_t | mirror = kFALSE |
||
) |
mutates the individuals in the genePool Parameters: double probability : gives the probability (in percent) of a mutation of a coefficient int startIndex : leaves unchanged (without mutation) the individuals which are better ranked than indicated by "startIndex".
This means: if "startIndex==3", the first (and best) three individuals are not mutaded. This allows to preserve the best result of the current Generation for the next generation. Bool_t near : if true, the mutation will produce a new coefficient which is "near" the old one (gaussian around the current value) double spread : if near==true, spread gives the sigma of the gaussian Bool_t mirror : if the new value obtained would be outside of the given constraints the value is mapped between the constraints again. This can be done either by a kind of periodic boundary conditions or mirrored at the boundary. (mirror = true seems more "natural")
Definition at line 170 of file GeneticPopulation.cxx.
|
inline |
Definition at line 92 of file GeneticPopulation.h.
make a little printout of the individuals up to index "untilIndex" this means, .
. write out the best "untilIndex" individuals.
Definition at line 207 of file GeneticPopulation.cxx.
make a little printout to the stream "out" of the individuals up to index "untilIndex" this means, .
. write out the best "untilIndex" individuals.
Definition at line 230 of file GeneticPopulation.cxx.
the random seed of the random generator
Definition at line 94 of file GeneticPopulation.cxx.
void TMVA::GeneticPopulation::Sort | ( | ) |
sort the genepool according to the fitness of the individuals
Definition at line 326 of file GeneticPopulation.cxx.
void TMVA::GeneticPopulation::TrimPopulation | ( | ) |
trim the population to the predefined size
Definition at line 304 of file GeneticPopulation.cxx.
TH1F * TMVA::GeneticPopulation::VariableDistribution | ( | Int_t | varNumber, |
Int_t | bins, | ||
Int_t | min, | ||
Int_t | max | ||
) |
give back a histogram with the distribution of the coefficients parameters: int bins : number of bins of the histogram int min : histogram minimum int max : maximum value of the histogram
Definition at line 255 of file GeneticPopulation.cxx.
gives back all the values of coefficient "varNumber" of the current generation
Definition at line 273 of file GeneticPopulation.cxx.
|
private |
Definition at line 104 of file GeneticPopulation.h.
|
mutableprivate |
Definition at line 109 of file GeneticPopulation.h.
|
private |
Definition at line 112 of file GeneticPopulation.h.
|
private |
Definition at line 107 of file GeneticPopulation.h.
|
private |
Definition at line 105 of file GeneticPopulation.h.