00001 #ifndef SIGEL_GP_SIG_GPTOURNAMENT_H 00002 #define SIGEL_GP_SIG_GPTOURNAMENT_H 00003 00004 #include "SIGEL_Tools/SIG_Randomizer.h" 00005 #include "SIGEL_GP/SIG_GPFitnessTrainer.h" 00006 #include "SIGEL_GP/SIG_GPTournamentIndividual.h" 00007 #include "SIGEL_GP/SIG_GPPopulation.h" 00008 #include "SIGEL_GP/SIG_GPOperations.h" 00009 #include "SIGEL_GP/SIG_GPParameter.h" 00010 #include "SIGEL_Robot/SIG_LanguageParameters.h" 00011 00012 00013 #include <qvector.h> 00014 00015 namespace SIGEL_GP 00016 { 00017 00027 class SIG_GPTournament 00028 { 00033 public: 00034 SIGEL_Robot::SIG_LanguageParameters &languageP; 00035 00039 public: 00040 SIGEL_Tools::SIG_Randomizer& randomizer; 00041 00046 public: 00047 SIG_GPFitnessTrainer& trainer; 00048 00054 public: 00055 QVector<SIG_GPTournamentIndividual> indis; 00056 00061 public: 00062 bool justWaiting ; 00063 00068 public: 00069 int depNumber; 00070 00075 public: 00076 SIG_GPPopulation &gpPool; 00077 00082 public: 00083 SIG_GPParameter& gpParameter; 00084 00085 00099 public: 00100 SIG_GPTournament(SIGEL_Tools::SIG_Randomizer& randomizer, 00101 SIG_GPFitnessTrainer& trainer, 00102 SIG_GPPopulation& actPool, 00103 SIG_GPParameter& gpParameter, 00104 SIGEL_Robot::SIG_LanguageParameters &languageP); 00105 00114 public: 00115 virtual ~SIG_GPTournament(); 00116 00120 public: 00121 virtual bool run(); 00122 00123 protected: 00124 void inhume( SIG_GPIndividual &corps ); 00125 00126 }; 00127 00128 } 00129 #endif // SIGEL_GP_SIG_GPTOURNAMENT_H