00001 #ifndef ENVIRONMENT_H
00002 #define ENVIRONMENT_H
00003
00004
00005
00006
00007
00012 class Environment : public EvaluateOp {
00013
00014 protected:
00015 StateP state;
00016
00017 public:
00018 virtual GenotypeP getInput() = 0;
00019
00020
00021
00022
00023
00024 virtual bool initialize() =0;
00025
00026
00027
00028 virtual bool nextTrial() = 0;
00029
00030
00031 virtual bool reset() = 0;
00032
00033 virtual bool isOver() { return true; };
00034
00035
00036
00037
00038
00039 virtual FitnessP evaluate (IndividualP ind) =0;
00040
00041
00042
00043
00044 virtual bool isExploit() { return false; };
00045
00046
00047 bool checkState(const StateP state) { return true; };
00048
00049 };
00050 typedef boost::shared_ptr<Environment> EnvironmentP;
00051
00052 #endif