base class for chromosomes More...
#include <Chromosome.h>
Public Types | |
| typedef unsigned | uint |
Public Member Functions | |
| bool | sameType (const Chromosome &c) const |
| virtual | ~Chromosome () |
| virtual const char * | typeOfAlleles () const =0 |
| virtual unsigned | size () const =0 |
| virtual Chromosome & | operator= (const Chromosome &)=0 |
| virtual unsigned | sizeOfAlleles () const =0 |
| virtual void | resize (unsigned n)=0 |
| virtual void | duplicate (unsigned start, unsigned stop, unsigned dest)=0 |
| virtual void | invert (unsigned start, unsigned stop, unsigned granularity=1)=0 |
| virtual void | transcribe (unsigned start, unsigned stop, const Chromosome &chrom)=0 |
| virtual void | swap (unsigned i, unsigned j)=0 |
| virtual void | shuffle ()=0 |
| virtual void | replace (unsigned i, const Chromosome &chrom)=0 |
| virtual void | insert (unsigned i, const Chromosome &chrom)=0 |
| virtual void | append (const Chromosome &chrom)=0 |
| virtual void | remove (unsigned i)=0 |
| virtual void | remove (unsigned from, unsigned to)=0 |
| virtual void | rotateRight (unsigned n=1)=0 |
| virtual void | rotateLeft (unsigned n=1)=0 |
| virtual void | crossover (const Chromosome &dad, const Chromosome &mom, const std::vector< unsigned > &points)=0 |
| virtual void | crossover (Chromosome &mate, const std::vector< unsigned > &points)=0 |
| virtual void | crossover (const Chromosome &dad, const Chromosome &mom, const std::vector< bool > &pos)=0 |
| virtual void | crossover (Chromosome &mate, const std::vector< bool > &pos)=0 |
| virtual void | crossover (const Chromosome &dad, const Chromosome &mom, unsigned npoints, unsigned align=1, bool chromswap=0)=0 |
| virtual void | crossover (Chromosome &mate, unsigned npoints, unsigned align=1, bool chromswap=0)=0 |
| virtual void | crossover (const Chromosome &dad, const Chromosome &mom, const Chromosome &pos)=0 |
| virtual void | crossover (Chromosome &mate, const Chromosome &pos)=0 |
| virtual void | crossoverUniform (const Chromosome &dad, const Chromosome &mom, const std::vector< bool > &pos)=0 |
| virtual void | crossoverUniform (Chromosome &mate, const std::vector< bool > &pos)=0 |
| virtual void | crossoverUniform (const Chromosome &dad, const Chromosome &mom)=0 |
| virtual void | crossoverUniform (Chromosome &mate)=0 |
| virtual void | crossoverUniform (const Chromosome &dad, const Chromosome &mom, const Chromosome &pos)=0 |
| virtual void | recombineDiscrete (const Chromosome &dad, const Chromosome &mom)=0 |
| virtual void | recombineDiscrete (Chromosome &mate)=0 |
| virtual bool | operator< (const Chromosome &c) const |
| virtual bool | operator== (const Chromosome &c) const |
| virtual void | init () |
| virtual void | init (const char *filename) |
| virtual void | mutate () |
| virtual void | appendToIndividual (Individual &i) |
| virtual int | pvm_pkchrom () |
| virtual int | pvm_upkchrom () |
Protected Member Functions | |
| virtual Chromosome * | clone () const =0 |
| virtual Chromosome * | empty () const =0 |
| virtual void | writeTo (std::ostream &) const =0 |
| virtual void | readFrom (std::istream &)=0 |
Friends | |
| class | Individual |
| class | Population |
| class | IndividualMOO |
| class | PopulationMOO |
| std::istream & | operator>> (std::istream &is, Chromosome &c) |
| std::ostream & | operator<< (std::ostream &os, const Chromosome &c) |
base class for chromosomes
Definition at line 78 of file Chromosome.h.
| typedef unsigned Chromosome::uint |
Definition at line 231 of file Chromosome.h.
| virtual Chromosome::~Chromosome | ( | ) | [inline, virtual] |
Definition at line 91 of file Chromosome.h.
| virtual void Chromosome::append | ( | const Chromosome & | chrom | ) | [pure virtual] |
| void Chromosome::appendToIndividual | ( | Individual & | i | ) | [virtual] |
Shall define a convention for the order of different Chromosomes located on the same Individual and appends all such Chromosomes to the Inividual. This method might be called only once per Individual by the 'core' Chromosome that also appends Chromosomes, e.g., of genes dedicated to selfadaptation.
Definition at line 75 of file Chromosome.cpp.
| virtual Chromosome* Chromosome::clone | ( | ) | const [protected, pure virtual] |
Implemented in ChromosomeCMA, ChromosomeCMACholesky, ChromosomeT_base< T >, ChromosomeT< T >, ChromosomeT< double >, ChromosomeT< char >, ChromosomeT< int >, ChromosomeT< bool >, ChromosomeT_base< double >, ChromosomeT_base< int >, ChromosomeT_base< char >, and ChromosomeT_base< bool >.
Referenced by Individual::append(), Individual::Individual(), Individual::insert(), and Individual::replace().
| virtual void Chromosome::crossover | ( | Chromosome & | mate, | |
| const Chromosome & | pos | |||
| ) | [pure virtual] |
| virtual void Chromosome::crossover | ( | const Chromosome & | dad, | |
| const Chromosome & | mom, | |||
| const Chromosome & | pos | |||
| ) | [pure virtual] |
| virtual void Chromosome::crossover | ( | Chromosome & | mate, | |
| unsigned | npoints, | |||
| unsigned | align = 1, |
|||
| bool | chromswap = 0 | |||
| ) | [pure virtual] |
| virtual void Chromosome::crossover | ( | const Chromosome & | dad, | |
| const Chromosome & | mom, | |||
| unsigned | npoints, | |||
| unsigned | align = 1, |
|||
| bool | chromswap = 0 | |||
| ) | [pure virtual] |
| virtual void Chromosome::crossover | ( | Chromosome & | mate, | |
| const std::vector< bool > & | pos | |||
| ) | [pure virtual] |
| virtual void Chromosome::crossover | ( | const Chromosome & | dad, | |
| const Chromosome & | mom, | |||
| const std::vector< bool > & | pos | |||
| ) | [pure virtual] |
| virtual void Chromosome::crossover | ( | Chromosome & | mate, | |
| const std::vector< unsigned > & | points | |||
| ) | [pure virtual] |
| virtual void Chromosome::crossover | ( | const Chromosome & | dad, | |
| const Chromosome & | mom, | |||
| const std::vector< unsigned > & | points | |||
| ) | [pure virtual] |
| virtual void Chromosome::crossoverUniform | ( | const Chromosome & | dad, | |
| const Chromosome & | mom, | |||
| const Chromosome & | pos | |||
| ) | [pure virtual] |
| virtual void Chromosome::crossoverUniform | ( | Chromosome & | mate | ) | [pure virtual] |
| virtual void Chromosome::crossoverUniform | ( | const Chromosome & | dad, | |
| const Chromosome & | mom | |||
| ) | [pure virtual] |
| virtual void Chromosome::crossoverUniform | ( | Chromosome & | mate, | |
| const std::vector< bool > & | pos | |||
| ) | [pure virtual] |
| virtual void Chromosome::crossoverUniform | ( | const Chromosome & | dad, | |
| const Chromosome & | mom, | |||
| const std::vector< bool > & | pos | |||
| ) | [pure virtual] |
| virtual void Chromosome::duplicate | ( | unsigned | start, | |
| unsigned | stop, | |||
| unsigned | dest | |||
| ) | [pure virtual] |
| virtual Chromosome* Chromosome::empty | ( | ) | const [protected, pure virtual] |
| void Chromosome::init | ( | const char * | filename | ) | [virtual] |
Chromosomes externally defined from the EALib shall 'know' how to initialize themselves by files.
Definition at line 68 of file Chromosome.cpp.
| void Chromosome::init | ( | ) | [virtual] |
Chromosomes externally defined from the EALib shall'know' how to initialize themselves.
inteface methods for more externally from the EALib defined chromosomes
Definition at line 66 of file Chromosome.cpp.
Referenced by ChromosomeCMACholesky::init(), and ChromosomeCMA::init().
| virtual void Chromosome::insert | ( | unsigned | i, | |
| const Chromosome & | chrom | |||
| ) | [pure virtual] |
| virtual void Chromosome::invert | ( | unsigned | start, | |
| unsigned | stop, | |||
| unsigned | granularity = 1 | |||
| ) | [pure virtual] |
| void Chromosome::mutate | ( | ) | [virtual] |
Chromosomes externally defined from the EALib shall 'know' how to mutate themselves.
Reimplemented in ChromosomeCMA, and ChromosomeCMACholesky.
Definition at line 70 of file Chromosome.cpp.
| bool Chromosome::operator< | ( | const Chromosome & | c | ) | const [virtual] |
Definition at line 52 of file Chromosome.cpp.
| virtual Chromosome& Chromosome::operator= | ( | const Chromosome & | ) | [pure virtual] |
| bool Chromosome::operator== | ( | const Chromosome & | c | ) | const [virtual] |
Definition at line 46 of file Chromosome.cpp.
| int Chromosome::pvm_pkchrom | ( | ) | [virtual] |
Part of PVM-send routine for all kinds of Chromosomes
PVM routines
Reimplemented in ChromosomeCMA, ChromosomeT< double >, ChromosomeT< char >, ChromosomeT< int >, and ChromosomeT< bool >.
Definition at line 79 of file Chromosome.cpp.
| int Chromosome::pvm_upkchrom | ( | ) | [virtual] |
Part of PVM-receive routine for all kinds of Chromosomes
Reimplemented in ChromosomeCMA, ChromosomeT< double >, ChromosomeT< char >, ChromosomeT< int >, and ChromosomeT< bool >.
Definition at line 84 of file Chromosome.cpp.
| virtual void Chromosome::readFrom | ( | std::istream & | ) | [protected, pure virtual] |
| virtual void Chromosome::recombineDiscrete | ( | Chromosome & | mate | ) | [pure virtual] |
| virtual void Chromosome::recombineDiscrete | ( | const Chromosome & | dad, | |
| const Chromosome & | mom | |||
| ) | [pure virtual] |
| virtual void Chromosome::remove | ( | unsigned | from, | |
| unsigned | to | |||
| ) | [pure virtual] |
| virtual void Chromosome::remove | ( | unsigned | i | ) | [pure virtual] |
| virtual void Chromosome::replace | ( | unsigned | i, | |
| const Chromosome & | chrom | |||
| ) | [pure virtual] |
| virtual void Chromosome::resize | ( | unsigned | n | ) | [pure virtual] |
| virtual void Chromosome::rotateLeft | ( | unsigned | n = 1 |
) | [pure virtual] |
| virtual void Chromosome::rotateRight | ( | unsigned | n = 1 |
) | [pure virtual] |
| bool Chromosome::sameType | ( | const Chromosome & | c | ) | const [inline] |
Definition at line 86 of file Chromosome.h.
References typeOfAlleles().
| virtual void Chromosome::shuffle | ( | ) | [pure virtual] |
| virtual unsigned Chromosome::size | ( | ) | const [pure virtual] |
Implemented in ChromosomeT_base< T >, ChromosomeT_base< double >, ChromosomeT_base< int >, ChromosomeT_base< char >, and ChromosomeT_base< bool >.
Referenced by ChromosomeT_base< bool >::crossover(), ChromosomeT_base< bool >::crossoverUniform(), ChromosomeT_num< char >::cutOff(), ChromosomeT< double >::decodeBinary(), ChromosomeT_num< char >::mutateUniform(), ChromosomeT< double >::recombineGenIntermediate(), ChromosomeT< double >::recombineGeomIntermediate(), and ChromosomeT< double >::recombineIntermediate().
| virtual unsigned Chromosome::sizeOfAlleles | ( | ) | const [pure virtual] |
| virtual void Chromosome::swap | ( | unsigned | i, | |
| unsigned | j | |||
| ) | [pure virtual] |
| virtual void Chromosome::transcribe | ( | unsigned | start, | |
| unsigned | stop, | |||
| const Chromosome & | chrom | |||
| ) | [pure virtual] |
| virtual const char* Chromosome::typeOfAlleles | ( | ) | const [pure virtual] |
Implemented in ChromosomeT_base< T >, ChromosomeT_base< double >, ChromosomeT_base< int >, ChromosomeT_base< char >, and ChromosomeT_base< bool >.
Referenced by sameType().
| virtual void Chromosome::writeTo | ( | std::ostream & | ) | const [protected, pure virtual] |
friend class Individual [friend] |
Definition at line 80 of file Chromosome.h.
friend class IndividualMOO [friend] |
Definition at line 82 of file Chromosome.h.
| std::ostream& operator<< | ( | std::ostream & | os, | |
| const Chromosome & | c | |||
| ) | [friend] |
Definition at line 281 of file Chromosome.h.
| std::istream& operator>> | ( | std::istream & | is, | |
| Chromosome & | c | |||
| ) | [friend] |
Definition at line 274 of file Chromosome.h.
friend class Population [friend] |
Definition at line 81 of file Chromosome.h.
friend class PopulationMOO [friend] |
Definition at line 83 of file Chromosome.h.