Languages

You are here

Evolutionary algorithm of "dummies"

Evolutionary algorithm is based on selection, crossing over and mutation. We also have to code solution in genotype properly. This section contains description of methods used in presented program.

Solution coding

In case of our exemplary problem coding is very simple: all coordinates, angles and radiuses are stored as integer variables.

Crossing over

Operator used for crossing over receives values from equivalent variables of both parents (i.e. abscissaes of left palm, corpse horizontal radiuses) and counts their arithmetic mean. This value becomes a value of suitable descendant's variable.

Mutation

Only dummies that belong to descendants are liable to mutation. Mutation for each genotype's variable of given dummy draws if mute this variable (with probability of success equal to parameter "Variable mutation probability". If not it considers next variable, if yes it adds or subtracts random value from interval which is equal 50% of variable's variability range. Value of this distortion is drawn with normal distribution, so little steps could happen more often than radical changes.

Selection

Program uses selection that is based on roulette mechanism. It's name is taken from possible visual interpretation: each population's individual is assigned a segment on roulette's wheel which is proportional to its resemble and then the roulette is spun as many times as many new individuals is required in new population. Better resembled individuals have greater chance to be chosen. Control upon this mechanism gives parameter called "Selection pressure". It's used to transform original dummies evaluations to representation in which estimation of the best resembled dummy to estimation of the "average" dummy ratio is equal to this parameter. Thanks to that we can determine that the best dummy should have i.e. two times greater chance for being chosen to new population then average one (if its estimation function is two times better it will have two times more chances for being drawn during roulette's spin). Large value of selective stress leads too fast to the unification of population, too small value causes disappearance of better resembled dummies preference property. Influence of control parameters on operation of mechanisms listed above for effectiveness of EA can be easily noticed while "playing" their values in attached program.