OpenANN  1.1.0
An open source library for artificial neural networks.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Environment.h
Go to the documentation of this file.
1 #ifndef OPENANN_RL_ENVIRONMENT_H_
2 #define OPENANN_RL_ENVIRONMENT_H_
3 
6 #include <Eigen/Core>
7 
8 namespace OpenANN
9 {
10 
16 class Environment : public StateSpace, public ActionSpace
17 {
18 public:
19  virtual ~Environment() {}
23  virtual void restart() = 0;
28  virtual const State& getState() const = 0;
33  virtual const Action& getAction() const = 0;
38  virtual void stateTransition(const Action& action) = 0;
43  virtual double reward() const = 0;
48  virtual bool terminalState() const = 0;
53  virtual bool successful() const = 0;
57  virtual int stepsInEpisode() const = 0;
61  virtual double deltaT() const { return 1.0; }
62 };
63 
64 } // namespace OpenANN
65 
66 #endif // OPENANN_RL_ENVIRONMENT_H_