and finally... still more grouping in documentation.
This commit is contained in:
parent
f478817c6e
commit
2104f5b7e9
35 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>
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Reference in a new issue