eo everything that is general to any representation
es.h everything about real representation (in es dir)
ga.h everything related to bitstring representation (in ga dir)
To be continued by gp.h, and ...
This has lead to some slight modifications in test file eobin and all tutorial
examples files...
in eoPop (I had been postponing that for a long time!) which in turn required
another class of random generator (whose operator() takes an unsigned as argument)
Also added "using eo::rng" in eoRNG.h so nothing has to be modified.
We should gradually move to write eo::rng everywhere, and remove that using
directive to be almost full-proofed against possible name collision.
This impacts on many files, creating new entries in src (the old ones are moved
to obsolete dir), modifying t-eoSymreg.cpp and t-eobin.cpp in test,
as well as gprop.cc and mastermind.cc in app dir (not to mention almost all
files in tutorial:-(
The interface for eoReplacement is now eoPop<EOT>&, eoPop<EOT>&
(i.e. no const) and the result must be in the first argument in the end.
Hence it is possible to do SSGA and all intermediate replacmeent procedures
The classes derived from eoMergeReduce.h are now in a separate file
The SSGA-like replcaement procedures are in eoReduceMerge.h
A more general replacement can be found in eoSurviveAndDie.h
(it could be made a littel more general - still open for upgrades).
Also some accessors have been added to the eoPop (best and worse individuals)
And include file eo has been updated
Also contains the class eoDynUpdater. They are eoUpdater, they receive an eoUpdatable
at construct time, and call their upate() method in their operator() method
- added the eoNormMutation, simple normal mutation for simple real variables
Modified Files:
src/eo src/es/eoRealOp.h tutorial/Lesson2/FirstRealEA.cpp
tutorial/Lesson3/SecondBitEA.cpp
a method called lastCall is called for everything contained in that checkpoint
(stats, updaters and monitors). This can be extremely useful
- for stateSavers (see below)
- for monitoring things like rates of success of operators, where what you
are interested in is the final result only.
Added of course a virtual method lastCall that does nothing by default in classes
eoBaseStat, eoBaseSortedStat, eoUpdater and eoMonitor
Added a boolean to control the save of the state in method eoCountedStateSaver::lastCall
so you can ask that the state is saved at final population, whatever happens.
I also added the corresponding constructor to take this into account.
I've inserted it in teh file actually - but if we go on with gnuplot,
it will need to be taken out again, and used in all other monitors
we will write using gnuplot (e.g. eoGnuplotWithErrorbarsMonitor,
eoGnuplotHistogramMonitor, ...).
and I added a boolean argument to indicate whether or not we want to
overwrite an existing file with same name (default is overwrite).
Added the getFileName accessor.