⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 onemaxea.html

📁 这是linux下的进化计算的源代码。 === === === === === === === === === === === ===== check latest news at http:
💻 HTML
📖 第 1 页 / 共 2 页
字号:
_parser, eoState&amp; _state, eoEvalFuncCounter&lt;Indi>&amp; _eval, eoContinue&lt;Indi>&amp;_continue)&nbsp;</font></tt></b><br><b><tt><font color="#3366FF">{</font></tt></b><br><b><tt><font color="#3366FF">&nbsp;return do_make_checkpoint(_parser,_state, _eval, _continue);</font></tt></b><br><b><tt><font color="#3366FF">}</font></tt></b></td></tr></table><a NAME="engine"></a><table BORDER=0 CELLSPACING=0 COLS=1 WIDTH="100%" BGCOLOR="#CCCCCC" NOSAVE ><tr><td><tt><font color="#009900">// evolution engine (selection and replacement)</font></tt><br><b><tt><font color="#009900">#include &lt;do/make_algo_scalar.h></font></tt></b><br><b><tt><font color="#009900">eoAlgo&lt;Indi>&amp;&nbsp; make_algo_scalar(eoParser&amp;_parser, eoState&amp; _state, eoEvalFunc&lt;Indi>&amp; _eval, eoContinue&lt;Indi>&amp;_continue, eoGenOp&lt;Indi>&amp; _op)</font></tt></b><br><b><tt><font color="#009900">{</font></tt></b><br><b><tt><font color="#009900">&nbsp;return do_make_algo_scalar(_parser,_state, _eval, _continue, _op);</font></tt></b><br><b><tt><font color="#009900">}</font></tt></b></td></tr></table><a NAME="general"></a><table BORDER=0 CELLSPACING=0 COLS=1 WIDTH="100%" BGCOLOR="#CCCCCC" NOSAVE ><tr><td><tt><font color="#993300">// simple call to the algo. stays there forconsistency reasons&nbsp;</font></tt><br><tt><font color="#993300">// no template for that one</font></tt><br><b><tt><font color="#993300">#include &lt;do/make_run.h></font></tt></b><br><tt><font color="#993300">// the instanciating fitnesses</font></tt><br><b><tt><font color="#993300">#include &lt;eoScalarFitness.h></font></tt></b><br><b><tt><font color="#993300">void run_ea(eoAlgo&lt;Indi>&amp; _ga,eoPop&lt;Indi>&amp; _pop)</font></tt></b><br><b><tt><font color="#993300">{</font></tt></b><br><b><tt><font color="#993300">&nbsp;do_run(_ga, _pop);</font></tt></b><br><b><tt><font color="#993300">}</font></tt></b><br><tt><font color="#993300">// checks for help demand, and writes thestatus file</font></tt><br><tt><font color="#993300">// and make_help; in libutils</font></tt><br><b><tt><font color="#993300">void make_help(eoParser &amp; _parser);</font></tt></b><br><tt><font color="#993300">// now use all of the above, + representationdependent things</font></tt><br><b><tt><font color="#993300">int main(int argc, char* argv[])</font></tt></b><br><b><tt><font color="#993300">{</font></tt></b><br><b><tt><font color="#993300">&nbsp;try</font></tt></b><br><b><tt><font color="#993300">&nbsp;{</font></tt></b><br><tt><font color="#993300"><b>&nbsp;eoParser parser(argc, argv);&nbsp;&nbsp;</b>// for user-parameter reading</font></tt><br><tt><font color="#993300"><b>&nbsp;eoState state;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b>// keeps all things allocated</font></tt></td></tr></table><a NAME="eval"></a><table BORDER=0 CELLSPACING=0 COLS=1 WIDTH="100%" BGCOLOR="#CCCCCC" NOSAVE ><tr><td><tt><font color="#CC0000"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b> //The fitness</font></tt><br><tt><font color="#CC0000"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b> //////////////</font></tt><br><tt><font color="#CC0000"><b>&nbsp;&nbsp; eoOneMaxEvalFunc&lt;Indi>plainEval</b> /* (varType&nbsp; _anyVariable) */;<b>;</b></font></tt><br><tt><font color="#CC0000"><b>&nbsp;&nbsp;&nbsp;</b> // turn that objectinto an evaluation counter</font></tt><br><b><tt><font color="#CC0000">&nbsp;&nbsp; eoEvalFuncCounter&lt;Indi>eval(plainEval);</font></tt></b></td></tr></table><a NAME="representation"></a><table BORDER=0 CELLSPACING=0 COLS=1 WIDTH="100%" BGCOLOR="#CCCCCC" NOSAVE ><tr><td><tt><font color="#999900"><b>&nbsp;</b> // the genotype - through agenotype initializer</font></tt><br><b><tt><font color="#999900">&nbsp;eoInit&lt;Indi>&amp; init = make_genotype(parser,state, Indi());</font></tt></b></td></tr></table><a NAME="operators"></a><table BORDER=0 CELLSPACING=0 COLS=1 WIDTH="100%" BGCOLOR="#CCCCCC" NOSAVE ><tr><td><tt><font color="#993399"><b>&nbsp;</b> // Build the variation operator(any seq/prop construct)</font></tt><br><b><tt><font color="#993399">&nbsp;eoGenOp&lt;Indi>&amp; op = make_op(parser,state, init);</font></tt></b><br><tt><font color="#993399"><b>&nbsp;</b> //// Now the representation-independentthings&nbsp;</font></tt><br><tt><font color="#993399"><b>&nbsp;</b> //</font></tt><br><tt><font color="#993399"><b>&nbsp;</b> // YOU SHOULD NOT NEED TO MODIFYANYTHING BEYOND THIS POINT</font></tt><br><tt><font color="#993399"><b>&nbsp;</b> // unless you want to add specificstatistics to the checkpoint</font></tt><br><tt><font color="#993399"><b>&nbsp;</b> //////////////////////////////////////////////</font></tt></td></tr></table><a NAME="init"></a><table BORDER=0 CELLSPACING=0 COLS=1 WIDTH="100%" BGCOLOR="#CCCCCC" NOSAVE ><tr><td><tt><font color="#993399"><b>&nbsp;</b> // initialize the population</font></tt><br><tt><font color="#993399"><b>&nbsp;</b> // yes, this is representationindepedent once you have an eoInit</font></tt><br><b><tt><font color="#993399">&nbsp;eoPop&lt;Indi>&amp; pop&nbsp;&nbsp;&nbsp;= make_pop(parser, state, init);</font></tt></b></td></tr></table><a NAME="stop"></a><table BORDER=0 CELLSPACING=0 COLS=1 WIDTH="100%" BGCOLOR="#CCCCCC" NOSAVE ><tr><td><tt><font color="#3366FF"><b>&nbsp;</b> // stopping criteria</font></tt><br><b><tt><font color="#3366FF">&nbsp;eoContinue&lt;Indi> &amp; term =make_continue(parser, state, eval);</font></tt></b></td></tr></table><a NAME="output"></a><table BORDER=0 CELLSPACING=0 COLS=1 WIDTH="100%" BGCOLOR="#CCCCCC" NOSAVE ><tr><td><tt><font color="#3366FF"><b>&nbsp;</b> // output</font></tt><br><b><tt><font color="#3366FF">&nbsp;eoCheckPoint&lt;Indi> &amp; checkpoint= make_checkpoint(parser, state, eval, term);</font></tt></b></td></tr></table><a NAME="general"></a><table BORDER=0 CELLSPACING=0 COLS=1 WIDTH="100%" BGCOLOR="#CCCCCC" NOSAVE ><tr><td><tt><font color="#993300"><b>&nbsp;</b> // algorithm (need the operator!)</font></tt><br><b><tt><font color="#993300">&nbsp;eoAlgo&lt;Indi>&amp; ga = make_algo_scalar(parser,state, eval, checkpoint, op);</font></tt></b><br><tt><font color="#993300"><b>&nbsp;</b> ///// End of construction ofthe algorithm</font></tt><br><tt><font color="#993300"><b>&nbsp;</b> /////////////////////////////////////////</font></tt><br><tt><font color="#993300"><b>&nbsp;</b> // to be called AFTER all parametershave been read!!!</font></tt><br><b><tt><font color="#993300">&nbsp;make_help(parser);</font></tt></b><br><tt><font color="#993300"><b>&nbsp;</b> //// GO</font></tt><br><tt><font color="#993300"><b>&nbsp;</b> ///////</font></tt></td></tr></table><a NAME="eval"></a><table BORDER=0 CELLSPACING=0 COLS=1 WIDTH="100%" BGCOLOR="#CCCCCC" NOSAVE ><tr><td><tt><font color="#CC0000"><b>&nbsp;</b> // evaluate intial populationAFTER help and status in case it takes time</font></tt><br><b><tt><font color="#CC0000">&nbsp;apply&lt;Indi>(eval, pop);</font></tt></b><br><tt><font color="#CC0000"><b>&nbsp;</b> // if you want to print itout</font></tt><br><tt><font color="#CC0000">//&nbsp;&nbsp;&nbsp; cout &lt;&lt; "InitialPopulation\n";</font></tt><br><tt><font color="#CC0000">//&nbsp;&nbsp;&nbsp; pop.sortedPrintOn(cout);</font></tt><br><tt><font color="#CC0000">//&nbsp;&nbsp;&nbsp; cout &lt;&lt; endl;</font></tt></td></tr></table><a NAME="general"></a><table BORDER=0 CELLSPACING=0 COLS=1 WIDTH="100%" BGCOLOR="#CCCCCC" NOSAVE ><tr><td><tt><font color="#993300"><b>&nbsp;run_ea(ga, pop); </b>// run thega</font></tt><br><b><tt><font color="#993300">&nbsp;cout &lt;&lt; "Final Population\n";</font></tt></b><br><b><tt><font color="#993300">&nbsp;pop.sortedPrintOn(cout);</font></tt></b><br><b><tt><font color="#993300">&nbsp;cout &lt;&lt; endl;</font></tt></b><br><b><tt><font color="#993300">&nbsp;}</font></tt></b><br><b><tt><font color="#993300">&nbsp;catch(exception&amp; e)</font></tt></b><br><b><tt><font color="#993300">&nbsp;{</font></tt></b><br><b><tt><font color="#993300">&nbsp;&nbsp;&nbsp;&nbsp; cout &lt;&lt;e.what() &lt;&lt; endl;</font></tt></b><br><b><tt><font color="#993300">&nbsp;}</font></tt></b><br><b><tt><font color="#993300">&nbsp;return 0;</font></tt></b><br><b><tt><font color="#993300">}</font></tt></b></td></tr></table><hr WIDTH="100%"><a href="eoLesson5.html">Back to Lesson 5</a> - <a href="eoTutorial.html">Tutorialmain page </a>- <a href="eoTopDown.html">Top-Down page</a> - <a href="eoBottomUp.html">Bottom-uppage</a> - <a href="eoProgramming.html">Programming hints</a> - <font face="Arial,Helvetica"><a href="doc/html/index.html">EOdocumentation</a></font><hr><address><a href="mailto:marc.schoenauer@inria.fr">Marc Schoenauer</a></address><br><!-- Created: Nov 2000 --><!-- hhmts start -->Last modified: Sat May4 07:37:41 2002<!-- hhmts end --></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -