A few deatils

This commit is contained in:
evomarc 2001-01-02 07:54:12 +00:00
commit 4fd2be4bff
2 changed files with 39 additions and 21 deletions

View file

@ -33,19 +33,22 @@ follow the <a href="#tour">guided tour</a>.</li>
Later you will be asked to Later you will be asked to
<ul> <ul>
<li> <li>
write your own <font color="#990000">fitness function</font>,</li> <a href="#exercise1">write</a> your own <font color="#990000">fitness function</font>,</li>
<li> <li>
use different kinds of <font color="#009900">selection procedures</font> <a href="#exercise2">check</a> that EO let you separate the <font color="#999900">representation</font>
in the framework of a generational GA <font color="#009900">evolution engine</font>,</li>
<li>
check that EO let you separate the <font color="#999900">representation</font>
from the <font color="#009900">evolution engine</font>.</li> from the <font color="#009900">evolution engine</font>.</li>
<li>
<a href="#exercise3">use different kinds</a> of <font color="#009900">selection
procedures</font> in the framework of a generational GA <font color="#009900">evolution
engine</font>,</li>
</ul> </ul>
<h3> <h3>
<a NAME="run"></a><font color="#000099">I want to run an Evolutionary Algorithm
<hr WIDTH="100%"><a NAME="run"></a><font color="#000099">I want to run
an Evolutionary Algorithm
<b>now</b></font></h3> <b>now</b></font></h3>
You can choose to run a standard <a href="FirstBitGA.html">bitstring Genetic You can choose to run a standard <a href="FirstBitGA.html">bitstring Genetic
Algorithm</a> (as defined in Goldberg's book) or a standard <a href="FirstRealGA.html">real-valued Algorithm</a> (as defined in Goldberg's book) or a standard <a href="FirstRealGA.html">real-valued
@ -74,12 +77,16 @@ one individual per line, its fitness first, then the number of items (bits
or real numbers) of the genotype, and the genotype itself. The final population or real numbers) of the genotype, and the genotype itself. The final population
hopefully contains the solution in the discrete case, and is close to it hopefully contains the solution in the discrete case, and is close to it
in the continuous case. in the continuous case.
<p><a NAME="browse"></a>You need now to take a look at either programs <br>
by browsing alone through the&nbsp; sources for <a href="FirstBitGA.html">FirstBitGA</a> <hr WIDTH="100%"><a NAME="browse"></a><b><font color="#000099"><font size=+1>Browsing
and <a href="FirstRealGA.html">FirstRealGA</a>, or follow the guided tour the code:</font></font></b>
below, or go directly to the <a href="#exercise1">exercises</a>. <p>Now you need to take a look at the program codes, either by browsing
alone through the&nbsp; sources for <a href="FirstBitGA.html">FirstBitGA</a>
and <a href="FirstRealGA.html">FirstRealGA</a>, or by following the guided
tour below. You might prefer to go directly to the <a href="#exercise1">exercises</a>.
<h3> <h3>
<a NAME="tour"></a><font color="#000099">Browsing the code:</font></h3>
<hr WIDTH="100%"><a NAME="tour"></a><font color="#000099">Guided tour:</font></h3>
<ul> <ul>
<li> <li>
@ -299,8 +306,9 @@ discussing up to now!</font></li>
</ul> </ul>
<h3> <h3>
<a NAME="exercise1"></a><font color="#000099">Exercise 1: maximize your
own function</font></h3> <hr WIDTH="100%"><a NAME="exercise1"></a><font color="#000099">Exercise
1: maximize your own function</font></h3>
This is very easy - if your search space is that of bitstring or of unbounded This is very easy - if your search space is that of bitstring or of unbounded
real numbers. real numbers.
<ul> <ul>
@ -328,7 +336,9 @@ at system prompt.</li>
</ul> </ul>
<h3> <h3>
<font color="#000099">Exercise 2: check the differences between both programs</font></h3>
<hr WIDTH="100%"><a NAME="exercise2"></a><font color="#000099">Exercise
2: check the differences between both programs</font></h3>
Go and take a look at the code for these programs <font color="#000000">(<a href="FirstBitGA.html">Bit</a> Go and take a look at the code for these programs <font color="#000000">(<a href="FirstBitGA.html">Bit</a>
- <a href="FirstRealGA.html">Real</a>)</font>. Use the symbolic representation - <a href="FirstRealGA.html">Real</a>)</font>. Use the symbolic representation
of an Evolutionary Algorithm (you should understand that figure now, otherwise of an Evolutionary Algorithm (you should understand that figure now, otherwise
@ -337,9 +347,10 @@ part of the EA is coded. Try to spot the differences between both codes:
there are not so many! there are not so many!
<br>After you've tried that alone, take a look at the <a href="Firstmerge.html">solution</a> <br>After you've tried that alone, take a look at the <a href="Firstmerge.html">solution</a>
:-) :-)
<br>&nbsp;
<h3> <h3>
<font color="#000099">Exercise 3: change the selection procedure</font></h3>
<hr WIDTH="100%"><a NAME="exercise3"></a><font color="#000099">Exercise
3: change the selection procedure</font></h3>
This is rather straightforward ... if you know what other types of selection This is rather straightforward ... if you know what other types of selection
are available! are available!
<br>At the moment, let's only consider only the following simple ones: <br>At the moment, let's only consider only the following simple ones:
@ -368,7 +379,8 @@ select;</font></tt></b></ul>
Note that all these classes of eoObjects are derived from the abstract Note that all these classes of eoObjects are derived from the abstract
class class
<b><font face="Arial,Helvetica"><font size=+1><a href="../../doc/html/class_eoselectone.html">eoSelectOne.</a></font></font></b> <b><font face="Arial,Helvetica"><font size=+1><a href="../../doc/html/class_eoselectone.html">eoSelectOne.</a></font></font></b>
<p><b><font color="#000099"><font size=+2>Lessons:</font></font></b> <p>
<hr WIDTH="100%"><b><font color="#000099"><font size=+2>Lessons learned:</font></font></b>
<ul> <ul>
<li> <li>
in EO, all actions are performed by <a href="eoProgramming.html#functors">functor in EO, all actions are performed by <a href="eoProgramming.html#functors">functor

View file

@ -2,7 +2,7 @@
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <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-21mdksmp i686) [Netscape]"> <meta name="GENERATOR" content="Mozilla/4.75 [en] (X11; U; Linux 2.2.17-21mdk i686) [Netscape]">
<title>Tutorial: Lesson 2</title> <title>Tutorial: Lesson 2</title>
<!-- Changed by: Marc Schoenauer, 29-Nov-2000 --> <!-- Changed by: Marc Schoenauer, 29-Nov-2000 -->
</head> </head>
@ -37,7 +37,7 @@ operators</font> of the same type</li>
stopping criteria</font></li> stopping criteria</font></li>
<li> <li>
use <font color="#009900"><a href="evolution">alternate</a> selection/replacement</font> use <font color="#009900"><a href="#evolution">alternate</a> selection/replacement</font>
engines, deviating from the pure generational GA</li> engines, deviating from the pure generational GA</li>
</ul> </ul>
@ -67,7 +67,9 @@ argument is a <a href="binary_value.html">vector&lt;bool></a> or a <a href="real
and not an unknown type. This will allow to use the same file for any EO and not an unknown type. This will allow to use the same file for any EO
object that is a sub-class of the corresponding STL vector class.</font></li> object that is a sub-class of the corresponding STL vector class.</font></li>
<p><br><b><font color="#FF0000">Note:</font></b> <font color="#000000">Also, <br>&nbsp;
<p>&nbsp;
<p><b><font color="#FF0000">Note:</font></b> <font color="#000000">Also,
a non-templatized fitness can be </font><b><font color="#FF6600">compiled a non-templatized fitness can be </font><b><font color="#FF6600">compiled
separately</font></b><font color="#000000"> (not done here) into an object separately</font></b><font color="#000000"> (not done here) into an object
file once and for all (<a href="eoProgramming.html#templates">remember</a> file once and for all (<a href="eoProgramming.html#templates">remember</a>
@ -84,6 +86,8 @@ requires.</font></li>
<br>&nbsp; <br>&nbsp;
<p>&nbsp; <p>&nbsp;
<br>&nbsp;
<br>&nbsp;
<p><b><font color="#FF0000">Note:</font></b> <font color="#000000">In the <p><b><font color="#FF0000">Note:</font></b> <font color="#000000">In the
previous files (<a href="FirstBitGA.html#eval">Bit</a> - <a href="FirstRealGA.html#eval">Real</a>) previous files (<a href="FirstBitGA.html#eval">Bit</a> - <a href="FirstRealGA.html#eval">Real</a>)
, the last 2 types were deduced from the first (2nd argument = fitness , the last 2 types were deduced from the first (2nd argument = fitness
@ -107,7 +111,9 @@ You can also use different initializers and call them in turn through the
call to <a href="../../doc/html/class_eopop.html#a2">pop.append()</a> function call to <a href="../../doc/html/class_eopop.html#a2">pop.append()</a> function
(see <a href="#exercise2">Exercise 2</a>).</font></li> (see <a href="#exercise2">Exercise 2</a>).</font></li>
<p><br><b><font color="#FF0000">Note</font><font color="#CC33CC">: </font></b><font color="#000000">Don't <br>&nbsp;
<p>&nbsp;
<p><b><font color="#FF0000">Note</font><font color="#CC33CC">: </font></b><font color="#000000">Don't
forget to </font><b><font color="#CC0000">evaluate the population</font></b><font color="#000000">: forget to </font><b><font color="#CC0000">evaluate the population</font></b><font color="#000000">:
the eoPop has no idea of the eval function, so it has to be done from outside!!!</font> the eoPop has no idea of the eval function, so it has to be done from outside!!!</font>
<br>&nbsp; <br>&nbsp;