00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef _edoAlgoStateless_h
00029 #define _edoAlgoStateless_h
00030
00031 #include "edoAlgoAdaptive.h"
00032
00041 template < typename D >
00042 class edoAlgoStateless : public edoAlgoAdaptive< D >
00043 {
00044 public:
00046 typedef typename D::EOType EOType;
00047
00049 typedef typename EOType::AtomType AtomType;
00050
00052 typedef typename EOType::Fitness Fitness;
00053
00054 public:
00055
00065 edoAlgoStateless(
00066 eoPopEvalFunc < EOType > & evaluator,
00067 eoSelect< EOType > & selector,
00068 edoEstimator< D > & estimator,
00069 edoSampler< D > & sampler,
00070 eoReplacement< EOType > & replacor,
00071 eoContinue< EOType > & pop_continuator,
00072 edoContinue< D > & distribution_continuator
00073 ) :
00074 edoAlgoAdaptive<D>( *(new D), evaluator, selector, estimator, sampler, replacor, pop_continuator, distribution_continuator)
00075 {}
00076
00086 edoAlgoStateless (
00087 eoPopEvalFunc < EOType > & evaluator,
00088 eoSelect< EOType > & selector,
00089 edoEstimator< D > & estimator,
00090 edoSampler< D > & sampler,
00091 eoReplacement< EOType > & replacor,
00092 eoContinue< EOType > & pop_continuator
00093 ) :
00094 edoAlgoAdaptive<D>( *(new D), evaluator, selector, estimator, sampler, replacor, pop_continuator)
00095 {}
00096
00097 ~edoAlgoStateless()
00098 {
00099
00100 delete &(this->_distrib);
00101 }
00102 };
00103
00104 #endif // !_edoAlgoStateless_h
00105