Individual.h

Go to the documentation of this file.
00001 
00006 #ifndef GENETIK_GP_ST_INDIVIDUAL
00007 #define GENETIK_GP_ST_INDIVIDUAL
00008 
00009 /*Inlcue the standard GenetiK::Individual*/
00010 #include "../Individual.h"
00011 
00012 #include <list>
00013 
00014 using namespace std;
00015 namespace genetiK
00016 {
00017 namespace gp
00018 {
00019 namespace st
00020 {
00021 
00027 typedef unsigned char GeneType;
00028 class IndividualFactory;
00029 class Gene;
00030 
00039 class Individual : public gp::Individual
00040 {
00041 protected:
00042 public:
00048         Individual(IndividualFactory* individualFactory);
00049         
00055         Individual(const Individual& individual);
00058         virtual ~Individual(void);
00059         
00065         virtual double                                                  fitness()=0;
00066         
00073         virtual genetiK::Individual*                                    copy()const=0;
00083         virtual int                                                     mutate(const double mutationProbabilty);
00084 
00094         virtual int                                                     crossOver(genetiK::Individual* i,genetiK::Individual** child1,genetiK::Individual** child2);
00100         virtual list<Gene*>                                             extractListByType(GeneType geneType);
00101 };
00102 
00103 }
00104 }
00105 }
00106 
00107 #endif

Generated on Thu Feb 23 12:20:44 2006 for GenetiK by  doxygen 1.4.6