Chromosome Class Reference

base class for chromosomes More...

#include <Chromosome.h>

Inheritance diagram for Chromosome:

ChromosomeT_base< T > ChromosomeT_base< bool > ChromosomeT< T > ChromosomeT_num< T > ChromosomeT_num< char > ChromosomeT_num< double > ChromosomeT_num< int > ChromosomeT< bool > ChromosomeT< char > ChromosomeT< double > ChromosomeT< int > ChromosomeCMA ChromosomeCMACholesky

List of all members.

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 Chromosomeoperator= (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 Chromosomeclone () const =0
virtual Chromosomeempty () 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)


Detailed Description

base class for chromosomes

Definition at line 78 of file Chromosome.h.


Member Typedef Documentation

typedef unsigned Chromosome::uint

Definition at line 231 of file Chromosome.h.


Constructor & Destructor Documentation

virtual Chromosome::~Chromosome (  )  [inline, virtual]

Definition at line 91 of file Chromosome.h.


Member Function Documentation

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]

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]

virtual Chromosome& Chromosome::operator= ( const Chromosome  )  [pure virtual]

bool Chromosome::operator== ( const Chromosome c  )  const [virtual]

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]

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 >, and ChromosomeT_base< bool >.

Referenced by sameType().

virtual void Chromosome::writeTo ( std::ostream &   )  const [protected, pure virtual]


Friends And Related Function Documentation

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.


The documentation for this class was generated from the following files: