![]() |
ECF 1.7
|
#include <Genotype.h>
Public Member Functions | |
| virtual bool | initialize (StateP state)=0 |
| Initialize a genotype object (read parameters, perform sanity check, build data). | |
| virtual Genotype * | copy ()=0 |
| Create an identical copy of the genotype object. | |
| virtual std::vector< CrossoverOpP > | getCrossoverOp () |
| Create and return a vector of crossover operators. | |
| virtual std::vector< MutationOpP > | getMutationOp () |
| Create and return a vector of mutation operators. | |
| virtual void | registerParameters (StateP) |
| Register genotype's parameters (called before Genotype::initialize). | |
| bool | registerParameter (StateP state, std::string name, voidP value, enum ECF::type T, std::string description="") |
| Register a single parameter. | |
| voidP | getParameterValue (StateP state, std::string name) |
| Read single parameter value from Registry. | |
| bool | setParameterValue (StateP state, std::string name, voidP value) |
| Write single parameter value to Registry. | |
| bool | isParameterDefined (StateP state, std::string name) |
| Check if parameter is defined in the configuration. | |
| virtual void | read (XMLNode &)=0 |
| Read genotype data from XMLNode. | |
| virtual void | write (XMLNode &)=0 |
| Write genotype data to XMLNode. | |
| virtual uint | getGenomeSize () |
| std::string | getName () |
| Return genotype's name (each genotype is uniquely identified with its name). | |
| uint | getGenotypeId () |
| Return this genotype's index in individual structure. | |
| void | setGenotypeId (uint id) |
| Set genotype index in an individual. | |
| std::string | toString () |
| Output genotype to string. | |
Protected Attributes | |
| std::string | name_ |
| genotype's name | |
| uint | genotypeId_ |
| this genotype's unique index in individual structure | |
Genotype base class.
All Genotypes must inherit this one. Each individual contains a vector of Genotype objects. Each Genotype is an independent object with independent parameters.
Each Genotype class must provide its CrossoverOp and MutationOp operator classes!
A genotype instance becomes active if:
Definition at line 35 of file Genotype.h.
|
inline |
Definition at line 40 of file Genotype.h.
|
inlinevirtual |
Definition at line 42 of file Genotype.h.
|
pure virtual |
Create an identical copy of the genotype object.
Implemented in Binary::Binary, BitString::BitString, Cartesian::Cartesian, Cartesian::Cartesian, ClassifierParams, FloatingPoint::FloatingPoint, GEP::GEPChromosome, IntGenotype::IntGenotype, Permutation::Permutation, Tree::APGenotype, and Tree::Tree.
|
inlinevirtual |
Create and return a vector of crossover operators.
Reimplemented in Binary::Binary, BitString::BitString, Cartesian::Cartesian, Cartesian::Cartesian, ClassifierParams, FloatingPoint::FloatingPoint, GEP::GEPChromosome, IntGenotype::IntGenotype, Permutation::Permutation, Tree::APGenotype, and Tree::Tree.
Definition at line 52 of file Genotype.h.
|
inlinevirtual |
Reimplemented in Cartesian::Cartesian, and Cartesian::Cartesian.
Definition at line 82 of file Genotype.h.
|
inline |
Return this genotype's index in individual structure.
Definition at line 90 of file Genotype.h.
|
inlinevirtual |
Create and return a vector of mutation operators.
Reimplemented in Binary::Binary, BitString::BitString, Cartesian::Cartesian, Cartesian::Cartesian, ClassifierParams, FloatingPoint::FloatingPoint, GEP::GEPChromosome, IntGenotype::IntGenotype, Permutation::Permutation, Tree::APGenotype, and Tree::Tree.
Definition at line 59 of file Genotype.h.
|
inline |
Return genotype's name (each genotype is uniquely identified with its name).
Definition at line 86 of file Genotype.h.
| voidP Genotype::getParameterValue | ( | StateP | state, |
| std::string | name ) |
Read single parameter value from Registry.
Definition at line 10 of file Genotype.cpp.
|
pure virtual |
Initialize a genotype object (read parameters, perform sanity check, build data).
Implemented in Binary::Binary, BitString::BitString, Cartesian::Cartesian, Cartesian::Cartesian, ClassifierParams, FloatingPoint::FloatingPoint, GEP::GEPChromosome, IntGenotype::IntGenotype, Permutation::Permutation, Tree::APGenotype, and Tree::Tree.
| bool Genotype::isParameterDefined | ( | StateP | state, |
| std::string | name ) |
Check if parameter is defined in the configuration.
Definition at line 22 of file Genotype.cpp.
|
pure virtual |
Read genotype data from XMLNode.
Implemented in Binary::Binary, BitString::BitString, Cartesian::Cartesian, Cartesian::Cartesian, ClassifierParams, FloatingPoint::FloatingPoint, GEP::GEPChromosome, IntGenotype::IntGenotype, Permutation::Permutation, Tree::APGenotype, and Tree::Tree.
| bool Genotype::registerParameter | ( | StateP | state, |
| std::string | name, | ||
| voidP | value, | ||
| enum ECF::type | T, | ||
| std::string | description = "" ) |
Register a single parameter.
Definition at line 4 of file Genotype.cpp.
|
inlinevirtual |
Register genotype's parameters (called before Genotype::initialize).
Reimplemented in Binary::Binary, BitString::BitString, Cartesian::Cartesian, Cartesian::Cartesian, ClassifierParams, FloatingPoint::FloatingPoint, GEP::GEPChromosome, IntGenotype::IntGenotype, Permutation::Permutation, Tree::APGenotype, and Tree::Tree.
Definition at line 66 of file Genotype.h.
|
inline |
Set genotype index in an individual.
Definition at line 94 of file Genotype.h.
| bool Genotype::setParameterValue | ( | StateP | state, |
| std::string | name, | ||
| voidP | value ) |
Write single parameter value to Registry.
Definition at line 16 of file Genotype.cpp.
|
inline |
Output genotype to string.
Definition at line 98 of file Genotype.h.
|
pure virtual |
Write genotype data to XMLNode.
Implemented in Binary::Binary, BitString::BitString, Cartesian::Cartesian, Cartesian::Cartesian, ClassifierParams, FloatingPoint::FloatingPoint, GEP::GEPChromosome, IntGenotype::IntGenotype, Permutation::Permutation, Tree::APGenotype, and Tree::Tree.
|
protected |
this genotype's unique index in individual structure
Definition at line 110 of file Genotype.h.
|
protected |
genotype's name
Definition at line 109 of file Genotype.h.