A few additions and corrections ...
This commit is contained in:
parent
0447391f7c
commit
769b1fe31e
1 changed files with 41 additions and 50 deletions
|
|
@ -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>Genetic Engine</title>
|
<title>Genetic Engine</title>
|
||||||
</head>
|
</head>
|
||||||
<body text="#000000" link="#0000EF" vlink="#51188E" alink="#FF0000" background="beige009.jpg">
|
<body text="#000000" link="#0000EF" vlink="#51188E" alink="#FF0000" background="beige009.jpg">
|
||||||
|
|
@ -94,44 +94,29 @@ two objects</a></font></font> of respective types <b><font color="#009900"><a hr
|
||||||
and <b><font color="#009900"><a href="#reduce">eoReduce</a></font></b>
|
and <b><font color="#009900"><a href="#reduce">eoReduce</a></font></b>
|
||||||
and you can probably guess what each of them actually does :-)</li>
|
and you can probably guess what each of them actually does :-)</li>
|
||||||
|
|
||||||
<br>
|
<p><br>Available <font color="#FF6600">instances of eoMergeReduce</font>
|
||||||
<p>
|
replacement include
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<p>Available <font color="#FF6600">instances of eoMergeReduce</font> replacement
|
|
||||||
include
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<b><tt><font color="#009900">eoCommaReplacement</font></tt></b>, one of
|
<b><tt><font color="#009900">eoCommaReplacement</font></tt></b>, one of
|
||||||
the two standard strategies in <font color="#FF6600">Evolution Strategies</font>,
|
the two standard strategies in <font color="#000000">Evolution Strategies</font>,
|
||||||
selects the best offspring. It is an <b><tt><font color="#993300">eoMergeReduce(eoNoElitism,
|
<b><font color="#FF6600">selects the best offspring</font></b>. It is an
|
||||||
eoTruncate)</font></tt></b>.</li>
|
<b><tt><font color="#993300">eoMergeReduce(eoNoElitism, eoTruncate)</font></tt></b>.</li>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<b><tt><font color="#009900">eoPlusReplacement</font></tt></b>, the other
|
<b><tt><font color="#009900">eoPlusReplacement</font></tt></b>, the other
|
||||||
standard <font color="#FF6600">Evolution Startegies</font> replacement,
|
standar<font color="#000000">d Evolution Startegies repla</font>cement,
|
||||||
where the best from offspring+parents become the next generation. It is
|
where <b><font color="#FF6600">the best from offspring+parents</font></b>
|
||||||
an <b><tt><font color="#993300">eoMergeReduce(eoPlus, eoTruncate)</font></tt></b>.</li>
|
become the next generation. It is an <b><tt><font color="#993300">eoMergeReduce(eoPlus,
|
||||||
|
eoTruncate)</font></tt></b>.</li>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<b><tt><font color="#009900">eoEPReplacement</font></tt></b>, used in the
|
<b><tt><font color="#009900">eoEPReplacement</font></tt></b>, used in th<font color="#000000">e
|
||||||
<font color="#FF6600">Evolutionary
|
Evolutionary
|
||||||
Programming</font> historical algorithm, doing a stochastic tournament
|
Programming historical </font>algorithm, does an EP stochastic tournament
|
||||||
among parents + offspring. It is an <b><tt><font color="#993300">eoMergeReduce(eoPlus,
|
among parents + offspring. It is an <b><tt><font color="#993300">eoMergeReduce(eoPlus,
|
||||||
eoEPReduce)</font></tt></b> and its constructor requires as argument the
|
eoEPReduce)</font></tt></b> and its constructor requires as argument T,
|
||||||
size of the tournament (unsigned int).</li>
|
the size of the tournament (unsigned int).</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
|
|
@ -189,7 +174,7 @@ an elitist replacement makes no sense - but will not harm either :-)
|
||||||
file</font></b>
|
file</font></b>
|
||||||
<p>The file <b><tt><font color="#993300">t-eoReplacement</font></tt></b>
|
<p>The file <b><tt><font color="#993300">t-eoReplacement</font></tt></b>
|
||||||
in the <b><font color="#FF6600">test directory</font></b> implements all
|
in the <b><font color="#FF6600">test directory</font></b> implements all
|
||||||
above replacmenet procedures withni a very simple and easy-to-monitor Dummy
|
above replacmenet procedures within a very simple and easy-to-monitor Dummy
|
||||||
EO class.
|
EO class.
|
||||||
<p>
|
<p>
|
||||||
<hr WIDTH="100%">
|
<hr WIDTH="100%">
|
||||||
|
|
@ -237,34 +222,41 @@ selection can be used to select a single individual, both uses are probably
|
||||||
a waste of CPU time.
|
a waste of CPU time.
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<b><tt><font color="#009900">Deterministic Tournament</font></tt></b> of
|
<a NAME="detTournament"></a><b><tt><font color="#009900">Deterministic
|
||||||
size T selects returns the best of T uniformly chosen individuals in the
|
Tournament</font></tt></b> of size T returns the best of T uniformly chosen
|
||||||
population. It is implemented in the <b><tt><font color="#009900">eoDetTournamentSelect</font></tt></b>
|
individuals in the population. Its size T should be an integer >= 2. It
|
||||||
|
is implemented in the <b><tt><font color="#009900">eoDetTournamentSelect</font></tt></b>
|
||||||
class, a sub-class of eoSelectOne, as well as in the <b><tt><font color="#009900">eoDetTournamentTruncate</font></tt></b>
|
class, a sub-class of eoSelectOne, as well as in the <b><tt><font color="#009900">eoDetTournamentTruncate</font></tt></b>
|
||||||
class that repeatidly removes from the population the "winner" of the inverse
|
class that repeatidly removes from the population the "winner" of the inverse
|
||||||
tournament. These objects use the C++ function determinitic_tournament
|
tournament. These objects use the C++ function determinitic_tournament
|
||||||
in <a href="../../doc/html/selectors_h-source.html">selectors.h</a>.</li>
|
in <a href="../../doc/html/selectors_h-source.html">selectors.h</a>.</li>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<b><tt><font color="#009900">Stochastic Tournament</font></tt></b> of rate
|
<a NAME="stochTournament"></a><b><tt><font color="#009900">Stochastic Tournament</font></tt></b>
|
||||||
R first choses two individuals from the population, and selects the best
|
of rate R first choses two individuals from the population, and selects
|
||||||
one with probability R and the worse one with probability (1-R). It is
|
the best one with probability R (the worse one with probability 1-R). Real
|
||||||
implemented in the <b><tt><font color="#009900">eoStochTournamentSelect</font></tt></b>
|
parameter R should be in [0.5,1]. It is implemented in the <b><tt><font color="#009900">eoStochTournamentSelect</font></tt></b>
|
||||||
class, a sub-class of eoSelectOne, as well as in the <b><tt><font color="#009900">eoStochTournamentTruncate</font></tt></b>
|
class, a sub-class of eoSelectOne, as well as in the <b><tt><font color="#009900">eoStochTournamentTruncate</font></tt></b>
|
||||||
class that repeatidly removes from the population the "winner" of the inverse
|
class that repeatidly removes from the population the "winner" of the inverse
|
||||||
tournament. These objects use the C++ function determinitic_tournament
|
tournament. These objects use the C++ function determinitic_tournament
|
||||||
in <a href="../../doc/html/selectors_h-source.html">selectors.h</a>.</li>
|
in <a href="../../doc/html/selectors_h-source.html">selectors.h</a>.<br>
|
||||||
|
<b><font color="#FF0000">Note</font></b>: A stochastic tournament with
|
||||||
|
rate 1.0 is strictly identical to a deterministic tournament of size 2.</li>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<b><tt><font color="#009900">EP Tournament</font></tt></b> of size T is
|
<a NAME="EPTournament"></a><b><tt><font color="#009900">EP Tournament</font></tt></b>
|
||||||
a global tournament: it works by assigning a score to all individuals in
|
of size T is a global tournament: it works by assigning a score to all
|
||||||
the population the following way: starting with a score of 0, each individual
|
individuals in the population the following way: starting with a score
|
||||||
I is "opposed" T times to a uniformly chosen individual. Everytime I wins,
|
of 0, each individual I is "opposed" T times to a uniformly chosen individual.
|
||||||
its score in incremented by 1 (and by 0.5 for every draw). The individuals
|
Everytime I wins, its score in incremented by 1 (and by 0.5 for every draw).
|
||||||
are then selected deterministically based on their scores from that procedure.
|
The individuals are then selected deterministically based on their scores
|
||||||
The <b><tt><font color="#009900">EP Tournament</font></tt></b> is implemented
|
from that procedure. The <b><tt><font color="#009900">EP Tournament</font></tt></b>
|
||||||
in the <b><tt><font color="#009900">eoEPReduce</font></tt></b> truncation
|
is implemented in the <b><tt><font color="#009900">eoEPReduce</font></tt></b>
|
||||||
method used in some replacement procedures.</li>
|
truncation method used in some replacement procedures. <br>
|
||||||
|
<b><font color="#FF0000">Note</font></b>: whereas both the determinitic
|
||||||
|
and the stochastic tournament select one individual, the EP tournament
|
||||||
|
is designed for batch selection. Of course it could be used to select a
|
||||||
|
single individual, but at a rather high computational cost.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p><br>
|
<p><br>
|
||||||
|
|
@ -387,8 +379,7 @@ derives from
|
||||||
<p>Its constructor takes 2 argumenrts:
|
<p>Its constructor takes 2 argumenrts:
|
||||||
<center>
|
<center>
|
||||||
<p><b><tt><font color="#993300">eoHowMany(double _rate, bool _interpret_as_rate
|
<p><b><tt><font color="#993300">eoHowMany(double _rate, bool _interpret_as_rate
|
||||||
=
|
= true)</font></tt></b></center>
|
||||||
true)</font></tt></b></center>
|
|
||||||
so by default the double is indeed interpreted as a rate.
|
so by default the double is indeed interpreted as a rate.
|
||||||
<p>It is used in <font color="#009900">eoSelectMany</font> (which supersedes
|
<p>It is used in <font color="#009900">eoSelectMany</font> (which supersedes
|
||||||
<font color="#009900">eoSelectPerc</font>
|
<font color="#009900">eoSelectPerc</font>
|
||||||
|
|
|
||||||
Reference in a new issue