Scheduler
qLearning.h
Go to the documentation of this file.
1 
10 #ifndef Q_LEARNING_H
11 #define Q_LEARNING_H
12 
13 #include <utils/configuration.h>
15 #include "rlBackupAlgorithm.h"
16 
17 
18 
19 namespace Mdp
20 {
21 struct Context;
22 
24 {
25 public:
26  static constexpr const char *configKey = "QLearning";
27 public:
28  QLearning(std::shared_ptr<Context> context, TabularActionValues *actionValues);
29  void init() override;
30  void updateActionValues(state_t previousState,
31  state_t nextState,
32  action_t previousAction,
33  double reward) override;
34  void end() override;
35 private:
36  TabularActionValues *tabularAv{nullptr};
37  double discountFactor{0.5};
38 
39 };
40 
41 }
42 #endif
void end() override
Definition: qLearning.cpp:40
static constexpr const char * configKey
Definition: qLearning.h:26
void init() override
Definition: qLearning.cpp:29
size_t action_t
Definition: action_impl.h:18
Definition: action.h:18
void updateActionValues(state_t previousState, state_t nextState, action_t previousAction, double reward) override
Definition: qLearning.cpp:46
size_t state_t
Definition: state.h:19
std::shared_ptr< Context > context
ActionValuesFunction * actionValues
Definition: reward.py:1
QLearning(std::shared_ptr< Context > context, TabularActionValues *actionValues)
Definition: qLearning.cpp:23