📄 eolesson4.html
字号:
<br><font color="#000000">This argument is mandatory, and</font><font color="#FF0000">defaultis [-inf,+inf]</font><font color="#000000">, i.e. unbounded variables.</font><p><b><font color="#FF0000">Examples</font></b><font color="#000000">:</font><b><tt><font color="#CC33CC"><font size=+1>10[-1,1]</font></font></tt></b><font color="#000000">isequivalent to simply </font><b><tt><font color="#CC33CC"><font size=+1>[-1,1]</font></font></tt></b><font color="#000000">or to the extended </font><b><tt><font color="#CC33CC"><font size=+1>[-1,1][-1,1][-1,1][-1,1][-1,1][-1,1][-1,1][-1,1][-1,1][-1,1]</font></font></tt></b><font color="#000000">.</font><br><font color="#000000">And </font><b><tt><font color="#CC33CC"><font size=+1>[-1,1];2[0,1];[-inf,10]</font></font></tt></b>resultsin the first variable staying in [-1,1], the second and the third in [0,1]and all remaining variables below 10.<p><b><tt><font color="#CC33CC"><font size=+1># --operator=SGA # -o : Descriptionof the operator (SGA only now)</font></font></tt></b><br><font color="#FF0000">String parameter:</font><font color="#000000">Describes the way the operators are applied. At the moment, </font><b><font color="#FF6600">onlySGA</font></b><font color="#000000"> is available. SGA </font><b><font color="#FF6600">sequentially</font></b><font color="#000000">applies a (quadratic) crossover operator with probability </font><b><tt><font color="#CC33CC"><font size=+1>pCross</font></font></tt></b><font color="#000000">and a mutation operator with probability </font><b><tt><font color="#CC33CC"><font size=+1>pMut</font></font></tt></b><font color="#000000">.Both these operators can in turn be </font><b><font color="#FF6600">proportionalcombinations</font></b><font color="#000000"> of simple operators of thesame arity.</font><p><b><tt><font color="#CC33CC"><font size=+1># --pCross=0.6 # -C : Probabilityof Crossover</font></font></tt></b><br><font color="#FF0000">Floating-point parameter:</font><font color="#000000">The probability that a given couple of selected genitors is applied thecrossover operator. In SGA operator model, each couple of selected genitorsis applied the crossover operator with that probability (and remains unchangedwith probability </font><b><tt><font color="#CC33CC"><font size=+1>1-pCross</font></font></tt></b><font color="#000000">.Whenever a couple undergoes crossover, a choice is made upon availablecrossover operators </font><b><font color="#FF6600">proportionaly to theirrelative rates</font></b><font color="#000000"> (see below). </font><font color="#FF0000">Defaultis 0.6</font><font color="#000000">.</font><p><b><tt><font color="#CC33CC"><font size=+1># --pMut=0.1 # -M : Probabilityof Mutation</font></font></tt></b><br><font color="#FF0000">Floating-point parameter:</font><font color="#000000">The probability that a given individual (resulting from a crossover ora non-crossover operation, see above) is applied the mutation operator.Whenever an individual undergoes mutation, a choice is made upon availablemutation operators </font><b><font color="#FF6600">proportionaly to theirrelative rates</font></b><font color="#000000"> (see below). </font><font color="#FF0000">Defaultis 0.1</font><font color="#000000">.</font><p><b><tt><font color="#CC33CC"><font size=+1># --alpha=0 # -a : boundfor combination factor in real crossover</font></font></tt></b><br><font color="#FF0000">Floating-point parameter:</font><font color="#000000">Bound for the choices of linear combination factors in both crossover belows(similar to BLX-alpha notation). </font><font color="#FF0000">Default is0</font><font color="#000000"> (i.e. combination factor are chosen in [0,1]).</font><p><b><tt><font color="#CC33CC"><font size=+1># --segmentRate=1 # -s :Relative rate for segment crossover</font></font></tt></b><br><font color="#FF0000">Floating-point parameter:</font><font color="#000000">Rate of application of the segment crossover </font><b><font color="#FF6600">relatively</font></b><font color="#000000">to hypercube and uniform crossovers (see </font><b><tt><font color="#CC33CC"><font size=+1>pCross</font></font></tt></b><font color="#000000">parameter). Segment crossover generates offspring uniformly on the segmentjoining both parents, i.e. constructs two linear combinations of the parentswith a random number uniformly drawn in [</font><b><tt><font color="#CC33CC"><font size=+1>alpha</font></font></tt></b><font color="#000000">,1+</font><b><tt><font color="#CC33CC"><font size=+1>alpha</font></font></tt></b><font color="#000000">].</font><font color="#FF0000">Defaultis 1</font><font color="#000000">.</font><p><b><tt><font color="#CC33CC"><font size=+1># --hypercubeRate=1 # -A: Relative rate for hypercube crossover</font></font></tt></b><br><font color="#FF0000">Floating-point parameter:</font><font color="#000000">Rate of application of the hypercube crossover </font><b><font color="#FF6600">relatively</font></b><font color="#000000">to segment and uniform crossovers (see </font><b><tt><font color="#CC33CC"><font size=+1>pCross</font></font></tt></b><font color="#000000">parameter). Hypercube crossover generates offspring uniformly on the hypercubewhose diagonal is the segment joining both parents, i.e. by doing linearcombinations of each variable independently (a random number in [</font><b><tt><font color="#CC33CC"><font size=+1>alpha</font></font></tt></b><font color="#000000">,1+</font><b><tt><font color="#CC33CC"><font size=+1>alpha</font></font></tt></b><font color="#000000">]is drawn anew for each variable). </font><font color="#FF0000">Defaultis 1</font><font color="#000000">.</font><p><b><tt><font color="#CC33CC"><font size=+1># --uxoverRate=1 # -A : Relativerate for uniform crossover</font></font></tt></b><br><font color="#FF0000">Floating-point parameter:</font><font color="#000000">Rate of application of the segment crossover </font><b><font color="#FF6600">relatively</font></b><font color="#000000">to hypercube and segment crossovers (see </font><b><tt><font color="#CC33CC"><font size=+1>pCross</font></font></tt></b><font color="#000000">parameter). Uniform crossover simply exchanges values of variables, i.e.uniformly picks up two other summits of the hypercube defined by the parents.</font><font color="#FF0000">Defaultis 1</font><font color="#000000">.</font><p><b><tt><font color="#CC33CC"><font size=+1># --epsilon=0.01 # -e : Half-sizeof interval for Uniform Mutation</font></font></tt></b><br><font color="#FF0000">Floating-point parameter:</font><font color="#000000">The uniform and deterministic-uniform mutations will choose values of variableX uniformly in </font><b><tt><font size=+1><font color="#993300">[X-</font><font color="#CC33CC">epsilon</font><font color="#993300">,X+</font><font color="#CC33CC">epsilon</font><font color="#993300">]</font></font></tt></b><font color="#000000">.</font><font color="#FF0000">Defaultis 0.01</font><font color="#000000">.</font><p><b><tt><font color="#CC33CC"><font size=+1># --uniformMutRate=1 # -u: Relative rate for uniform mutation</font></font></tt></b><br><font color="#FF0000">Floating-point parameter:</font><font color="#000000">Rate of aplication of the uniform mutation </font><b><font color="#FF6600">relatively</font></b><font color="#000000">to determinitic uniform and the normal mutations (see </font><b><tt><font color="#CC33CC"><font size=+1>pMut</font></font></tt></b><font color="#000000">above). Uniform mutation modifies all variables by choosing new valuesuniformly on an interval centered on the old value of width </font><b><tt><font size=+1><font color="#993300">2*</font><font color="#CC33CC">epsilon</font></font></tt></b><font color="#000000">(see above). </font><font color="#FF0000">Default is1</font><font color="#000000">.</font><p><b><tt><font color="#CC33CC"><font size=+1># --detMutRate=1 # -d : Relativerate for deterministic uniform mutation</font></font></tt></b><br><font color="#FF0000">Floating-point parameter:</font><font color="#000000">Rate of aplication of the determinisitc-uniform mutation </font><b><font color="#FF6600">relatively</font></b><font color="#000000">to uniform and normal mutations (see </font><b><tt><font color="#CC33CC"><font size=+1>pMut</font></font></tt></b><font color="#000000">above). Deterministic-uniform mutation modifies one single variable uniformlybased on epsilon </font><b><tt><font color="#CC33CC"><font size=+1>epsilon</font></font></tt></b><font color="#000000">.</font><font color="#FF0000">Defaultis1</font><font color="#000000">.</font><p><b><tt><font color="#CC33CC"><font size=+1># --normalMutRate=1 # -d: Relative rate for Gaussian mutation</font></font></tt></b><br><font color="#FF0000">Floating-point parameter:</font><font color="#000000">Rate of aplication of the normal mutation </font><b><font color="#FF6600">relatively</font></b><font color="#000000">to two uniform mutations above (see </font><b><tt><font color="#CC33CC"><font size=+1>pMut</font></font></tt></b><font color="#000000">above). </font><font color="#FF0000">Default is1</font><font color="#000000">.</font><p><b><tt><font color="#CC33CC"><font size=+1># --sigma=0.3 # -s : Sigma(fixed) for Gaussian mutation</font></font></tt></b><br><font color="#FF0000">Floating-point parameter:</font><font color="#000000">The value of standard deviation for Gaussian mutation - fixed along evolution(see the Evolution Strategy program below for self-adaptive mutations).</font><p><hr ALIGN=LEFT SIZE=5 WIDTH="100%"><p><a NAME="ES"></a><b><font size=+1><font color="#000099">User's guide:</font><font color="#FF0000">ESwith self-adative mutation parameters</font></font></b><br>To run your own SA-ES application, write your fitness function(see <b><tt><font color="#993300" size=+1>real_value.h</font></font></tt></b>), recompile, and run from the command line <br><center><b><tt><font color="#993300" size=+1>ESEA @ESEA.param</font></tt></b></center><br>in order to use sensible parameters! (see <a href="eoLesson3.html#paraminput">Lesson 3</a> for details on the parameter file). <br><br>The following describes the specific parameters for program <b><tt><font color="#993300"><font size=+1>ESEA</font></font></tt></b>,that implements the full Evolution-Strategy self-adaptive mutation mechanism- together with specific ES crossover operators. The initialization sectionis the same as the one for plain vector<double> above, so only the opeartorsections will be described here. A new section is now concerned with decidingwhat kind of self-adaptive mutation strategy will be applied - it has beenseparated from the other variation operators because it has consequenceson the choice of the genotype.<br><b><font color="#FF6600">Warning</font></b>: if you choose not to useany self-adaptive mechanism (i.e. setting all parameters of this sectionto false) you end up with ... an algorithm that is identical to <b><tt><font color="#993300"><font size=+1>RealEA</font></font></tt></b>above (try it and take alook at the status file).<p><hr SIZE=5 WIDTH="30%"><p><b><font size=+1><font color="#FF0000">Section </font><tt><font color="#CC33CC">###### ES mutation ######</font></tt></font></b><br><font color="#000000">This section allows to decide which type of self-adaptivemutation will be used. There are three available types: isotropic mutation,using one standard deviation for each individual, that will be appliedto all variables; anisotropic mutation, where each individual carries asmany standard deviations as it has variables; and correlated mutation whereeach individuals has its own full correlation matrix.</font><p><b><tt><font color="#CC33CC"><font size=+1># --Isotropic=1 # -i : Isotropicself-adaptive mutation</font></font></tt></b><br><font color="#FF0000">Boolean parameter:</font><font color="#000000">If true, at least one self-adaptive parameter will be used for each individual.</font><font color="#FF0000">Defaultis true</font><font color="#000000">.</font><p><b><tt><font color="#CC33CC"><font size=+1># --Stdev=0 # -s : One self-adaptivestDev per variable</font></font></tt></b><br><font color="#FF0000">Boolean parameter:</font><font color="#000000">If true, at least one self-adaptive parameter per variable will be usedfor each individual. </font><font color="#FF0000">Default is false</font><font color="#000000">.</font><p><b><tt><font color="#CC33CC"><font size=+1># --Correl=0 # -c : Use correlatedmutations</font></font></tt></b><br><font color="#FF0000">Boolean parameter:</font><font color="#000000">If true, full correalted self-adaptive mutation will be used for each individual.</font><font color="#FF0000">Defaultis false</font><font color="#000000">.</font><p><b><font color="#FF6600">Note</font></b><font color="#000000">: Thedefault values result in an isotropic self-adaptive mutation to be chosen.</font><p><hr SIZE=5 WIDTH="30%"><p><b><font size=+1><font color="#FF0000">Section </font><tt><font color="#CC33CC">###### Variation Operators ######</font></tt></font></b><br><font color="#000000">Only the parameters that are specific to ESEAare presented here - the </font><b><tt><font color="#CC33CC"><font size=+1>objectBounds,operator,pCross</font></font></tt></b><font color="#000000">and </font><b><tt><font color="#CC33CC"><font size=+1>pMut</font></font></tt></b><font color="#000000">are exactly the same as for </font><b><tt><font color="#993300"><font size=+1>RealEA</font></font></tt></b><font color="#000000">above.</font><p><b><tt><font color="#CC33CC"><font size=+1># --crossType=global # -C: Type of ES recombination (global or standard)</font></font></tt></b><br><font color="#FF0000">String parameter:</font><font color="#000000"> Es crossover can involve only two parents - and it is then identical tothe </font><b><tt><font color="#CC33CC"><font size=+1>standard</font></font></tt></b><font color="#000000">hypercube crossover describe for the </font><b><tt><font color="#993300"><font size=+1>RealEA</font></font></tt></b><font color="#000000">parameters above. But new parents can also be chosen anew for each variablebefore doing the crossover for that variable - and this is called </font><b><tt><font color="#CC33CC"><font size=+1>global</font></font></tt></b><font color="#000000">recombination.</font><p><b><tt><font color="#CC33CC"><font size=+1># --crossObj=discrete # -O
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -