EvolvingObjects
eoVlUniformQuadOp< EOT > Class Template Reference

Direct Uniform Exchange of genes (obsolete, already :-) stays there for historical reasons. More...

#include <eoVariableLengthCrossover.h>

Inheritance diagram for eoVlUniformQuadOp< EOT >:
eoQuadOp< EOT > eoOp< EOT > eoBF< EOT &, EOT &, bool > eoFunctorBase binary_function

List of all members.

Public Types

typedef EOT::AtomType AtomType

Public Member Functions

 eoVlUniformQuadOp (unsigned _Min, unsigned _Max, double _rate=0.5)
bool operator() (EOT &_eo1, EOT &_eo2)
 The pure virtual function that needs to be implemented by the subclass.

Private Attributes

unsigned Min
unsigned Max
double rate

Detailed Description

template<class EOT>
class eoVlUniformQuadOp< EOT >

Direct Uniform Exchange of genes (obsolete, already :-) stays there for historical reasons.

A very primitive version, that does no verification at all!!! NEEDS to be improved - but no time now :-((( Especially, if both guys have maximal size, it will take a lot of time to generate 2 offspring that both are not oversized!!! Also, we should first check for identical atoms, and copy them to the offspring, and only after that exchange the other ones (Radcliffe's RRR).

Definition at line 223 of file eoVariableLengthCrossover.h.


Member Function Documentation

template<class EOT >
bool eoVlUniformQuadOp< EOT >::operator() ( EOT &  ,
EOT &   
) [inline, virtual]

The pure virtual function that needs to be implemented by the subclass.

Todo:
FIXME bad hardcoded limit, should use an algorithm that guarantee a correct size in a finite number of tries

Implements eoBF< EOT &, EOT &, bool >.

Definition at line 233 of file eoVariableLengthCrossover.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Friends