openModeller  Version 1.4.0
NicheMosaic Class Reference

#include <niche_mosaic.hh>

Inheritance diagram for NicheMosaic:
Collaboration diagram for NicheMosaic:

List of all members.

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)

Protected Member Functions

void _getConfiguration (ConfigurationPtr &) const
void _setConfiguration (const ConstConfigurationPtr &)

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

Detailed Description

Definition at line 35 of file niche_mosaic.hh.


Constructor & Destructor Documentation

Definition at line 120 of file niche_mosaic.cpp.

Definition at line 139 of file niche_mosaic.cpp.


Member Function Documentation

void NicheMosaic::_getConfiguration ( ConfigurationPtr config) const [protected, virtual]

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) [protected, virtual]

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().

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 [inline, virtual]

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:

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::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().

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

Definition at line 50 of file niche_mosaic.hh.

Referenced by findSolution().

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().

Definition at line 45 of file niche_mosaic.hh.

Referenced by setMinMaxDelta().

Definition at line 44 of file niche_mosaic.hh.

Referenced by setMinMaxDelta().

Definition at line 49 of file niche_mosaic.hh.

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

Definition at line 39 of file niche_mosaic.hh.

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

Definition at line 42 of file niche_mosaic.hh.

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

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().

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: