and finally... still more grouping in documentation.
This commit is contained in:
parent
f478817c6e
commit
2104f5b7e9
76 changed files with 427 additions and 70 deletions
|
|
@ -36,6 +36,10 @@
|
|||
#include <utils/eoStat.h>
|
||||
#include <eoScalarFitnessAssembled.h>
|
||||
|
||||
/** @addtogroup Stats
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
Average fitness values of a population, where the fitness is
|
||||
of type eoScalarAssembledFitness. Specify in the constructor,
|
||||
|
|
@ -109,4 +113,5 @@ private:
|
|||
unsigned whichFitnessTerm;
|
||||
};
|
||||
|
||||
/** @} */
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -32,6 +32,21 @@
|
|||
#include <utils/eoMonitor.h>
|
||||
#include <utils/eoStat.h>
|
||||
|
||||
/** @defgroup Checkpoints Checkpointing
|
||||
*
|
||||
* Checkpoints are supposed to be called perodically (for instance at each generation) and
|
||||
* will call every functors you put in them.
|
||||
*
|
||||
* Use them with eoStats, eoUpdater and eoMonitor to get statistics at each generation.
|
||||
*
|
||||
* @see eoStats
|
||||
* @see eoMonitor
|
||||
* @see eoUpdater
|
||||
*
|
||||
* @ingroup Utilities
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** eoCheckPoint is a container class.
|
||||
It contains std::vectors of (pointers to)
|
||||
|
|
@ -161,4 +176,5 @@ std::string eoCheckPoint<EOT>::allClassNames() const
|
|||
return s;
|
||||
}
|
||||
|
||||
/** @} */
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -27,9 +27,14 @@
|
|||
#define _eoDistance_H
|
||||
|
||||
#include <eoFunctor.h>
|
||||
|
||||
/** @addtogroup Stats
|
||||
* @{
|
||||
* */
|
||||
|
||||
/**
|
||||
This is a generic class for distance functors:
|
||||
takes 2 things ane returns a double
|
||||
takes 2 things and returns a double
|
||||
*/
|
||||
template< class EOT >
|
||||
class eoDistance : public eoBF<const EOT &, const EOT &, double>
|
||||
|
|
@ -94,5 +99,6 @@ public:
|
|||
};
|
||||
|
||||
|
||||
/** @} */
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -32,8 +32,12 @@
|
|||
#include <utils/eoFileSnapshot.h>
|
||||
|
||||
/**
|
||||
The FDC computation - stores the values into eoValueParam<EOT,double>
|
||||
The Fitness Distance Correlation computation.
|
||||
|
||||
Stores the values into eoValueParam<EOT,double>
|
||||
so they can be snapshot by some eoGnuplotSnapshot ...
|
||||
|
||||
@ingroup Stats
|
||||
*/
|
||||
template <class EOT>
|
||||
class eoFDCStat : public eoStat<EOT, double>
|
||||
|
|
@ -106,6 +110,8 @@ private:
|
|||
* As I failed to have FDC stat as an eoStat, this is the trick
|
||||
* to put the 2 eoParam<std::vector<double> > into a monitor
|
||||
* This class does nothing else.
|
||||
|
||||
@ingroup Stats
|
||||
*/
|
||||
template <class EOT>
|
||||
class eoFDCFileSnapshot : public eoFileSnapshot // is an eoMonitor
|
||||
|
|
|
|||
|
|
@ -34,7 +34,10 @@ Authors:
|
|||
|
||||
#include "eoStat.h"
|
||||
|
||||
//! Ratio of the number of individuals with a feasible dual fitness in the population (@see eoDualFitness)
|
||||
/** Ratio of the number of individuals with a feasible dual fitness in the population (@see eoDualFitness)
|
||||
*
|
||||
* @ingroup Stats
|
||||
*/
|
||||
template<class EOT>
|
||||
class eoFeasibleRatioStat : public eoStat< EOT, double >
|
||||
{
|
||||
|
|
|
|||
|
|
@ -34,12 +34,14 @@
|
|||
#include "utils/eoMonitor.h"
|
||||
#include "eoObject.h"
|
||||
|
||||
|
||||
/** Prints statistics to file
|
||||
|
||||
Modified the default behavior, so that it erases existing files. Can
|
||||
be modified in the ctor.
|
||||
|
||||
@version MS 25/11/00
|
||||
@ingroup Monitors
|
||||
*/
|
||||
class eoFileMonitor : public eoMonitor
|
||||
{
|
||||
|
|
|
|||
|
|
@ -48,8 +48,9 @@ so that you can pass e.g. an evalcounter (minor)
|
|||
|
||||
I failed to templatize everything so that it can handle eoParam<std::vector<T> >
|
||||
for any type T, simply calling their getValue method ...
|
||||
*/
|
||||
|
||||
@ingroup Monitors
|
||||
*/
|
||||
class eoFileSnapshot : public eoMonitor
|
||||
{
|
||||
public :
|
||||
|
|
|
|||
|
|
@ -1,9 +1,16 @@
|
|||
|
||||
#ifndef eoFuncPtrStat_h
|
||||
#define eoFuncPtrStat_h
|
||||
|
||||
#include <eoFunctorStore.h>
|
||||
#include <utils/eoStat.h>
|
||||
|
||||
/** Wrapper to turn any stand-alone function and into an eoStat.
|
||||
*
|
||||
* The function should take an eoPop as argument.
|
||||
*
|
||||
* @ingroup Stats
|
||||
*/
|
||||
template <class EOT, class T>
|
||||
class eoFuncPtrStat : public eoStat<EOT, T>
|
||||
{
|
||||
|
|
@ -25,6 +32,9 @@ private:
|
|||
func_t func;
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup Stats
|
||||
*/
|
||||
template <class EOT, class T>
|
||||
eoFuncPtrStat<EOT, T>& makeFuncPtrStat( T (*func)(const eoPop<EOT>&), eoFunctorStore& store, std::string description = "func") {
|
||||
return store.storeFunctor(
|
||||
|
|
|
|||
|
|
@ -34,6 +34,8 @@ calls to plots what is already written by some eoMonitor into a file
|
|||
|
||||
@author Marc Schoenauer
|
||||
@version 0.0 (2001)
|
||||
|
||||
@ingroup Monitors
|
||||
*/
|
||||
class eoGnuplot
|
||||
{
|
||||
|
|
|
|||
|
|
@ -43,6 +43,8 @@ eoGnuplot1DMonitor plots stats through gnuplot
|
|||
|
||||
Assumes that the same file is appened every so and so, and replots it
|
||||
everytime
|
||||
|
||||
@ingroup Monitors
|
||||
*/
|
||||
class eoGnuplot1DMonitor : public eoFileMonitor, public eoGnuplot
|
||||
{
|
||||
|
|
|
|||
|
|
@ -47,6 +47,8 @@ This class plots through gnuplot the eoStat given as argument
|
|||
|
||||
Assumes that the same file is re-written every so and so, and plots it
|
||||
from scratch everytime it's called
|
||||
|
||||
@ingroup Monitors
|
||||
*/
|
||||
class eoGnuplot1DSnapshot: public eoFileSnapshot, public eoGnuplot
|
||||
{
|
||||
|
|
|
|||
|
|
@ -29,6 +29,11 @@ Contact: http://eodev.sourceforge.net
|
|||
#ifndef eoHowMany_h
|
||||
#define eoHowMany_h
|
||||
|
||||
#include <sstream>
|
||||
|
||||
#include <utils/eoLogger.h>
|
||||
|
||||
|
||||
/** A helper class, to determine a number of individuals from another one
|
||||
* Typically, is used in selection / replacement procedures, e.g.
|
||||
* the number of offspring from the number of parents, or
|
||||
|
|
@ -65,12 +70,9 @@ Contact: http://eodev.sourceforge.net
|
|||
* eoG3Repalcement)
|
||||
*
|
||||
* It is an eoPersistent because we need to be able to use eoParamValue<eoHowMany>
|
||||
*
|
||||
* @ingroup Core
|
||||
*/
|
||||
|
||||
#include <sstream>
|
||||
|
||||
#include <utils/eoLogger.h>
|
||||
|
||||
class eoHowMany : public eoPersistent
|
||||
{
|
||||
public:
|
||||
|
|
|
|||
|
|
@ -31,14 +31,15 @@
|
|||
#include <utils/eoRNG.h>
|
||||
|
||||
/**
|
||||
\defgroup EvolutionStrategies
|
||||
\defgroup Real
|
||||
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
\class eoIntBounds eoIntBounds.h es/eoIntBounds.h
|
||||
\ingroup EvolutionStrategies
|
||||
\ingroup Real
|
||||
\ingroup Bounds
|
||||
|
||||
Defines bound classes for real numbers.
|
||||
|
||||
|
|
@ -149,6 +150,9 @@ public:
|
|||
};
|
||||
|
||||
/** A default class for unbounded variables
|
||||
*
|
||||
* @ingroup Real
|
||||
* @ingroup Bounds
|
||||
*/
|
||||
class eoIntNoBounds : public eoIntBounds
|
||||
{
|
||||
|
|
@ -221,11 +225,18 @@ public:
|
|||
|
||||
};
|
||||
|
||||
// one object for all - see eoIntBounds.cpp
|
||||
/** one object for all - see eoIntBounds.cpp
|
||||
*
|
||||
* @ingroup Real
|
||||
* @ingroup Bounds
|
||||
*/
|
||||
extern eoIntNoBounds eoDummyIntNoBounds;
|
||||
|
||||
/**
|
||||
* fully bounded eoIntBound == interval
|
||||
*
|
||||
* @ingroup Real
|
||||
* @ingroup Bounds
|
||||
*/
|
||||
class eoIntInterval : public eoIntBounds
|
||||
{
|
||||
|
|
@ -349,6 +360,9 @@ private :
|
|||
|
||||
/**
|
||||
* an eoIntBound bounded from below only
|
||||
*
|
||||
* @ingroup Real
|
||||
* @ingroup Bounds
|
||||
*/
|
||||
class eoIntBelowBound : public eoIntBounds
|
||||
{
|
||||
|
|
@ -453,6 +467,9 @@ private :
|
|||
|
||||
/**
|
||||
An eoIntBound bounded from above only
|
||||
*
|
||||
* @ingroup Real
|
||||
* @ingroup Bounds
|
||||
*/
|
||||
class eoIntAboveBound : public eoIntBounds
|
||||
{
|
||||
|
|
@ -560,6 +577,9 @@ private :
|
|||
|
||||
/** A class that encapsulate all possible eoIntBounds.
|
||||
* Mandatory in order to read through the parser
|
||||
*
|
||||
* @ingroup Real
|
||||
* @ingroup Bounds
|
||||
*/
|
||||
class eoGeneralIntBounds : public eoIntBounds
|
||||
{
|
||||
|
|
|
|||
|
|
@ -25,8 +25,12 @@ Caner Candan <caner.candan@thalesgroup.com>
|
|||
|
||||
*/
|
||||
|
||||
/** Here's an example explaning how to use eoLogger:
|
||||
/** @defgroup Logging Logging
|
||||
|
||||
Global logger for EO.
|
||||
|
||||
Here's an example explaning how to use eoLogger:
|
||||
\code
|
||||
#include <iostream>
|
||||
#include <utils/eoLogger.h>
|
||||
#include <utils/eoParserLogger.h>
|
||||
|
|
@ -77,7 +81,9 @@ Caner Candan <caner.candan@thalesgroup.com>
|
|||
|
||||
return 0;
|
||||
}
|
||||
\endcode
|
||||
|
||||
@{
|
||||
*/
|
||||
|
||||
#ifndef eoLogger_h
|
||||
|
|
@ -249,4 +255,7 @@ namespace eo
|
|||
extern eoLogger log;
|
||||
}
|
||||
|
||||
|
||||
/** @} */
|
||||
|
||||
#endif // !eoLogger_h
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// eoMonitor.h
|
||||
// (c) Marc Schoenauer, Maarten Keijzer and GeNeura Team, 2000
|
||||
/*
|
||||
This library is free software; you can redistribute it and/or
|
||||
|
|
@ -21,10 +19,7 @@
|
|||
Contact: todos@geneura.ugr.es, http://geneura.ugr.es
|
||||
Marc.Schoenauer@polytechnique.fr
|
||||
mak@dhi.dk
|
||||
CVS Info: $Date: 2010-03-18 12:44:45 $ $Header: /home/nojhan/dev/eodev/eodev_cvs/eo/src/utils/eoMonitor.h,v 1.13 2010-03-18 12:44:45 paradiseo Exp $ $Author: paradiseo $
|
||||
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _eoMonitor_h
|
||||
#define _eoMonitor_h
|
||||
|
|
@ -34,6 +29,20 @@ CVS Info: $Date: 2010-03-18 12:44:45 $ $Header: /home/nojhan/dev/eodev/eodev_cvs
|
|||
#include <iostream>
|
||||
#include <eoFunctor.h>
|
||||
|
||||
/** @defgroup Monitors Monitoring
|
||||
*
|
||||
* Monitors take a set of value parameters (eoValueParam) objects and
|
||||
* output them on a given stream, file, pipe, etc.
|
||||
*
|
||||
* They can be called from within an eoCheckPoint, to print different values
|
||||
* of parameters or of eoStat at each generation.
|
||||
*
|
||||
* @see eoCheckPoint
|
||||
* @see eoStat
|
||||
* @ingroup Utilities
|
||||
*/
|
||||
|
||||
|
||||
class eoParam;
|
||||
template <class EOT> class eoCheckPoint;
|
||||
|
||||
|
|
@ -43,6 +52,8 @@ template <class EOT> class eoCheckPoint;
|
|||
Derived classes will then implement the operator()(void) which
|
||||
will stream or pipe the current values of the parameters to wherever you
|
||||
want it streamed or piped to.
|
||||
|
||||
@ingroup Monitors
|
||||
*/
|
||||
class eoMonitor : public eoF<eoMonitor&>
|
||||
{
|
||||
|
|
|
|||
|
|
@ -25,8 +25,6 @@ Authors:
|
|||
Johann Dréo <johann.dreo@thalesgroup.com>
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#ifndef _eoOStreamMonitor_h_
|
||||
#define _eoOStreamMonitor_h_
|
||||
|
||||
|
|
@ -39,6 +37,8 @@ Authors:
|
|||
|
||||
/**
|
||||
Prints statistics to stdout
|
||||
|
||||
@ingroup Monitors
|
||||
*/
|
||||
class eoOStreamMonitor : public eoMonitor
|
||||
{
|
||||
|
|
|
|||
|
|
@ -35,6 +35,15 @@
|
|||
#include <vector>
|
||||
#include <eoScalarFitness.h>
|
||||
|
||||
/** @defgroup Parameters Parameters management
|
||||
*
|
||||
* A parameter is basically an object that stores a value and that can read/print it from/on streams.
|
||||
*
|
||||
* It is mainly used for command-line options (see eoParser) and eoStat.
|
||||
*
|
||||
* @ingroup Utilities
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
eoParam: Base class for monitoring and parsing parameters
|
||||
|
|
@ -126,8 +135,9 @@ private:
|
|||
|
||||
/**
|
||||
eoValueParam<ValueType>: templatized derivation of eoParam. Can be used to contain
|
||||
any scalar value type. It makes use of std::strstream to get and set values. This
|
||||
should be changed to std::stringstream when that class is available in g++.
|
||||
any scalar value type. It makes use of std::strstream to get and set values.
|
||||
|
||||
@todo This should be changed to std::stringstream when that class is available in g++.
|
||||
|
||||
Note also that there is a template specialization for std::pair<double, double> and
|
||||
for std::vector<double>. These stream their contents delimited with whitespace.
|
||||
|
|
@ -458,4 +468,6 @@ public:
|
|||
std::ostream & operator<<(std::ostream & _os, const eoParamParamType & _rate);
|
||||
std::istream & operator>>(std::istream & _is, eoParamParamType & _rate);
|
||||
|
||||
/** @} */
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -36,6 +36,8 @@ Contact: http://eodev.sourceforge.net
|
|||
eoParameterLoader is an abstract class that can be used as a base for your own
|
||||
parameter loading and saving. The command line parser eoParser is derived from
|
||||
this class.
|
||||
|
||||
@ingroup Parameters
|
||||
*/
|
||||
class eoParameterLoader
|
||||
{
|
||||
|
|
@ -96,6 +98,8 @@ private :
|
|||
eoParser: command line parser and configuration file reader
|
||||
This class is persistent, so it can be stored and reloaded to restore
|
||||
parameter settings.
|
||||
|
||||
@ingroup Parameters
|
||||
*/
|
||||
class eoParser : public eoParameterLoader, public eoObject, public eoPersistent
|
||||
{
|
||||
|
|
|
|||
|
|
@ -29,6 +29,9 @@ Authors:
|
|||
|
||||
/**
|
||||
* A parser that use the advanced logging system (@see eoLogger)
|
||||
*
|
||||
* @ingroup Parameters
|
||||
* @ingroup Logging
|
||||
*/
|
||||
class eoParserLogger : public eoParser
|
||||
{
|
||||
|
|
|
|||
|
|
@ -46,6 +46,8 @@ This is the plain version - see eoPopString for the Sorted version
|
|||
|
||||
Note: this Stat should probably be used only within eoStdOutMonitor, and not
|
||||
inside an eoFileMonitor, as the eoState construct will work much better there.
|
||||
|
||||
@ingroup Stats
|
||||
*/
|
||||
template <class EOT>
|
||||
class eoPopStat : public eoStat<EOT, std::string>
|
||||
|
|
@ -91,6 +93,8 @@ This is the Sorted version - see eoPopString for the plain version
|
|||
|
||||
Note: this Stat should probably be used only within eoStdOutMonitor, and not
|
||||
inside an eoFileMonitor, as the eoState construct will work much better there.
|
||||
|
||||
@ingroup Stats
|
||||
*/
|
||||
template <class EOT>
|
||||
class eoSortedPopStat : public eoSortedStat<EOT, std::string>
|
||||
|
|
|
|||
|
|
@ -25,14 +25,18 @@ Old contact information: todos@geneura.ugr.es, http://geneura.ugr.es
|
|||
#ifndef EO_RANDOM_NUMBER_GENERATOR
|
||||
#define EO_RANDOM_NUMBER_GENERATOR
|
||||
|
||||
// uint32_t is an unsigned integer type capable of holding 32 bits.
|
||||
//
|
||||
// In the applicatione here exactly 32 are used.
|
||||
// 64 bits might be better on an Alpha or other 64 bit systems with GCC at high
|
||||
// optimization levels so feel free to try your options and see what's best for
|
||||
// you.
|
||||
/** @addtogroup Random
|
||||
* @{
|
||||
* */
|
||||
|
||||
# if (defined _MSC_VER)
|
||||
/** uint32_t is an unsigned integer type capable of holding 32 bits.
|
||||
|
||||
In the applicatione here exactly 32 are used.
|
||||
64 bits might be better on an Alpha or other 64 bit systems with GCC at high
|
||||
optimization levels so feel free to try your options and see what's best for
|
||||
you.
|
||||
*/
|
||||
typedef unsigned long uint32_t;
|
||||
#else
|
||||
#if (! defined __sun)
|
||||
|
|
@ -444,6 +448,7 @@ namespace eo
|
|||
}
|
||||
using eo::rng;
|
||||
|
||||
/** @} */
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
#include <utils/eoRNG.h>
|
||||
|
||||
/**
|
||||
\defgroup EvolutionStrategies Continuous vector
|
||||
\defgroup Real Continuous vector
|
||||
|
||||
@ingroup Representations
|
||||
|
||||
|
|
@ -40,7 +40,7 @@
|
|||
|
||||
/**
|
||||
\class eoRealBounds eoRealBounds.h es/eoRealBounds.h
|
||||
\ingroup EvolutionStrategies
|
||||
\ingroup Real
|
||||
|
||||
Defines bound classes for real numbers.
|
||||
|
||||
|
|
@ -73,6 +73,8 @@ eoRealAboveBound the half-bounded interval (-infinity, max]
|
|||
|
||||
THis file also contains the declaration of *the* global object that
|
||||
is the unbounded bound
|
||||
|
||||
@ingroup Bounds
|
||||
*/
|
||||
class eoRealBounds : public eoPersistent
|
||||
{
|
||||
|
|
@ -131,6 +133,8 @@ public:
|
|||
};
|
||||
|
||||
/** A default class for unbounded variables
|
||||
|
||||
@ingroup Bounds
|
||||
*/
|
||||
class eoRealNoBounds : public eoRealBounds
|
||||
{
|
||||
|
|
@ -196,11 +200,15 @@ public:
|
|||
|
||||
};
|
||||
|
||||
// one object for all - see eoRealBounds.cpp
|
||||
/** one object for all - see eoRealBounds.cpp
|
||||
@ingroup Bounds
|
||||
*/
|
||||
extern eoRealNoBounds eoDummyRealNoBounds;
|
||||
|
||||
/**
|
||||
* fully bounded eoRealBound == interval
|
||||
|
||||
@ingroup Bounds
|
||||
*/
|
||||
class eoRealInterval : public eoRealBounds
|
||||
{
|
||||
|
|
@ -319,6 +327,8 @@ private :
|
|||
|
||||
/**
|
||||
* an eoRealBound bounded from below only
|
||||
|
||||
@ingroup Bounds
|
||||
*/
|
||||
class eoRealBelowBound : public eoRealBounds
|
||||
{
|
||||
|
|
@ -518,6 +528,8 @@ private :
|
|||
|
||||
/** A class that encapsulate all possible eoIntBounds.
|
||||
* Mandatory in order to read through the parser
|
||||
|
||||
@ingroup Bounds
|
||||
*/
|
||||
class eoGeneralRealBounds : public eoRealBounds
|
||||
{
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
#include <utils/eoRealBounds.h>
|
||||
|
||||
/**
|
||||
\defgroup EvolutionStrategies
|
||||
\defgroup Real
|
||||
|
||||
*/
|
||||
|
||||
|
|
@ -54,6 +54,8 @@ eoRealBaseVectorBounds, base class that handles all useful functions
|
|||
eoRealVectorBounds which derives from the preceding *and* eoPersistent
|
||||
and also has a mechanism for memory handling of the pointers
|
||||
it has to allocate
|
||||
|
||||
@ingroup Bounds
|
||||
*/
|
||||
class eoRealBaseVectorBounds : public std::vector<eoRealBounds *>
|
||||
{
|
||||
|
|
@ -226,6 +228,8 @@ public:
|
|||
////////////////////////////////////////////////////////////////////
|
||||
/** Now a derived class, for parser reading
|
||||
* It holds some of the bounds (and destroy them when dying)
|
||||
|
||||
@ingroup Bounds
|
||||
*/
|
||||
class eoRealVectorBounds : public eoRealBaseVectorBounds, public eoPersistent
|
||||
{
|
||||
|
|
@ -350,6 +354,8 @@ private:// WARNING: there is no reason for both std::vector below
|
|||
/** the dummy unbounded eoRealVectorBounds: usefull if you don't need bounds!
|
||||
* everything is inlined.
|
||||
* Warning: we do need this class, and not only a std::vector<eoRealNoBounds *>
|
||||
|
||||
@ingroup Bounds
|
||||
*/
|
||||
class eoRealVectorNoBounds: public eoRealVectorBounds
|
||||
{
|
||||
|
|
@ -422,6 +428,8 @@ public:
|
|||
|
||||
|
||||
|
||||
// one object for all - see eoRealBounds.cpp
|
||||
/** one object for all - see eoRealBounds.cpp
|
||||
@ingroup Bounds
|
||||
*/
|
||||
extern eoRealVectorNoBounds eoDummyVectorNoBounds;
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -33,6 +33,12 @@
|
|||
#include <eoFunctor.h>
|
||||
#include <stdexcept>
|
||||
|
||||
/** @defgroup Random Random number generation
|
||||
*
|
||||
* @ingroup Utilities
|
||||
* @{
|
||||
*/
|
||||
|
||||
using eo::rng;
|
||||
|
||||
/**
|
||||
|
|
@ -146,4 +152,5 @@ template <class T = double> class eoNegExpGenerator : public eoRndGenerator<T>
|
|||
eoRng& negexp;
|
||||
};
|
||||
|
||||
/** @} */
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -32,6 +32,8 @@
|
|||
|
||||
/**
|
||||
The fitnesses of a whole population, as a std::vector
|
||||
|
||||
@ingroup Stats
|
||||
*/
|
||||
template <class EOT, class FitT = typename EOT::Fitness>
|
||||
class eoScalarFitnessStat : public eoSortedStat<EOT, std::vector<double> >
|
||||
|
|
|
|||
|
|
@ -41,6 +41,22 @@ Contact: http://eodev.sourceforge.net
|
|||
#include <utils/eoMonitor.h>
|
||||
#include <utils/eoCheckPoint.h>
|
||||
|
||||
/** @defgroup Stats Statistic computation
|
||||
*
|
||||
* Compute various statistics on a population.
|
||||
*
|
||||
* Objects of those classes are generally called by an eoCheckPoint
|
||||
* to compute statistics about the population at a given generation.
|
||||
* As they inherit from eoValueParam, they can be printed drectly,
|
||||
* for instance by an eoMonitor.
|
||||
*
|
||||
* @see eoCheckPoint
|
||||
* @see eoMonitor
|
||||
*
|
||||
* @ingroup Utilities
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
Base class for all statistics that need to be calculated
|
||||
over the (unsorted) population
|
||||
|
|
@ -485,4 +501,6 @@ public:
|
|||
virtual std::string className(void) const { return "eoInterquartileRangeStat"; }
|
||||
};
|
||||
|
||||
/** @} */
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@ class eoPersistent;
|
|||
derived classes are not saved or loaded. To govern the creation of functors,
|
||||
command-line parameters (which can be stored) are needed.
|
||||
|
||||
@ingroup Utilities
|
||||
*/
|
||||
class eoState : public eoFunctorStore
|
||||
{
|
||||
|
|
|
|||
|
|
@ -37,6 +37,8 @@ Authors:
|
|||
|
||||
/**
|
||||
Prints statistics to stdout
|
||||
|
||||
@ingroup Monitors
|
||||
*/
|
||||
class eoStdoutMonitor : public eoOStreamMonitor
|
||||
{
|
||||
|
|
|
|||
|
|
@ -34,6 +34,8 @@
|
|||
/**
|
||||
An eoStat that simply gives the user time since first generation
|
||||
It has to be tempatized by EOT because it must be an eoStat
|
||||
|
||||
@group Stats
|
||||
*/
|
||||
class eoTimeCounter : public eoUpdater, public eoValueParam<double>
|
||||
{
|
||||
|
|
|
|||
|
|
@ -36,6 +36,8 @@
|
|||
/**
|
||||
Holds a collection of monitors and only fires them when a time limit
|
||||
has been reached
|
||||
|
||||
@ingroup Monitors
|
||||
*/
|
||||
class eoTimedMonitor : public eoMonitor
|
||||
{
|
||||
|
|
|
|||
|
|
@ -44,6 +44,11 @@
|
|||
#include "eoRealBounds.h"
|
||||
#include <stdexcept>
|
||||
|
||||
|
||||
/** @addtogroup Initializators
|
||||
* @{
|
||||
*/
|
||||
|
||||
using eo::rng;
|
||||
|
||||
/**
|
||||
|
|
@ -58,6 +63,7 @@ using eo::rng;
|
|||
either in [0, _max) if only 1 value (_max) is given
|
||||
(or none, as _max defaults to 1.0)
|
||||
or in [_min,_max) if 2 values are given (_min, _max)
|
||||
|
||||
*/
|
||||
template <class T = double> class eoUniformInit : public eoInit<T>
|
||||
{
|
||||
|
|
@ -152,4 +158,5 @@ template <class T = double> class eoNegExpInit : public eoInit<T>
|
|||
eoRng& negexp;
|
||||
};
|
||||
|
||||
/** @} */
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -32,6 +32,8 @@
|
|||
/**
|
||||
eoUpdatable is a generic class for adding updatation to an existing class
|
||||
Just says it has an update() method
|
||||
|
||||
@ingroup Utilities
|
||||
*/
|
||||
class eoUpdatable
|
||||
{
|
||||
|
|
@ -47,6 +49,8 @@ public:
|
|||
|
||||
/**
|
||||
A base class to actually update an eoUpdatable object
|
||||
|
||||
@ingroup Utilities
|
||||
*/
|
||||
class eoDynUpdater : public eoUpdater
|
||||
{public :
|
||||
|
|
@ -63,6 +67,8 @@ private:
|
|||
|
||||
/**
|
||||
An eoUpdater to update an eoUpdatable object every given time interval
|
||||
|
||||
@ingroup Utilities
|
||||
*/
|
||||
class eoTimedDynUpdate : public eoDynUpdater
|
||||
{
|
||||
|
|
@ -89,6 +95,8 @@ private :
|
|||
|
||||
/**
|
||||
An eoUpdater to update an eoUpdatable object every given tic
|
||||
|
||||
@ingroup Utilities
|
||||
*/
|
||||
class eoCountedDynUpdate : public eoDynUpdater
|
||||
{
|
||||
|
|
|
|||
|
|
@ -37,6 +37,8 @@ template <class EOT> class eoCheckPoint;
|
|||
/**
|
||||
eoUpdater is a generic procudere for updating whatever you want.
|
||||
Yet again an empty name
|
||||
|
||||
@ingroup Utilities
|
||||
*/
|
||||
class eoUpdater : public eoF<void>
|
||||
{
|
||||
|
|
@ -50,6 +52,8 @@ public:
|
|||
|
||||
/**
|
||||
an eoUpdater that simply increments a counter
|
||||
|
||||
@ingroup Utilities
|
||||
*/
|
||||
template <class T>
|
||||
class eoIncrementor : public eoUpdater
|
||||
|
|
@ -71,6 +75,8 @@ private:
|
|||
|
||||
/** an eoUpdater that is an eoValueParam (and thus OWNS its counter)
|
||||
* Mandatory for generation counter in make_checkpoint
|
||||
|
||||
@ingroup Utilities
|
||||
*/
|
||||
template <class T>
|
||||
class eoIncrementorParam : public eoUpdater, public eoValueParam<T>
|
||||
|
|
@ -105,6 +111,8 @@ private:
|
|||
|
||||
/**
|
||||
an eoUpdater that saves a state every given time interval
|
||||
|
||||
@ingroup Utilities
|
||||
*/
|
||||
class eoTimedStateSaver : public eoUpdater
|
||||
{
|
||||
|
|
@ -128,6 +136,8 @@ private :
|
|||
|
||||
/**
|
||||
an eoUpdater that saves a state every given generations
|
||||
|
||||
@ingroup Utilities
|
||||
*/
|
||||
class eoCountedStateSaver : public eoUpdater
|
||||
{
|
||||
|
|
|
|||
|
|
@ -34,6 +34,10 @@
|
|||
#include "eoRNG.h"
|
||||
#include <stdexcept>
|
||||
|
||||
/** @addtogroup Random
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
The class uniform_generator can be used in the STL generate function
|
||||
to easily generate random floats and doubles
|
||||
|
|
@ -165,4 +169,5 @@ template <class T = double> class negexp_generator
|
|||
eoRng& negexp;
|
||||
};
|
||||
|
||||
/** @} */
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -43,7 +43,8 @@
|
|||
#include "eoRNG.h"
|
||||
#include <eoPop.h>
|
||||
/**
|
||||
\defgroup selectors
|
||||
@addtogroup Selectors
|
||||
@{
|
||||
*/
|
||||
|
||||
template <class EOT>
|
||||
|
|
@ -334,5 +335,6 @@ EOT& inverse_stochastic_tournament(eoPop<EOT>& _pop, double _t_rate, eoRng& _gen
|
|||
return *inverse_stochastic_tournament(_pop.begin(), _pop.end(), _t_rate, _gen);
|
||||
}
|
||||
|
||||
/** @} */
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Reference in a new issue