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.
- Lesson 5 (new) - 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 :-)

- Lesson 6 (forthcoming) - More about checkpointing: write your first adaptive mechanism, and find out how easy it is to update and monitor dynamic parameters
- 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.

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 true :-)

Tutorial main page - Algorithm-Based - Component-Based - Programming hints - EO documentation

Last modified: Tue Dec 19 2000