Corrected a problem in eoEsChromInit (it refused plain eoReal) + some

other minor modications (e.g. a dir in make_checkpoint where ALL file
will go).
This commit is contained in:
evomarc 2001-05-03 17:20:27 +00:00
commit f4d2630516
9 changed files with 98 additions and 64 deletions

View file

@ -2,7 +2,7 @@
<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]">
<meta name="GENERATOR" content="Mozilla/4.76 [en] (X11; U; Linux 2.2.17-21mdksmp i686) [Netscape]">
<title>Tutorial: Lesson 3</title>
</head>
<body text="#000000" link="#0000EE" vlink="#551A8B" alink="#FF0000" background="beige009.jpg">
@ -38,7 +38,7 @@ the same objects.
<p>
<hr WIDTH="100%">
<br><a NAME="userguide"></a><b><font color="#000099"><font size=+2>User's
guide</font></font></b><font color="#000000"></font>
guide</font></font></b>
<p><font color="#000000">As already said, the behavior of the algorithms
will be exactly the same as the previous one as far as optimization is
concerned. Only now you will be able to tune every component of the algorithms
@ -55,7 +55,7 @@ the </font><font color="#FF6600">names</font><font color="#000000"> of
the underlying classes (though they should be similar in most cases).</font>
<p><b><font color="#000099"><font size=+1>User's guide:</font></font><font color="#FF0000">
Parameter input</font></b><font color="#000000"> The way to input parameters
has already be described in <a href="eoLEsson3.html#paraminput">Lesson
has already be described in <a href="eoLesson3.html#paraminput">Lesson
3</a>. To get a list of parameters, type the command with option --help
(or -h): with both testBit and testReal this will result in</font>
<ul>
@ -88,7 +88,7 @@ General ######</font></tt></font></b>
<br><b><tt><font color="#993300"><font size=+1># --help=0 # -h : Prints
this message</font></font></tt></b>
<br><font color="#FF0000">Boolean parameter </font><font color="#000000">of
absolutely no interest: tells whether or not help was requested.</font><b><tt><font color="#993300"><font size=+1></font></font></tt></b>
absolutely no interest: tells whether or not help was requested.</font>
<p><b><tt><font color="#993300"><font size=+1># --seed=988700289 # -S :
Random number seed</font></font></tt></b>
<br><font color="#FF0000">Unsigned long parameter:</font><font color="#000000">
@ -103,44 +103,46 @@ seed)</font><font color="#000000">.</font>
<br><b><font size=+1><font color="#FF0000">Section </font><tt><font color="#3333FF">######
Output ######</font></tt></font></b>
<br><font color="#000000">This section contains parameters related to output
(to screen, to files, graphical, ...).</font><b><tt><font color="#3333FF"><font size=+1></font></font></tt></b>
(to screen, to files, graphical, ...).</font>
<p><b><tt><font color="#3333FF"><font size=+1># --useEval=1 # Use nb of
eval. as counter (vs nb of gen.)</font></font></tt></b>
<br><font color="#FF0000">Boolean parameter:</font><font color="#000000">
whether or not you want the nb of evluations to be displayed and used as
counter in statistics outputs and plots. </font><font color="#FF0000">Default
is true</font><font color="#000000">.</font><b><tt><font color="#3333FF"><font size=+1></font></font></tt></b>
is true</font><font color="#000000">.</font>
<p><b><tt><font color="#3333FF"><font size=+1># --printBestStat=1 # Print
Best/avg/stdev every gen.</font></font></tt></b>
<br><font color="#FF0000">Boolean parameter:</font><font color="#000000">
toggles screen output of indicated statistics. </font><font color="#FF0000">Default
is true</font><font color="#000000">.</font><b><tt><font color="#3333FF"><font size=+1></font></font></tt></b>
is true</font><font color="#000000">.</font>
<p><b><tt><font color="#3333FF"><font size=+1># --plotBestStat=0 # Plot
Best/avg Stat</font></font></tt></b>
<br><font color="#FF0000">Boolean parameter:</font><font color="#000000">
toggles gnuplot output of best and average plots (Linux only at the moment).
</font><font color="#FF0000">Default is false.</font><b><tt><font color="#3333FF"><font size=+1></font></font></tt></b>
</font><font color="#FF0000">Default
is false.</font>
<p><b><tt><font color="#3333FF"><font size=+1># --BestFileName=best.xg
# Name of file for Best/avg/stdev</font></font></tt></b>
<br><font color="#FF0000">String parameter:</font><font color="#000000">
if present, the statistics are stored in that file (</font><font color="#FF0000">no
default</font><font color="#000000">)</font><b><tt><font color="#3333FF"><font size=+1></font></font></tt></b>
default</font><font color="#000000">)</font>
<p><b><tt><font color="#3333FF"><font size=+1># --printPop=0 # Print sorted
pop. every gen.</font></font></tt></b>
<br><font color="#FF0000">Boolean parameter:</font><font color="#000000">
adds a dump of the whole population to the screen every generation. Is
likely to generate </font><b><font color="#FF6600">huge</font></b><font color="#000000">
output! </font><font color="#FF0000">Default is false.</font><b><tt><font color="#3333FF"><font size=+1></font></font></tt></b>
output! </font><font color="#FF0000">Default is false.</font>
<p><b><tt><font color="#3333FF"><font size=+1># --printFDC=1 # Print FDC
coeff. every gen.</font></font></tt></b>
<br><font color="#FF0000">Boolean parameter:</font><font color="#000000">
adds Fitness Distance Correlation to output every generation. </font><font color="#FF0000">Default
is false.</font><b><tt><font color="#3333FF"><font size=+1></font></font></tt></b>
is false.</font>
<p><b><tt><font color="#3333FF"><font size=+1># --plotFDCStat=0 # Plot
FDC scatter plot</font></font></tt></b>
<br><font color="#FF0000">Boolean parameter:</font><font color="#000000">
toggles the Fitness Distance Correlation plot (Fitness vs distance to best).
</font><font color="#FF0000">Default is false.</font><b><tt><font color="#3333FF"><font size=+1></font></font></tt></b>
</font><font color="#FF0000">Default
is false.</font>
<p><b><tt><font color="#3333FF"><font size=+1># --plotHisto=0 # Plot histogram
of fitnesses</font></font></tt></b>
<br><font color="#FF0000">Boolean parameter:</font><font color="#000000">
@ -152,7 +154,7 @@ is false.</font>
<br><b><font size=+1><font color="#FF0000">Section </font><tt><font color="#3333FF">######
Persistence ######</font></tt></font></b>
<br><font color="#000000">This section contains parameters handling job
dump and restart mechanism</font><b><tt><font color="#3333FF"><font size=+1></font></font></tt></b>
dump and restart mechanism</font>
<p><b><tt><font color="#3333FF"><font size=+1># --Load= # -L : A save file
to restart from</font></font></tt></b>
<br><font color="#FF0000">String parameter:</font><font color="#000000">
@ -166,13 +168,13 @@ to re-use the same parameters is to ... use that very save file as parameter
file, as it contains all actual parameters in the right format.</font>
<br><font color="#000000">Note that if not enough individuals are read,
the remaining are randomly initialized. </font><font color="#FF0000">No
default value</font><font color="#000000">.</font><b><tt><font color="#3333FF"><font size=+1></font></font></tt></b>
default value</font><font color="#000000">.</font>
<p><b><tt><font color="#3333FF"><font size=+1># --recomputeFitness=0 #
-r : Recompute the fitness after re-loading the pop.?</font></font></tt></b>
<br><font color="#FF0000">Boolean parameter:</font><font color="#000000">
in case some individuals are read from a file, their fitness is read too.
If this one is true, it is nevertheless recomputed. </font><font color="#FF0000">Default
is false</font><font color="#000000"> i.e. use fitnes that's in the file.</font><b><tt><font color="#3333FF"><font size=+1></font></font></tt></b>
is false</font><font color="#000000"> i.e. use fitnes that's in the file.</font>
<p><b><tt><font color="#3333FF"><font size=+1># --saveFrequency=0 # Save
every F generation (0 = only final state, absent = never)</font></font></tt></b>
<br><font color="#FF0000">Integer parameter:</font><font color="#000000">
@ -181,13 +183,13 @@ to disk, in a file named genNN.sav, where NN is the generation number.
If this prameter is present (even with 0 or negative value), the final
population will always be saved, whatever the reason for stopping. Hence
the only way to avoid all saves is to omit the parameter (there is </font><font color="#FF0000">no
default value</font><font color="#000000">).</font><b><tt><font color="#3333FF"><font size=+1></font></font></tt></b>
default value</font><font color="#000000">).</font>
<p><b><tt><font color="#3333FF"><font size=+1># --saveTimeInterval=0 #
Save every T seconds (0 or absent = never)</font></font></tt></b>
<br><font color="#FF0000">Integer parameter:</font><font color="#000000">
time interval between two population (+RNG + parameters) dumps to disks.
Files are names timeNN.sav. See pervious parameter description for ore
details. </font><font color="#FF0000">No default value.</font><b><tt><font color="#3333FF"><font size=+1></font></font></tt></b>
details. </font><font color="#FF0000">No default value.</font>
<p><b><tt><font color="#3333FF"><font size=+1># --status=t-eoGA.status
# Status file</font></font></tt></b>
<br><font color="#FF0000">String parameter:</font><font color="#000000">
@ -199,32 +201,34 @@ the name /dev/null (Unix). Default value is </font><font color="#FF0000">Program
<br><b><font size=+1><font color="#FF0000">Section </font><tt><font color="#3333FF">######
Stopping criterion ######</font></tt></font></b>
<br><font color="#000000">This section allows to decide when the algorithm
will stop.</font><b><tt><font color="#3333FF"><font size=+1></font></font></tt></b>
will stop.</font>
<p><b><tt><font color="#3333FF"><font size=+1># --maxGen=100 # -G : Maximum
number of generations (0 = none)</font></font></tt></b>
<br><font color="#000000">Integer parameter: maximum number of generations.
A value of 0 disables that stopping criterion. </font><font color="#FF0000">Default
is 100.</font><b><tt><font color="#3333FF"><font size=+1></font></font></tt></b>
is 100.</font>
<p><b><tt><font color="#3333FF"><font size=+1># --steadyGen=100 # -s :
Number of generations with no improvement</font></font></tt></b>
<br><font color="#FF0000">Integer parameter:</font><font color="#000000">
stops whenever that number of generations is passed without any improvement
of the best fitness in the population, provided the following minimum number
of generations has been done. </font><font color="#FF0000">No default value.</font><b><tt><font color="#3333FF"><font size=+1></font></font></tt></b>
of generations has been done. </font><font color="#FF0000">No default value.</font>
<p><b><tt><font color="#3333FF"><font size=+1># --minGen=0 # -g : Minimum
number of generations</font></font></tt></b>
<br><font color="#000000">Integer parameter: the above steadyGen parameter
starts its job only after that minimum nuber of generations is passed.
</font><font color="#FF0000">No default value.</font><b><tt><font color="#3333FF"><font size=+1></font></font></tt></b>
</font><font color="#FF0000">No
default value.</font>
<p><b><tt><font color="#3333FF"><font size=+1># --maxEval=0 # -E : Maximum
number of evaluations (0 = none)</font></font></tt></b>
<br><font color="#000000">Integer parameter: maximum number of generations.
</font><font color="#FF0000">No default value.</font><b><tt><font color="#3333FF"><font size=+1></font></font></tt></b>
</font><font color="#FF0000">No
default value.</font>
<p><b><tt><font color="#3333FF"><font size=+1># --targetFitness=0 # -T
: Stop when fitness reaches</font></font></tt></b>
<br><font color="#000000">Real-valued parameter: the algorithm stops whenever
the best fitness reaches that target. </font><font color="#FF0000">No default
value.</font><b><tt><font color="#3333FF"><font size=+1></font></font></tt></b>
value.</font>
<p><b><tt><font color="#3333FF"><font size=+1># --CtrlC=0 # -C : Terminate
current generation upon Ctrl C</font></font></tt></b>
<br><font color="#000000">Boolean parameter: if true, Ctrl C only stops
@ -237,7 +241,7 @@ in Unix at the moment. </font><font color="#FF0000">Default is false.</font>
engine ######</font></tt></font></b>
<br><font color="#000000">In this section, one chooses all components of
the <a href="eoEngine.html">Evolution Engine</a> (selection, replacemenet
and the like).</font><font color="#000000"></font>
and the like).</font>
<p><b><tt><font color="#009900"><font size=+1># --selection=DetTour(2)
# -S : Selection: Roulette, DetTour(T), StochTour(t) or Sequential(ordered/unordered)</font></font></tt></b>
<br><font color="#FF0000">String parameter:</font><font color="#000000">
@ -256,23 +260,23 @@ all individuals in turn), either from best to worst (option </font><b><tt><font
in parentheses), or in random ordered (option </font><b><tt><font color="#009900"><font size=+1>unordered</font></font></tt></b><font color="#000000">);
and finally repeated </font><b><font color="#FF6600">independent uniform
choices</font></b><font color="#000000">&nbsp; (name </font><b><tt><font color="#009900"><font size=+1>Random</font></font></tt></b><font color="#000000">).
Default is </font><font color="#FF0000">DetTour(2)</font><font color="#000000">.</font><font color="#000000"></font>
Default is </font><font color="#FF0000">DetTour(2)</font><font color="#000000">.</font>
<p><b><tt><font color="#009900"><font size=+1># --nbOffspring=100% # -O
: Nb of offspring (percentage or absolute)</font></font></tt></b>
<br><font color="#FF0000">Integer or real-valued parameter:</font><font color="#000000">
this parameter indicates the </font><b><font color="#FF6600">amount of
offspring</font></b><font color="#000000"> that will be generated from
the genitors every generation. However, this amount can be specified either
</font><font color="#FF6600">relative</font><font color="#000000"> to the
population size, and it should then end with percent character (%), or
as an </font><font color="#FF6600">absolute</font><font color="#000000">
</font><font color="#FF6600">relative</font><font color="#000000">
to the population size, and it should then end with percent character (%),
or as an </font><font color="#FF6600">absolute</font><font color="#000000">
integer number (without the percent char).</font>
<br><font color="#000000">Indeed, you can either want, say 7 times more
offspring than parents (a rather common situation in Evolution Strategies),
in which case you give value 700% to </font><b><tt><font color="#009900"><font size=+1>nbOffspring</font></font></tt></b><font color="#000000">
parameter; or you might want a single offspring whatever the population
size, like in Steady-State evolution engines, in which case you simply
enter value 1. </font><font color="#FF0000">Default is 100%</font><font color="#000000">.</font><font color="#000000"></font>
enter value 1. </font><font color="#FF0000">Default is 100%</font><font color="#000000">.</font>
<p><b><tt><font color="#009900"><font size=+1># --replacement=Comma # -R
: Replacement: Comma, Plus, EPTour(T), SSGAWorst, SSGADet(T), SSGAStoch(t)</font></font></tt></b>
<br><font color="#FF0000">String parameter:</font><font color="#000000">
@ -280,18 +284,19 @@ Name of replacement procedure. Availabable are the </font><b><font color="#FF660
plus and comma</font></b><font color="#000000"> deterministic replacement
strategies (named respectively </font><b><tt><font color="#009900"><font size=+1>Plus</font></font></tt></b><font color="#000000">
and&nbsp; </font><b><tt><font color="#009900"><font size=+1>Comma</font></font></tt></b><font color="#000000">);
</font><b><font color="#FF6600">EP stochastic tournament</font></b><font color="#000000">
(name </font><b><tt><font color="#009900"><font size=+1>EPTour</font></font></tt></b><font color="#000000">
</font><b><font color="#FF6600">EP
stochastic tournament</font></b><font color="#000000"> (name </font><b><tt><font color="#009900"><font size=+1>EPTour</font></font></tt></b><font color="#000000">
with tournament size in parentheses); and the </font><b><font color="#FF6600">steady-state
</font></b><font color="#000000">replacement procedures, at the moment
only based on fitnesses, replacement being either </font><font color="#FF6600">deterministic</font><font color="#000000">
</font></b><font color="#000000">replacement
procedures, at the moment only based on fitnesses, replacement being either
</font><font color="#FF6600">deterministic</font><font color="#000000">
(new born replace worst parent, name </font><b><tt><font color="#009900"><font size=+1>SSGAWorst</font></font></tt></b><font color="#000000">),&nbsp;
or based on a tournament&nbsp; (name </font><b><tt><font color="#009900"><font size=+1>SSGADet</font></font></tt></b><font color="#000000">
for deterministic tournament, size in parentheses, and </font><b><tt><font color="#009900"><font size=+1>SSGAStoch</font></font></tt></b><font color="#000000">&nbsp;
for stochastic tournament, probability in parentheses). </font><font color="#FF0000">Default
is Comma</font><font color="#000000"> (which btw is also SGA </font><font color="#FF0000">generational
replacement</font><font color="#000000"> whenever there are as many offspring
as parents).</font><font color="#000000"></font>
as parents).</font>
<p><b><tt><font color="#009900"><font size=+1># --weakElitism=0 # -w :
Old best parent replaces new worst offspring *if necessary*</font></font></tt></b>
<br><font color="#FF0000">Boolean parameter:</font><font color="#000000">