openModeller  Version 1.5.0
NicheMosaic Class Reference

#include <niche_mosaic.hh>

Inheritance diagram for NicheMosaic:
Inheritance graph
Collaboration diagram for NicheMosaic:
Collaboration graph

Public Member Functions

 NicheMosaic ()
 
 ~NicheMosaic ()
 
int initialize ()
 
int iterate ()
 
int done () const
 
float getProgress () const
 
Scalar getValue (const Sample &x) const
 
int setMinMaxDelta ()
 
void createModel (std::vector< ScalarVector > &_model_min, std::vector< ScalarVector > &_model_max, const std::vector< Scalar > &delta)
 
void editModel (std::vector< ScalarVector > &model_min, std::vector< ScalarVector > &model_max, const std::vector< Scalar > &delta, size_t i_layer)
 
size_t calculateCostPres (const std::vector< ScalarVector > &_model_min, const std::vector< ScalarVector > &_model_max)
 
size_t calculateCostAus (const std::vector< ScalarVector > &_model_min, const std::vector< ScalarVector > &_model_max)
 
size_t getRandomLayerNumber ()
 
Scalar getRandomPercent (const std::vector< Scalar > &delta, const size_t i_layer, size_t &cost1)
 
void renewTabuDegree (std::vector< size_t > &tabuDegree)
 
void saveBestModel (const std::vector< ScalarVector > &model_min, const std::vector< ScalarVector > &model_max)
 
void improveModel (const std::vector< Scalar > &deltaBest)
 
void findSolution (size_t &costBest, std::vector< Scalar > &deltaBest, int &bestIter, size_t &bestCost2)
 
OccurrencesPtr cleanOccurrences (const OccurrencesPtr &occurrences)
 
void computeMeanDeviation (const OccurrencesPtr &occs, Sample &mean, Sample &deviation)
 
- Public Member Functions inherited from AlgorithmImpl
 AlgorithmImpl (AlgMetadata const *metadata)
 
virtual ~AlgorithmImpl ()
 
void setParameters (int nparam, AlgParameter const *param)
 
void setParameters (const ParamSetType &)
 
std::string const getID () const
 
AlgMetadata const * getMetadata () const
 
AlgorithmPtr getFreshCopy ()
 
virtual int supportsModelProjection () const
 
Model createModel (const SamplerPtr &samp, CallbackWrapper *func=0)
 
void setSampler (const SamplerPtr &samp)
 
virtual int finalize ()
 
virtual int getConvergence (Scalar *const val) const
 
virtual int needNormalization ()
 
NormalizergetNormalizer () const
 
void setNormalization (const SamplerPtr &samp) const
 
void setNormalization (const EnvironmentPtr &env) const
 
virtual Model getModel () const
 
ConfigurationPtr getConfiguration () const
 
void setConfiguration (const ConstConfigurationPtr &)
 
- Public Member Functions inherited from Configurable
virtual ~Configurable ()
 

Protected Member Functions

void _getConfiguration (ConfigurationPtr &) const
 
void _setConfiguration (const ConstConfigurationPtr &)
 
- Protected Member Functions inherited from AlgorithmImpl
int dimDomain ()
 
int getParameter (std::string const &name, std::string *value)
 
int getParameter (std::string const &name, double *value)
 
int getParameter (std::string const &name, float *value)
 
int getParameter (std::string const &name, int *value)
 

Private Attributes

int _num_iterations
 
int _num_points
 
size_t _num_points_test
 
size_t _num_points_absence_test
 
int _num_layers
 
Sample _minimum
 
Sample _maximum
 
Sample _delta
 
OccurrencesPtr _my_presences
 
OccurrencesPtr _my_presences_test
 
OccurrencesPtr _my_absence_test
 
Scalar _bestCost
 
bool _done
 
float _progress
 
SamplerPtr _sampp
 
std::vector< ScalarVector_model_min_best
 
std::vector< ScalarVector_model_max_best
 

Additional Inherited Members

- Public Types inherited from AlgorithmImpl
typedef std::map< icstring,
std::string > 
ParamSetType
 
- Protected Attributes inherited from AlgorithmImpl
SamplerPtr _samp
 
Normalizer_normalizerPtr
 
ParamSetType _param
 

Detailed Description

Definition at line 35 of file niche_mosaic.hh.

Constructor & Destructor Documentation

NicheMosaic::NicheMosaic ( )

Definition at line 120 of file niche_mosaic.cpp.

NicheMosaic::~NicheMosaic ( )

Definition at line 139 of file niche_mosaic.cpp.

Member Function Documentation

void NicheMosaic::_getConfiguration ( ConfigurationPtr config) const
protectedvirtual

Reimplemented from AlgorithmImpl.

Definition at line 633 of file niche_mosaic.cpp.

References _done, _model_max_best, _model_min_best, _num_layers, and _num_points.

void NicheMosaic::_setConfiguration ( const ConstConfigurationPtr config)
protectedvirtual

Reimplemented from AlgorithmImpl.

Definition at line 660 of file niche_mosaic.cpp.

References _done, _model_max_best, _model_min_best, _num_layers, and _num_points.

size_t NicheMosaic::calculateCostAus ( const std::vector< ScalarVector > &  _model_min,
const std::vector< ScalarVector > &  _model_max 
)

Definition at line 426 of file niche_mosaic.cpp.

References _my_absence_test, _num_layers, and _num_points.

Referenced by findSolution().

size_t NicheMosaic::calculateCostPres ( const std::vector< ScalarVector > &  _model_min,
const std::vector< ScalarVector > &  _model_max 
)

Definition at line 391 of file niche_mosaic.cpp.

References _my_presences_test, _num_layers, and _num_points.

Referenced by findSolution().

OccurrencesPtr NicheMosaic::cleanOccurrences ( const OccurrencesPtr occurrences)

Definition at line 697 of file niche_mosaic.cpp.

References AlgorithmImpl::_samp, computeMeanDeviation(), createSampler(), and Sample::size().

Referenced by initialize().

Here is the call graph for this function:

void NicheMosaic::computeMeanDeviation ( const OccurrencesPtr occs,
Sample mean,
Sample deviation 
)

Definition at line 806 of file niche_mosaic.cpp.

References min(), Sample::resize(), Sample::size(), and Sample::sqrt().

Referenced by cleanOccurrences().

Here is the call graph for this function:

void NicheMosaic::createModel ( std::vector< ScalarVector > &  _model_min,
std::vector< ScalarVector > &  _model_max,
const std::vector< Scalar > &  delta 
)

Definition at line 353 of file niche_mosaic.cpp.

References _my_presences, and _num_layers.

Referenced by findSolution().

int NicheMosaic::done ( ) const
inlinevirtual

Return != 0 if algorithm finished.

Reimplemented from AlgorithmImpl.

Definition at line 69 of file niche_mosaic.hh.

References _done.

Referenced by getProgress().

void NicheMosaic::editModel ( std::vector< ScalarVector > &  model_min,
std::vector< ScalarVector > &  model_max,
const std::vector< Scalar > &  delta,
size_t  i_layer 
)

Definition at line 373 of file niche_mosaic.cpp.

References _my_presences.

Referenced by findSolution().

void NicheMosaic::findSolution ( size_t &  costBest,
std::vector< Scalar > &  deltaBest,
int &  bestIter,
size_t &  bestCost2 
)
float NicheMosaic::getProgress ( ) const
virtual

Returns progress so far (between 0.0 and 1.0)

Reimplemented from AlgorithmImpl.

Definition at line 277 of file niche_mosaic.cpp.

References _progress, and done().

Here is the call graph for this function:

size_t NicheMosaic::getRandomLayerNumber ( )

Definition at line 462 of file niche_mosaic.cpp.

References _num_layers.

Referenced by findSolution().

Scalar NicheMosaic::getRandomPercent ( const std::vector< Scalar > &  delta,
const size_t  i_layer,
size_t &  cost1 
)

Definition at line 470 of file niche_mosaic.cpp.

References _num_points_test.

Referenced by findSolution().

Scalar NicheMosaic::getValue ( const Sample x) const
virtual

The algorithm must return the occurrence probability at the given environment conditions.

Parameters
xEnvironmental conditions.
Returns
The occurrence probability in the range [0,1].

Implements AlgorithmImpl.

Definition at line 292 of file niche_mosaic.cpp.

References _model_max_best, _model_min_best, _num_layers, and _num_points.

void NicheMosaic::improveModel ( const std::vector< Scalar > &  deltaBest)

Definition at line 513 of file niche_mosaic.cpp.

References _model_max_best, _model_min_best, _my_presences_test, _num_layers, and _num_points.

Referenced by iterate().

int NicheMosaic::initialize ( )
virtual
int NicheMosaic::iterate ( )
virtual

One step further on the training. Return 0 if something wrong happened.

Reimplemented from AlgorithmImpl.

Definition at line 214 of file niche_mosaic.cpp.

References _done, _model_max_best, _model_min_best, _my_absence_test, _my_presences, _my_presences_test, _num_iterations, _num_layers, _num_points, _num_points_absence_test, _num_points_test, _sampp, findSolution(), improveModel(), setMinMaxDelta(), and splitOccurrences().

Here is the call graph for this function:

void NicheMosaic::renewTabuDegree ( std::vector< size_t > &  tabuDegree)

Definition at line 492 of file niche_mosaic.cpp.

References _num_layers.

Referenced by findSolution().

void NicheMosaic::saveBestModel ( const std::vector< ScalarVector > &  model_min,
const std::vector< ScalarVector > &  model_max 
)

Definition at line 502 of file niche_mosaic.cpp.

References _model_max_best, _model_min_best, _num_layers, and _num_points.

Referenced by findSolution().

int NicheMosaic::setMinMaxDelta ( )

Definition at line 322 of file niche_mosaic.cpp.

References _delta, _maximum, _minimum, _my_presences, _num_layers, Log::error(), and Log::instance().

Referenced by iterate().

Here is the call graph for this function:

Member Data Documentation

Scalar NicheMosaic::_bestCost
private

Definition at line 50 of file niche_mosaic.hh.

Referenced by findSolution().

Sample NicheMosaic::_delta
private

Definition at line 46 of file niche_mosaic.hh.

Referenced by findSolution(), and setMinMaxDelta().

bool NicheMosaic::_done
private

Definition at line 51 of file niche_mosaic.hh.

Referenced by _getConfiguration(), _setConfiguration(), done(), and iterate().

Sample NicheMosaic::_maximum
private

Definition at line 45 of file niche_mosaic.hh.

Referenced by setMinMaxDelta().

Sample NicheMosaic::_minimum
private

Definition at line 44 of file niche_mosaic.hh.

Referenced by setMinMaxDelta().

std::vector<ScalarVector> NicheMosaic::_model_max_best
private
std::vector<ScalarVector> NicheMosaic::_model_min_best
private
OccurrencesPtr NicheMosaic::_my_absence_test
private

Definition at line 49 of file niche_mosaic.hh.

Referenced by calculateCostAus(), initialize(), and iterate().

OccurrencesPtr NicheMosaic::_my_presences
private

Definition at line 47 of file niche_mosaic.hh.

Referenced by createModel(), editModel(), initialize(), iterate(), and setMinMaxDelta().

OccurrencesPtr NicheMosaic::_my_presences_test
private

Definition at line 48 of file niche_mosaic.hh.

Referenced by calculateCostPres(), improveModel(), initialize(), and iterate().

int NicheMosaic::_num_iterations
private

Definition at line 39 of file niche_mosaic.hh.

Referenced by findSolution(), initialize(), and iterate().

int NicheMosaic::_num_points
private
size_t NicheMosaic::_num_points_absence_test
private

Definition at line 42 of file niche_mosaic.hh.

Referenced by findSolution(), initialize(), and iterate().

size_t NicheMosaic::_num_points_test
private

Definition at line 41 of file niche_mosaic.hh.

Referenced by findSolution(), getRandomPercent(), and iterate().

float NicheMosaic::_progress
private

Definition at line 52 of file niche_mosaic.hh.

Referenced by findSolution(), and getProgress().

SamplerPtr NicheMosaic::_sampp
private

Definition at line 53 of file niche_mosaic.hh.

Referenced by initialize(), and iterate().


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