bitrl & cuberl Documentation
Simulation engine for reinforcement learning agents
Loading...
Searching...
No Matches
rl_algorithm_base.h
Go to the documentation of this file.
1#ifndef RL_ALGORITHM_BASE_H
2#define RL_ALGORITHM_BASE_H
3
6
7
8#include <boost/noncopyable.hpp>
9
10namespace cuberl{
11namespace rl::algos
12{
13
17 template<typename EnvType>
18 class RLSolverBase: private boost::noncopyable{
19
20 public:
21
22 typedef EnvType env_type;
23
27 virtual ~RLSolverBase()=default;
28
34
40
44 virtual void actions_before_episode_begins(env_type&, uint_t /*episode_idx*/){}
45
49 virtual void actions_after_episode_ends(env_type&, uint_t /*episode_idx*/, const EpisodeInfo& /*einfo*/){}
50
54 virtual EpisodeInfo on_training_episode(env_type&, uint_t /*episode_idx*/) = 0;
55
56 protected:
57
61 RLSolverBase()=default;
62
63 };
64
65}
66}
67
68#endif // RL_ALGORITHM_BASE_H
RLAlgoBase. Base class for RL algorithms.
Definition rl_algorithm_base.h:18
EnvType env_type
Definition rl_algorithm_base.h:22
RLSolverBase()=default
Constructor.
virtual void actions_before_episode_begins(env_type &, uint_t)
actions_before_training_episode
Definition rl_algorithm_base.h:44
virtual void actions_after_training_ends(env_type &)=0
actions_after_training_ends. Actions to execute after the training iterations have finisehd
virtual ~RLSolverBase()=default
Destructor.
virtual EpisodeInfo on_training_episode(env_type &, uint_t)=0
on_episode Do one on_episode of the algorithm
virtual void actions_after_episode_ends(env_type &, uint_t, const EpisodeInfo &)
actions_after_training_episode
Definition rl_algorithm_base.h:49
virtual void actions_before_training_begins(env_type &)=0
actions_before_training_begins. Execute any actions the algorithm needs before starting the iteration...
std::size_t uint_t
uint_t
Definition bitrl_types.h:43
Various utilities used when working with RL problems.
Definition cuberl_types.h:16
The EpisodeInfo struct.
Definition episode_info.h:19