Algorithm-Based - Component-Based
- Programming hints - EO
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, spend
the necessary time 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
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
- Use your own representation. Thanks
to template files and a little script in Unix,
or the Application template in MSVC++, you
can easily define a new genotype and run an Evolutionary Algorithm that
will intantly benefit from the power of all EO
Evolution Engines (including easy user-parameter
input presented in Lesson 4). You simply need to gradually fill
in the shell-files that the script will generate for you.
Current version (May. 5, 2002) 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 :-)
Of course, in each lesson, you have links to the corresponding Component-Based
page. ( ... Well, to tell you the truth, as of today, this is not exactly
Lesson 6 (forthcoming) - More about checkpointing:
write your first adaptive mechanism,
and find out how easy it is to update
and monitor dynamic
Lesson 7 - 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 8 - Use predefined generic representations.
The eoFixedLength and eoVariableLength
super classes allow quick definition of new genotypes that handle identical
Atoms, together with generic variation operators.
Tutorial main page - Algorithm-Based
- Component-Based - Programming
hints - EO
Last modified: Tue Dec 19