Go to the documentation of this file.00001 #ifndef _DISCAGENT_HH_
00002 #define _DISCAGENT_HH_
00003
00004 #include <rl_common/Random.h>
00005 #include <rl_common/core.hh>
00006
00007 #include <vector>
00008
00009
00010 class DiscretizationAgent: public Agent {
00011 public:
00012
00013 DiscretizationAgent(int statesPerDim, Agent* a,
00014 std::vector<float> featmin, std::vector<float> featmax,
00015 bool d);
00016 DiscretizationAgent(std::vector<int> statesPerDim, Agent* a,
00017 std::vector<float> featmin, std::vector<float> featmax,
00018 bool d);
00019 ~DiscretizationAgent();
00020
00021 void initEverything(Agent* a, std::vector<float> fmin,
00022 std::vector<float> fmax, bool d);
00023 virtual int first_action(const std::vector<float> &s);
00024 virtual int next_action(float r, const std::vector<float> &s);
00025 virtual void last_action(float r);
00026 virtual void setDebug(bool b);
00027 virtual void seedExp(std::vector<experience> seeds);
00028 virtual void savePolicy(const char* filename);
00029
00030
00031 std::vector<float> discretizeState(const std::vector<float> &s);
00032 std::vector<int> statesPerDim;
00033 Agent* agent;
00034 std::vector<float> featmin;
00035 std::vector<float> featmax;
00036 bool DEBUG;
00037
00038 };
00039
00040 #endif