Scheduler
approximatedFunction.h
Go to the documentation of this file.
1 
10 #ifndef APPROXIMATED_FUNCTION_H
11 #define APPROXIMATED_FUNCTION_H
12 
13 #include <cstddef>
14 #include <vector>
15 
16 #include "actionValuesFunction.h"
17 
18 namespace Mdp
19 {
20 
21 struct Context;
22 
24 {
25 public:
26  ApproximatedFunction(size_t inputSize, size_t outputSize, size_t paramSize);
27  virtual std::vector<double> getParamVector();
28  virtual std::vector<double> getOutput(std::vector<double> input)=0;
29  virtual void learnExample(std::vector<double> input, std::vector<double> output)=0;
30  virtual void updateParameters(double coeff)=0;
31  virtual double getValue(state_t state, action_t action)=0;
32  virtual std::vector<double> getValues(state_t state)=0;
33  virtual void setAlpha(double alpha)=0;
34 protected:
35  size_t inputSize{0};
36  size_t outputSize{0};
37  size_t paramSize{0};
38  std::vector<double> params;
39 };
40 
41 }
42 
43 
44 #endif
virtual std::vector< double > getParamVector()
virtual std::vector< double > getOutput(std::vector< double > input)=0
size_t action_t
Definition: action_impl.h:18
ApproximatedFunction(size_t inputSize, size_t outputSize, size_t paramSize)
Definition: action.h:18
size_t state_t
Definition: state.h:19
virtual double getValue(state_t state, action_t action)=0
virtual std::vector< double > getValues(state_t state)=0
virtual void updateParameters(double coeff)=0
virtual void setAlpha(double alpha)=0
virtual void learnExample(std::vector< double > input, std::vector< double > output)=0
std::vector< double > params