EvolvingObjects
|
in EO, an operator is any functors that modifies objects and inherits from an eoOp. More...
Classes | |
class | eoOp< EOType > |
Abstract data types for EO operators. More... | |
class | eoMonOp< EOType > |
eoMonOp is the monary operator: genetic operator that takes only one EO. More... | |
class | eoBinOp< EOType > |
Binary genetic operator: subclasses eoOp, and defines basically the operator() with two operands, only the first one can be modified When defining your own, make sure that you return a boolean value indicating that you have changed the content. More... | |
class | eoQuadOp< EOType > |
Quad genetic operator: subclasses eoOp, and defines basically the operator() with two operands, both can be modified. More... | |
class | eoQuad2BinOp< EOT > |
Turning an eoQuadOp into an eoBinOp: simply don't touch the second arg! More... | |
Modules | |
Evaluation | |
Initialization operators | |
Initializators are operators that creates initial individuals and populations. | |
Variation operators | |
Variators are operators that modify individuals. | |
Selection operators | |
Selectors are operators that select a subset of a population. | |
Replacement operators | |
Replacors are operators that replace a subset of a population by another set of individuals. |
in EO, an operator is any functors that modifies objects and inherits from an eoOp.
Typically, a mutation is an operator that modifies an individual, and an algorithm is an operator that modifies a population.
In EO, there is a genetic operator hierarchy, with eoOp as father and eoMonOp (monary or unary operator), eoBinOp and eoQuadOp (binary operators) and eoGenOp (any number of inputs and outputs, see eoGenOp.h) as subclasses. Nobody should subclass eoOp, you should subclass eoGenOp, eoBinOp, eoQuadOp or eoMonOp, those are the ones actually used here.
#eoOp#s are only printable objects, so if you want to build them from a file, it has to be done in another class, namely factories. Each hierarchy of #eoOp#s should have its own factory, which know how to build them from a description in a file.