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, 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 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

Last modified: Tue Dec 19 2000