Commit graph

500 commits

Author SHA1 Message Date
maartenkeijzer
3c19641c70 Added pareto based stuff 2001-03-12 16:03:08 +00:00
maartenkeijzer
4222e64829 EO: added overloaded printing of fitness (for vectors and pairs)
Various bugs and ommissions in eoPerf2Worth and eoSelectFromWorth
2001-03-12 16:00:58 +00:00
maartenkeijzer
492899bfb2 invalidating supported now 2001-03-12 14:27:31 +00:00
maartenkeijzer
ead2ac2c62 Changed the populator to be a) more efficient and b) more useable
It is no longer derived from eoPop, it now gets a destination population.
This saves a lot of copying. The semantics has changed a little as well. It is
now an _infinite_ iterator. operator++ will *not* dispense new individuals, but
will merely stay at the end. To get a new indy, use operator*() as before.

eoEasyEA now checks the checkpoint *after* making a generation and clears the offspring
eoGeneralBreeder is changed to reflect the changes in eoPopulator
eoSequentialSelect now uses setup() rather than init()
2001-03-10 14:02:23 +00:00
maartenkeijzer
a27aa7112a Test for a ssga added. 2001-03-09 14:14:53 +00:00
maartenkeijzer
4388faec2e Various bugs found and resolved. 2001-03-09 14:13:28 +00:00
maartenkeijzer
4f1802c4e9 radically simplified the Makefile.am, but this only works for headers (no idea what the problem is with sources) 2001-03-08 13:38:41 +00:00
maartenkeijzer
00c7a10cb0 put using eo::rng in top of file to help out gcc 2.91 2001-02-27 11:45:31 +00:00
maartenkeijzer
7eecd318f9 swapped order of libeo and libeoutils, gcc 2.91 did not like it 2001-02-27 11:44:28 +00:00
maartenkeijzer
ef75dbc2ee Made dtor virtual 2001-02-27 11:43:06 +00:00
evomarc
59a42603af Still modifying eoInit ... 2001-02-27 05:24:24 +00:00
evomarc
72b6692f9b Modified all init sequences in Lesson2 and Lesson3 - and all corresponding
files in html dir - after the return of eoRndGenerators and subsequent
modifications of eoInit
2001-02-27 05:09:10 +00:00
maartenkeijzer
a79075f673 Modified eoInit so that it would use the eoRndGenerator base class.
To be able to use the primitive std::generate function, added a
set of wrappers in eoSTLFunctor.h that have the copy semantics most
STL functions expect (namely pass-by-value rather then pass-by-reference).

Updated test/Makefile.am to also test t-eoRandom
2001-02-19 12:23:13 +00:00
evomarc
e28211188a Date and version number 2001-02-18 06:41:30 +00:00
evomarc
f36f6d1265 Added the eo::rng (instead of rng) as default parameter to all calls.
Also t-eoRandom was abruptly aborting-> a min was greater than a max, and
exceptions were not being caught.
2001-02-18 04:34:57 +00:00
maartenkeijzer
025eb736ee eoVector is back (eoFixedLength and eoVariableLength are gone)
Also: introducing eoRndGenerators.h for eoRndGenerator derived classes:

  eoNormalGenerator
  eoUniformGenerator
  eoBooleanGenerator
  eoNegExpGenerator

Note the suffix that are added to aid in determining what these classes do
2001-02-17 10:51:31 +00:00
evomarc
e0ace0794f Now takes into account the last (and last!) modification of the operator interace:
no more invalidate, but a bool returned for simple operators, and a better description
of the eoPopulator/eoOpContainer links.
2001-02-17 08:22:53 +00:00
evomarc
a403525af0 Forgot the selector in the ctor 2001-02-17 06:47:31 +00:00
evomarc
1662fd2a8b Modified crossover and mutation to account for the new interface (bool ...)
Added the genop.tmpl, template for general op, 3 cases, growing pop,
shrinking pop through erase, thrinking pop through extra selector
2001-02-17 06:42:20 +00:00
evomarc
83e883a158 Added oine star at start of comment to have Doxygen process it !!! 2001-02-16 18:00:18 +00:00
maartenkeijzer
70d9804277 works for me 2001-02-16 09:39:06 +00:00
evomarc
7e849e2082 The perf2worth major check in
2 new important classes: eoPerf2Worth and eoSelectFromWorth
Instances of eoPerf2Worth are eoRanking and eoLinearFitScaling.
Coming soon (piece of cake now) are the niching strategies (sharing, clearing)
2001-02-16 08:21:25 +00:00
evomarc
da8b467b12 Only names modifications, to comply to EO strict rules :-) 2001-02-16 05:06:17 +00:00
maartenkeijzer
0540496021 reverted the max-to-produce initializer 2001-02-15 08:31:38 +00:00
evomarc
562b0b63e3 Changed the default values for popsize, vecsize and maxgen so
the user has a chance to see something even on Pentium 10GHz :-)
2001-02-15 05:36:28 +00:00
evomarc
9dbb516d8b Modified the comments so that all callses are documented by Doxygen
(a comment starting with // before the class definition is not taken into account)
Also updated the initial overall comment -
and waouw, doxygen generates links there, too! Cool.
2001-02-15 05:35:31 +00:00
evomarc
bf0e84fc56 A few minor corrections (and some comments) after Maarten big commit 2001-02-15 04:47:18 +00:00
maartenkeijzer
2ff2b66fdd updated the dsp, dsw files for the library 2001-02-14 18:05:36 +00:00
maartenkeijzer
98a9f24879 no need to keep these test functions here, will start new project in /test 2001-02-14 18:01:30 +00:00
maartenkeijzer
8ce0e6bb2a Changed the return value to return what it got in 2001-02-14 14:09:16 +00:00
maartenkeijzer
3a9b5a0e7e Well, what do you know, major commit.
Changed the signature of eoMon, eoBin and eoQuadOp to return a bool,
without invalidating fitness. Added a set of invalidators to take over
that job (see for instance eoSGA and eoSGATransform how this can transparantly used)

Derived eoState from eoFunctorStore (for convenience, from a design perspective this may sound wrong)

Added a wrap_op function that does the wrapping for you (see eoOpContainer how this made this functor
exceedingly less hairy). Checked all the tests removed the eoGeneric*Op family (not needed anymore)
and of course changed all the operators to reflect the change (and found a few that didn't
invalidate the fitness, thus really pointing out the advantage of the current approach)
2001-02-14 10:35:26 +00:00
jmerelo
17d55ae92b Just playing with the CVS variables 2001-02-13 22:39:56 +00:00
jmerelo
b7d071d92d Just playing with the CVS variables 2001-02-13 22:38:23 +00:00
jmerelo
0dd3e27e4e Moved out of the 'obsolete' directory a couple of honest classes, which didn't harm anybody; activated also in Makefile.am the program that tested them 2001-02-13 22:35:07 +00:00
maartenkeijzer
07bc61e694 Added a bit more documentation, more to follow (I hope) 2001-02-13 14:43:54 +00:00
maartenkeijzer
262869d0ae fixed a bug: the parser now correctly parses parameters of the form
-Pvalue

This will now produce 'value'. The buggy parser would parse 'alue' here. I am truly and deeply
ashamed to have created such an off-by-one error.

Marc assumed this was wanted behaviour (so that it should read: -P=value)
I must admit that this is a logical conclusion, though it was merely a side-effect
of the error. To not force Marc to rewrite the tutorial and his way of working with
EO, I decided to make a feature out of the bug, so that now the parser will parse:

-Pvalue
-P=value

and of course the true and blue:

-Parameter=value

I will now go and check if I sent out some crappy papers caused by this bug (as I've been using eo!)
2001-02-13 12:38:19 +00:00
maartenkeijzer
680229507f Just an update 2001-02-13 10:35:47 +00:00
maartenkeijzer
dea8a51f7e Ok, updated the Makefile.am again to use the
make check

Command I picked up in the automake documentation (RTFM, you know)

Tagged a lot of header functions in the GnuPlot files with 'inline',
so they can be used from more than one sourcefile.

Ok, now the interesting news. Started a new library libga (not to be confused
with Matthew's GaLib). Here I suggest we put a fairly complete and configurable
genetic algorithm. Just to see how far we can stretch ourselves and also to have
a GA-componenent that can be used in other applications without having to rebuild
the entire thing. test/t-eoGA.cpp tests this library
2001-02-12 13:58:51 +00:00
maartenkeijzer
9f5069b23a run_tests is expanded to run everything (but only once yet, will have
to address this later).
t-eoSymreg is build to run for just a few generations, otherwise testing
it would be an excercise in patience.
2001-02-11 16:35:21 +00:00
maartenkeijzer
4aed181311 Removed small bug in reading outside a buffer in eoParser::readFrom
This caused the parser to crash when a simple flag of the form program -f
was given.
2001-02-11 16:25:03 +00:00
maartenkeijzer
27432e5377 run_tests, add your own tests here 2001-02-11 16:01:47 +00:00
maartenkeijzer
05ed67ccd1 Test now is not build automatically, make test should be given explicitely, then a new script run_tests will be used to check if everything still works 2001-02-11 15:58:55 +00:00
maartenkeijzer
ed6ae447e8 Commented out the check for libtool, as we don't use it currently 2001-02-11 15:57:01 +00:00
evomarc
2796319a13 Added matermind in SUBDIRS 2001-02-10 05:36:50 +00:00
jmerelo
3c2df139bd Minor bugs for Win quashed; fixed Win project files 2001-02-09 16:52:06 +00:00
maartenkeijzer
d58511132c Removed the -O2 flag from the makefile in the test directory.
Builds should go faster now.
2001-02-09 11:52:55 +00:00
evomarc
b893445d31 Added a comment before eoPopulator class so it is documented! 2001-02-09 08:32:47 +00:00
evomarc
5bf1d83f6a Changed the first paragraph, added warning that it should be used on-line only 2001-02-09 08:21:35 +00:00
evomarc
0c1036617e Big change in eoGeneralOp interface: left out! 2001-02-09 05:52:44 +00:00
evomarc
a556036315 Change in Makefile - but again it should be replaced with clean Makefile.am 2001-02-09 05:46:12 +00:00