openModeller  Version 1.5.0
RangeRule Class Reference

#include <Rule.h>

Inheritance diagram for RangeRule:
Inheritance graph
Collaboration diagram for RangeRule:
Collaboration graph

Public Member Functions

 RangeRule ()
 
virtual ~RangeRule ()
 
virtual RuleobjFactory ()
 
virtual char type () const
 
virtual void fromString (char *strRule)
 
virtual void initialize (EnvCellSet *objEnvCellSet, const RuleSet *objRuleSet, bool *geneIsActivePtr, int *geneIndexPtr, int iActGenes)
 
virtual bool applyToCell (EnvCell *cell)
 
virtual double getStrength (EnvCell *cell)
 
void bioclimRange (EnvCellSet *objEnvCellSet, BYTE pred, double level, int var)
 
 RangeRule ()
 
 RangeRule (int numGenes)
 
 RangeRule (Scalar prediction, int numGenes, const Sample &chrom1, const Sample &chrom2, const double *performances)
 Constructor with setters. More...
 
virtual ~RangeRule ()
 
virtual GarpRuleobjFactory () const
 
virtual char type () const
 
virtual void initialize (const BioclimHistogram &histogram)
 
virtual bool applies (const Sample &sample) const
 
virtual int getStrength (const Sample &sample) const
 
void log ()
 
- Public Member Functions inherited from GarpRule
 GarpRule ()
 
virtual ~GarpRule ()
 
 GarpRule ()
 Default constructor. More...
 
 GarpRule (const int numGenes)
 Constructor with defined size. More...
 
 GarpRule (Scalar prediction, int numGenes, const Sample &chrom1, const Sample &chrom2, const double *performances)
 Constructor with setters. More...
 
virtual ~GarpRule ()
 Default destructor. More...
 
virtual GarpRuleclone () const
 
virtual int copy (const GarpRule *fromRule)
 
int numGenes () const
 
bool needsEvaluation () const
 
void forceEvaluation ()
 
void evaluated ()
 
void setPrediction (double pred)
 
Scalar getPrediction () const
 
const SamplegetChrom1 () const
 
const SamplegetChrom2 () const
 
const double * getPerformanceArray () const
 
double getPerformance (PerfIndex perfIndex) const
 
virtual int getCertainty (const Scalar pred) const
 
virtual double getError (const Scalar predefinedValue, const Scalar prediction) const
 
virtual bool similar (const GarpRule *compareToRule) const
 
virtual void mutate (double temperature)
 
virtual void crossover (GarpRule *rule, int xpt1, int xpt2)
 
void adjustRange (Scalar &v1, Scalar &v2) const
 
double evaluate (const OccurrencesPtr &occs)
 
- Public Member Functions inherited from Rule
 Rule ()
 Default constructor. More...
 
virtual ~Rule ()
 Default destructor. More...
 
virtual Ruleclone ()
 
virtual void copy (Rule *fromRule)
 
void RestoreRule (double *perf, unsigned char *genes, int arry_len, int *gene_index)
 Restore Model. More...
 
virtual char * toString ()
 
virtual char * toXML ()
 
virtual double getCertainty (EnvCell *cell)
 
virtual double getError (BYTE pred, EnvCell *cell)
 
virtual bool similar (Rule *objOtherRule)
 
virtual void mutate (int intTemperature)
 
double testWithData (EnvCellSet *objTrainSet)
 
bool needsEvaluation ()
 

Additional Inherited Members

- Protected Attributes inherited from GarpRule
Sample _chrom1
 BYTE vector containing the genes (representation of the variables in a Genetic Algorithm. More...
 
Sample _chrom2
 
Scalar _prediction
 
int _numGenes
 Number of genes stored by the rule. More...
 
double _performance [10]
 Vector for storing the performance values for the rule. More...
 
bool _needsEvaluation
 
char _origin
 
- Protected Attributes inherited from Rule
BYTEGene
 BYTE vector containing the genes (representation of the variables in a Genetic Algorithm. More...
 
int intGenes
 Number of genes stored by the rule. More...
 
double dblPerformance [10]
 Vector for storing the performance values for the rule. More...
 
bool blnNeedsEvaluation
 
int intGens
 
int intTrials
 
int intScreener
 
int intScreen
 
int intLength
 
int intNumber
 
int intConclusion
 
char chrOrigin
 
char chrPad
 
int lId
 
int iOrigGen
 
double _pXYs
 
int _no
 
double _dA
 
double _dSig
 
bool * bGeneIsActive
 
int * iGeneIndex
 
int iActiveGenes
 

Detailed Description

Implements Garp Range rules. Also known as Bioclim rules. Examples of Range rules are:

IF temp between 10 and 20C THEN sp=PRESENT IF temp between 10 and 20C AND elevation between 500 and 2000m THEN sp=ABSENT

Definition at line 126 of file Rule.h.

Constructor & Destructor Documentation

RangeRule::RangeRule ( )

Definition at line 500 of file Rule.cpp.

Referenced by objFactory().

RangeRule::~RangeRule ( )
virtual

Definition at line 503 of file Rule.cpp.

RangeRule::RangeRule ( )
RangeRule::RangeRule ( int  numGenes)

Definition at line 54 of file rules_range.cpp.

RangeRule::RangeRule ( Scalar  prediction,
int  numGenes,
const Sample chrom1,
const Sample chrom2,
const double *  performances 
)

Constructor with setters.

Definition at line 58 of file rules_range.cpp.

virtual RangeRule::~RangeRule ( )
virtual

Member Function Documentation

bool RangeRule::applies ( const Sample sample) const
virtual

Implements GarpRule.

Reimplemented in NegatedRangeRule.

Definition at line 86 of file rules_range.cpp.

References GarpRule::_chrom1, GarpRule::_chrom2, GarpRule::_numGenes, between(), and equalEps().

Here is the call graph for this function:

bool RangeRule::applyToCell ( EnvCell cell)
virtual

Implements Rule.

Reimplemented in NegatedRangeRule.

Definition at line 574 of file Rule.cpp.

References Rule::Gene, Rule::iActiveGenes, Rule::iGeneIndex, GarpUtil::notBetween(), and EnvCell::values.

Here is the call graph for this function:

void RangeRule::bioclimRange ( EnvCellSet objEnvCellSet,
BYTE  pred,
double  level,
int  var 
)

Definition at line 534 of file Rule.cpp.

References Rule::Gene, EnvCellSet::getBioclimHistogram(), and BioclimHistogram::matrix.

Referenced by initialize().

Here is the call graph for this function:

void RangeRule::fromString ( char *  strRule)
virtual

Implements Rule.

Reimplemented in NegatedRangeRule.

Definition at line 506 of file Rule.cpp.

int RangeRule::getStrength ( const Sample sample) const
virtual

Implements GarpRule.

Reimplemented in NegatedRangeRule.

Definition at line 100 of file rules_range.cpp.

References GarpRule::_chrom1, GarpRule::_chrom2, GarpRule::_numGenes, and membership().

Here is the call graph for this function:

double RangeRule::getStrength ( EnvCell cell)
virtual

Implements Rule.

Reimplemented in NegatedRangeRule.

Definition at line 588 of file Rule.cpp.

References Rule::Gene, Rule::iActiveGenes, Rule::iGeneIndex, Rule::intLength, GarpUtil::membership(), and EnvCell::values.

Referenced by NegatedRangeRule::getStrength().

Here is the call graph for this function:

void RangeRule::initialize ( const BioclimHistogram histogram)
virtual

Definition at line 68 of file rules_range.cpp.

References GarpRule::_chrom1, GarpRule::_chrom2, GarpRule::_numGenes, GarpRule::_prediction, Random::get(), and BioclimHistogram::getBioclimRange().

Here is the call graph for this function:

void RangeRule::initialize ( EnvCellSet objEnvCellSet,
const RuleSet objRuleSet,
bool *  geneIsActivePtr,
int *  geneIndexPtr,
int  iActGenes 
)
virtual

Implements Rule.

Definition at line 511 of file Rule.cpp.

References bioclimRange(), Rule::Gene, Rule::iActiveGenes, Rule::iGeneIndex, Rule::initialize(), Rule::intLength, GarpUtil::randint(), and GarpUtil::random().

Here is the call graph for this function:

void RangeRule::log ( )
virtual

Reimplemented from GarpRule.

Definition at line 117 of file rules_range.cpp.

References Log::info(), Log::instance(), and GarpRule::log().

Here is the call graph for this function:

virtual GarpRule* RangeRule::objFactory ( ) const
inlinevirtual

Implements GarpRule.

Reimplemented in NegatedRangeRule.

Definition at line 69 of file rules_range.hh.

References RangeRule().

Here is the call graph for this function:

virtual Rule* RangeRule::objFactory ( )
inlinevirtual

Implements Rule.

Reimplemented in NegatedRangeRule.

Definition at line 131 of file Rule.h.

References RangeRule().

Here is the call graph for this function:

virtual char RangeRule::type ( ) const
inlinevirtual

Reimplemented from GarpRule.

Reimplemented in NegatedRangeRule, and NegatedRangeRule.

Definition at line 71 of file rules_range.hh.

virtual char RangeRule::type ( ) const
inlinevirtual

Reimplemented from GarpRule.

Reimplemented in NegatedRangeRule, and NegatedRangeRule.

Definition at line 133 of file Rule.h.


The documentation for this class was generated from the following files: