Tutorial main
page
-
Algorithm-Based - Component-Based
- Programming hints - EO
documentation
EO - The Algorithm-Based approach
Congratulations - You have chosen the algorithm-based approach!
This means that you want to start from something that already works, and
gradually learn about the more complex constructs. We have prepared a series
of "lessons" for you.
-
Lesson 1 - a gentle introduction to the EO
way: your first steps into EO representations
using a simple generational GA. Please, on that one, since all basic constructs
presented there are used throughout EO.
-
Lesson 2 - encapsulate,
encapsulate, and try more sophisticated selection/replacement
mechanisms, as well as multiple operators
-
Lesson 3 - The same algorithms, but with improved
input/outputs: user-friendly input (i.e. without
the need to recompile!) of algorithm parameters,
and checkpointing (display
of on-line statistics, save
and
restore
populations,
restart stopped runs,
...).
-
Lesson 4 - The same algorithms - again! - but now fully operational:
every component of the algorithm can be defined
on the command-line, except the type of genotype;
moreover, you now have a full library, i.e. everything except your fitness function is
already compiled.
Current version (May. 5, 2001) stops here, but ...
From there on, you don't need to follow the lesson order any more: you
can go directly to any lesson and experiment. Of course, you will need
to bring together the different pieces to write exactly what you want -
but only because we had no idea of what you exactly want :-)
-
Lesson 4 - More general operators:
e.g. binary, n-ary, or even specific mate selection (your brain and my
beauty)! Add your own to the basic algorithm using the template files.
-
Lesson 5 - More about checkpointing:
write your first adaptive mechanism,
and find out how easy it is to update
and monitor dynamic
parameters
-
Lesson 6 - Why not go parallel? From
the simple asynchronous SSGA to the more sophisticated island model (no
totally distributed population yet).
-
Lesson 7 - Use your own representation.
You need only to write the base individual class, the initilization class
and the variation operators. EO provides many helps: The eoExternal
paradigm let you encapsulate into EO classes existing code. And the eoFixedLength
and eoVariableLength super classes
allow quick definition of new genotypes that handle identical Atoms.
Of course, in each lesson, you have links to the corresponding Component-Based
page. ( ... Well, to tell you the truth, as of today, Jan. 5, 2001, this
is not exactly true :-)
Tutorial main page - Algorithm-Based
- Component-Based - Programming
hints - EO
documentation
Marc Schoenauer
Last modified: Tue Dec 19
2000