I also changed
- the eoQuadratic into eoQuad (as dicussed with Maarten)
- the eoBin into eoBit, with more appropriate names for the "binary"
operators (that can be unary!) as no one protested when I posted on
eodev list
124 lines
6 KiB
HTML
124 lines
6 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.76 [en] (X11; U; Linux 2.2.17-21mdksmp i686) [Netscape]">
|
|
<title>Variation Operators</title>
|
|
</head>
|
|
<body text="#000000" link="#0000EF" vlink="#51188E" alink="#FF0000" background="beige009.jpg">
|
|
<b><font color="#FF0000">General</font></b>: <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>
|
|
<br>
|
|
<hr WIDTH="100%">
|
|
<br><b><font color="#FF0000">Local</font></b>: <a href="#introduction">Introduction</a>
|
|
- <a href="#continuator">Continuators</a> - <a href="#combined_continue">Combined
|
|
continuators</a> - <a href="#checkpoint">Checkpoints</a> - <a href="#statistic">Statistics</a>
|
|
- <a href="#monitor">Monitors</a> - <a href="#updater">Updaters</a>
|
|
<br>
|
|
<hr WIDTH="100%">
|
|
<center>
|
|
<h1>
|
|
<b><font color="#CC0000">CheckPointing</font></b></h1></center>
|
|
<a NAME="introduction"></a><b><font color="#000099"><font size=+2>What
|
|
is Checkpointing about?</font></font></b>
|
|
<br>Evolutionary Algorithms are ticked
|
|
<p><b><font color="#FF0000">EO classes described in this page</font></b>:
|
|
<ul>
|
|
<li>
|
|
<b><font color="#FF0000">Base classes</font></b>: eoCheckPoint, eoContinue,
|
|
eoStat, eoSortedStat, eoMonitor, eoUpdater</li>
|
|
|
|
<li>
|
|
<b><font color="#FF0000">Derived classes</font></b>: eoCombinedContinue,</li>
|
|
|
|
<li>
|
|
<b><font color="#FF0000">Related classes</font></b>: eoGnuPlot</li>
|
|
</ul>
|
|
|
|
<br>
|
|
<p>
|
|
<hr WIDTH="100%"><a NAME="continuator"></a><b><font color="#000099"><font size=+1>Continuators:</font></font></b>
|
|
<br>
|
|
<p>Continuators are functors that compute stopping critera. They receive
|
|
a population and return a boolean value which is set to false only when
|
|
some stopping vriterion is met. All algorithms in EO have a loop that goes
|
|
<b><font color="#993300">while(continuator(pop)
|
|
{ ... }<tt> </tt></font></b>which means that the algorithm stops only when
|
|
the continuator returns <b><font color="#993300">false</font></b>.
|
|
<p><b><font color="#FF0000">Interface</font></b>:
|
|
<br>
|
|
<p><b><font color="#FF0000">Using a continuator</font></b>:
|
|
<br>You can find an first example of using a continuator in the code for
|
|
<a href="FirstBitGA.html#stop">FirstBitEA</a> in <a href="eoLesson2.html#tour">Lesson2</a>.
|
|
<br>If you want to find out how it is used inside an algorithm, go and
|
|
see for instance in eoSGA, the simplest EA within EO.
|
|
<p><a NAME="writing_continuator"></a><b><font color="#FF0000">Writing a
|
|
continuator:</font></b>
|
|
<br>There are only two things to modify in the <a href="../Templates/continuator.tmpl">template
|
|
class definitions</a> provided (apart from the name of the class you are
|
|
creating!)
|
|
<ul>
|
|
<li>
|
|
The <font color="#FF6600">constructor</font>, where you pass to the object
|
|
any useful parameter (see the private data at end of class definition).</li>
|
|
|
|
<li>
|
|
The <font color="#FF6600">operator()</font> method, which performs the
|
|
actual test on the population.</li>
|
|
</ul>
|
|
Don't forget to <b><font color="#FF6600">return</font></b> <b><font color="#FF6600">false</font></b>
|
|
when the stopping criterion <b><font color="#FF6600">is met!</font></b>
|
|
<p>
|
|
<hr WIDTH="100%"><a NAME="combined_continue"></a><b><font color="#000099"><font size=+1>Combining
|
|
continuators:</font></font></b>
|
|
<p>
|
|
<hr WIDTH="100%"><a NAME="checkpoint"></a><b><font color="#000099"><font size=+1>CheckPoints:</font></font></b>
|
|
<p><b><font color="#FF0000">Interface</font></b>:
|
|
<p><b><font color="#FF0000">Using a checkpoint</font></b>: An eoCheckPoint
|
|
being an eoContinue, its usage is exactly the same. However, an eoCheckPoint
|
|
will actually do many more things than an eoContinue before returning its
|
|
boolean result as an eoContinue.
|
|
<p><a NAME="writing_checkpoint"></a><b><font color="#FF0000">Writing a
|
|
checkpoint:</font></b>
|
|
<br>This is something you should never have to do. However, should you
|
|
fell you have to do it, please do - and send us both the reasons that lead
|
|
you to that (wqhat is it you couldn't do with existing eoCheckPoint), and
|
|
the resulting code, of course.
|
|
<br>
|
|
<hr WIDTH="100%"><a NAME="statistic"></a><b><font color="#000099"><font size=+1>Statistics:</font></font></b>
|
|
<p><b><font color="#FF0000">Interface</font></b>:
|
|
<p><b><font color="#FF0000">Using statistics</font></b>:
|
|
<p><a NAME="writing_statistic"></a><b><font color="#FF0000">Writing a statitic</font></b>:
|
|
<br>
|
|
<hr WIDTH="100%"><a NAME="monitor"></a><b><font color="#000099"><font size=+1>Monitors:</font></font></b>
|
|
<p><b><font color="#FF0000">Interface</font></b>:
|
|
<p><b><font color="#FF0000">Using monitors</font></b>:
|
|
<p><a NAME="writing_monitor"></a><b><font color="#FF0000">Writing a monitor</font></b>:
|
|
<p>
|
|
<hr WIDTH="100%"><a NAME="updater"></a><b><font color="#000099"><font size=+1>Updater:</font></font></b>
|
|
<p><b><font color="#FF0000">Interface</font></b>:
|
|
<p><b><font color="#FF0000">Using updaters</font></b>:
|
|
<p><a NAME="writing_updater"></a><b><font color="#FF0000">Writing an updater</font></b>:
|
|
<br>
|
|
<p>
|
|
<hr WIDTH="100%"><b><font color="#FF0000">Local</font></b>: <a href="#introduction">Introduction</a>
|
|
- <a href="#continuator">Continuators</a> - <a href="#combined_continue">Combined
|
|
continuators</a> - <a href="#checkpoint">Checkpoints</a> - <a href="#statistic">Statistics</a>
|
|
- <a href="#monitor">Monitors</a> - <a href="#updater">Updaters</a>
|
|
<br>
|
|
<hr WIDTH="100%"><b><font color="#FF0000">General</font></b>: <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>
|
|
<br>
|
|
<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 Dec. 8 2000 <!-- hhmts end -->
|
|
<br>
|
|
</body>
|
|
</html>
|