This impacts on many files, creating new entries in src (the old ones are moved to obsolete dir), modifying t-eoSymreg.cpp and t-eobin.cpp in test, as well as gprop.cc and mastermind.cc in app dir (not to mention almost all files in tutorial:-(
199 lines
9.3 KiB
HTML
199 lines
9.3 KiB
HTML
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
<meta name="GENERATOR" content="Mozilla/4.75 [en] (X11; U; Linux 2.2.17-21mdk i686) [Netscape]">
|
|
<title>Tutorial EO</title>
|
|
</head>
|
|
<body text="#000000" link="#0000EF" vlink="#51188E" alink="#FF0000" background="beige009.jpg">
|
|
<a href="eoTopDown.html">Algorithm-Based</a> - <a href="eoBottomUp.html">Component-Based</a>
|
|
- <a href="eoProgramming.html">Programming hints</a> - <b><font face="Arial,Helvetica"><font size=+1><a href="../../doc/html/index.html">EO
|
|
documentation</a></font></font></b>
|
|
<hr WIDTH="100%">
|
|
<center><b><font color="#FF0000">Welcome to EO, the Evolving Objects library,
|
|
and to</font></b>
|
|
<b><font color="#FF0000"></font></b>
|
|
<h1>
|
|
<font color="#FF0000">EO Tutorial</font></h1></center>
|
|
|
|
<center><font color="#FF0000">Version 0.92 - Jan. 5 2001</font></center>
|
|
|
|
<p>The short term idea of this tutorial is to help you <font color="#FF6600">build
|
|
your own Evolutionary Algorithms</font> using EO - while the long term
|
|
idea is that you will be able to contribute to EO, and ultimately write
|
|
<font color="#FF6600">our</font>
|
|
EAs :-)
|
|
<h3>
|
|
|
|
<hr WIDTH="100%"><b><font color="#000099"><font size=+2>About this tutorial</font></font></b></h3>
|
|
This tutorial can be used in 2 different ways: algorithm-based and component-based.
|
|
<ul>
|
|
<li>
|
|
<a href="eoTopDown.html">Algorithm-Based</a> means you start from a <font color="#FF6600">very
|
|
simple, ready-to-run algorithm,</font> and gradually modify it, making
|
|
it both more powerful and more complex.</li>
|
|
|
|
<li>
|
|
<a href="eoBottomUp.html">Component-Based</a> means you start by examining
|
|
the
|
|
<font color="#FF6600">components of an EA one by one</font>, down to
|
|
the level of complexity you feel comfortable with, and then build the whole
|
|
algorithm using those components you need (or the one you are mastering).
|
|
Such approach might be viewed as going through a simplified user guide,
|
|
too.</li>
|
|
</ul>
|
|
However, it is <b><font color="#FF6600">strongly recommended</font></b>
|
|
that you take some time on the first lesson of the Algorithm-Based approach
|
|
to get familiar with the basic concepts that are used throughout EO. Anyway,
|
|
as of today, December 19, the Component-Based is only very sparsely written
|
|
:-)
|
|
<p>
|
|
<hr WIDTH="100%"><b><font color="#000099"><font size=+2>Links and Related
|
|
documents</font></font></b>
|
|
<ul>
|
|
<li>
|
|
There are of course a few (very few) <a href="eoProgramming.html">programming
|
|
hints</a> that you should know.</li>
|
|
|
|
<li>
|
|
THe <a href="../../doc/html/index.html">EO documentation </a>- automatically
|
|
generated from the comments in the code - is very helpful to get an idea
|
|
of the <b><font color="#FF6600">inheritance diagrams</font></b> of EO classes,
|
|
and to quickly reach some specific part of the code.</li>
|
|
|
|
<br>The top page of each class documentation is for instance the inheritance
|
|
diagram of the class, and you'll learn a lot by simply looking at it.
|
|
<li>
|
|
And, last but not least, we assume you know approximately that an Evolutionary
|
|
Algorithm looks like this, but otherwise you can try this <a href="eoIntroEA.html">very
|
|
brief introduction</a> (not written yet, Jan. 2001, sorry).</li>
|
|
</ul>
|
|
|
|
<p><br>
|
|
<hr WIDTH="100%"><b><font color="#000099"><font size=+2>Colors and navigation:</font></font></b>
|
|
<p>You will see this diagram in quite many places, as for instance at the
|
|
top of all examples - usually it will be clickable and will help you navigate
|
|
among the different parts of an EO program. See the <a href="eoIntroEA.html">brief
|
|
introduction to Evolutionary Computation</a> for a detailed explanation.
|
|
<center>
|
|
<p><img SRC="EA_tutorial.jpg" ></center>
|
|
<a NAME="colors"></a>
|
|
<p>But in the text itself, <b><font color="#FF6600">colors are important</font></b>,
|
|
as they will be used throughout this tutorial to clearly mark which part
|
|
of the algorithm we are discussing. So please keep in mind that, whereas
|
|
<b><font color="#FF6600">orange
|
|
is for emphasis</font></b>,
|
|
<ul>
|
|
<li>
|
|
<b><font color="#999900">Yellowish</font></b> is for <b><font color="#999900">representation</font></b>,
|
|
i.e. the choice of the <b><font color="#999900">genotype</font></b></li>
|
|
|
|
<li>
|
|
<font color="#CC33CC">Magenta</font> is for the <font color="#CC33CC">stochastic
|
|
operators</font> that are <b><font color="#999900">representation-dependent</font>,</b>
|
|
i.e. <font color="#CC33CC">initialisation</font> and variation operators
|
|
(<font color="#CC33CC">crossover</font>, <font color="#CC33CC">mutation</font>
|
|
and the like).</li>
|
|
|
|
<li>
|
|
<font color="#009900">Green</font> is for the implementation of <font color="#009900">Darwinism</font>,
|
|
i.e. the way the individuals are <font color="#009900">selected</font>
|
|
for reproduction and <font color="#009900">survive.</font></li>
|
|
|
|
<li>
|
|
<font color="#CC0000">Red</font> is for evaluation, i.e. the computation
|
|
of the <font color="#CC0000">fitness</font> of all individuals</li>
|
|
|
|
<li>
|
|
<font color="#3366FF">Blue</font> is for interactions of the user and the
|
|
program, as for instance choice of <font color="#3366FF">stopping criterion</font>,
|
|
on-line display of nice <font color="#3366FF">statistics</font> or initial
|
|
<font color="#3366FF">choice
|
|
of all program parameters</font>.</li>
|
|
|
|
<li>
|
|
<font color="#993300">Brown</font> is for everything that is NOT part of
|
|
any of the above, i.e. random number generator, or basic C++/STL syntax
|
|
.</li>
|
|
|
|
<li>
|
|
Note that <font color="#FF6666">pink</font> will be used to describe the
|
|
syntax of compile orders (i.e. at the operating system level, see e.g.
|
|
<a href="#install">below</a>).</li>
|
|
|
|
<li>
|
|
<b><font face="Arial,Helvetica"><font size=+1>Last, but not least, all
|
|
links into EO documentation will use the Helvetica typeface, like this
|
|
line you are now reading.</font></font></b></li>
|
|
</ul>
|
|
|
|
<hr WIDTH="100%"><b><font color="#000099"><font size=+1>This tutorial is
|
|
not</font></font></b>
|
|
<ul>
|
|
<li>
|
|
A course on Evolutionary Computation. You can find such things on the Internet,
|
|
maybe you can start <a href="http://www.wi.leidenuniv.nl/~gusz/Flying_Circus/">here.</a></li>
|
|
|
|
<li>
|
|
An interface that would allow you to build your Evolutionary Programs by
|
|
a few clicks; such a thing does exist, is called <a href="http://www-rocq.inria.fr/EASEA/">EASEA</a>,
|
|
and is complementary to this tutorial as it helps the user to build some
|
|
simple EO programs from simple description. But there are things that EASEA
|
|
cannot do, and you will have to do it yourself and will need to increase
|
|
your knowledge about EO for that - hence this tutorial.</li>
|
|
|
|
<li>
|
|
A coffee machine - though you might want to spend some time here when you're
|
|
tired of everything else, to improve your knowledge of EO slowly and gradually
|
|
rather than when you have something urgent to code :-)</li>
|
|
</ul>
|
|
|
|
<hr WIDTH="100%"><a NAME="install"></a><b><font color="#000099"><font size=+1>Before
|
|
you start</font></font></b>
|
|
<p>You should of course have downloaded and installed the whole <a href="http://www.sourceforge.net/projects/eodev">EO
|
|
library</a> (how did you get this file if not???).
|
|
<br>So we'll assume that you are now in the Tutorial directory, and that
|
|
your prompt looks something like
|
|
<p><b><tt><font color="#FF6666">(myname@myhost) EOdir/Tutorial %</font></tt></b>
|
|
<p>so you should now type in
|
|
<p><b><tt><font color="#FF6666">make lesson1</font></tt></b>
|
|
<p>and see something like
|
|
<p><font face="Courier New,Courier"><font color="#000000">(myname@myhost)
|
|
EOdir/Tutorial % make lesson1</font></font>
|
|
<br><b><tt><font color="#FF6666">c++ -DPACKAGE=\"eo\" -DVERSION=\"0.9.1\"
|
|
-I. -I../../src -Wall -g -c FirstBitGA.cpp</font></tt></b>
|
|
<br><b><tt><font color="#FF6666">c++ -Wall -g -o FirstBitGA FirstBitGA.o
|
|
../../src/libeo.a ../../src/utils/libeoutils.a</font></tt></b>
|
|
<br><b><tt><font color="#FF6666">c++ -DPACKAGE=\"eo\" -DVERSION=\"0.9.1\"
|
|
-I. -I../../src -Wall -g -c FirstRealGA.cpp</font></tt></b>
|
|
<br><b><tt><font color="#FF6666">c++ -Wall -g -o FirstRealGA FirstRealGA.o
|
|
../../src/libeo.a ../../src/utils/libeoutils.a</font></tt></b>
|
|
<p>and two now executable files should have appeared in the subdirectory
|
|
Lesson1, namely <b><tt><font color="#990000">FirstBitGA</font></tt></b>
|
|
and <b><tt><font color="#990000">FirstRealGA</font></tt></b> (see <a href="eoLesson1.html">First
|
|
lesson</a> to know more about these two ready-to-run programs). If this
|
|
doesn't work, please go back to the main EO directory and run the installation
|
|
program.
|
|
<p>You should also test that you can access the EO documentation in the
|
|
menu line below: you might not need to go there immediately, but just in
|
|
case you make rapid progress ... This menu bar should be on all pages of
|
|
this tutorial, allowing you to navigate easily.
|
|
<p>Last, but not least: EO is improving only from the good will of
|
|
contributors. This is also true for this tutorial: If you find anything
|
|
that you think could be improved, you are welcome to <a href="mailto:Marc.Schoenauer@polytechnique.fr">e-mail
|
|
me</a>.
|
|
<center>
|
|
<p><font color="#000099"><font size=+2>Enjoy!
|
|
<hr WIDTH="100%"></font></font><a href="eoTopDown.html">Algorithm-Based</a>
|
|
- <a href="eoBottomUp.html">Component-Based</a> - <a href="eoProgramming.html">Programming
|
|
hints</a> -<b><font size=+1> <font face="Arial,Helvetica"><a href="../../doc/html/index.html">EO
|
|
documentation</a></font></font></b></center>
|
|
|
|
<hr>
|
|
<address>
|
|
<a href="mailto:Marc.Schoenauer@polytechnique.fr">Marc Schoenauer</a></address>
|
|
|
|
<br><!-- Created: Mon Oct 30 07:27:13 CET 2000 --><!-- hhmts start -->Last
|
|
modified: Fri Nov 28 2000 <!-- hhmts end -->
|
|
</body>
|
|
</html>
|