GEGELATI
learningEnvironment.h
1
36#ifndef LEARNING_ENVIRONMENT_H
37#define LEARNING_ENVIRONMENT_H
38
39#include "data/dataHandler.h"
40#include <cstdint>
41#include <vector>
42
43namespace Learn {
44
57 enum class LearningMode
58 {
59 TRAINING,
60 VALIDATION,
61 TESTING
62 };
63
80 {
81 protected:
84 const uint64_t nbActions;
85
88
89 public:
94
96 virtual ~LearningEnvironment() = default;
97
104 LearningEnvironment(uint64_t nbAct) : nbActions{nbAct} {};
105
114 virtual LearningEnvironment* clone() const;
115
123 virtual bool isCopyable() const;
124
131 uint64_t getNbActions() const
132 {
133 return this->nbActions;
134 };
135
150 virtual void doAction(uint64_t actionID);
151
168 virtual void reset(size_t seed = 0,
169 LearningMode mode = LearningMode::TRAINING) = 0;
170
186 virtual std::vector<std::reference_wrapper<const Data::DataHandler>>
188
197 virtual double getScore() const = 0;
198
213 virtual bool isTerminal() const = 0;
214 };
215}; // namespace Learn
216
217#endif
Interface for creating a Learning Environment.
Definition: learningEnvironment.h:80
virtual bool isCopyable() const
Can the LearningEnvironment be copy constructed to evaluate several LearningAgent in parallel.
Definition: learningEnvironment.cpp:45
LearningEnvironment()=delete
Delete the default constructor of a LearningEnvironment.
const uint64_t nbActions
Definition: learningEnvironment.h:84
virtual std::vector< std::reference_wrapper< const Data::DataHandler > > getDataSources()=0
Get the data sources for this LearningEnvironment.
virtual void reset(size_t seed=0, LearningMode mode=LearningMode::TRAINING)=0
Reset the LearningEnvironment.
LearningEnvironment(const LearningEnvironment &other)=default
Make the default copy constructor protected.
virtual bool isTerminal() const =0
Method for checking if the LearningEnvironment has reached a terminal state.
LearningEnvironment(uint64_t nbAct)
Constructor for LearningEnviroment.
Definition: learningEnvironment.h:104
virtual void doAction(uint64_t actionID)
Execute an action on the LearningEnvironment.
Definition: learningEnvironment.cpp:50
uint64_t getNbActions() const
Get the number of actions available for this LearningEnvironment.
Definition: learningEnvironment.h:131
virtual double getScore() const =0
Returns the current score of the Environment.
virtual ~LearningEnvironment()=default
Default virtual destructor.
virtual LearningEnvironment * clone() const
Get a copy of the LearningEnvironment.
Definition: learningEnvironment.cpp:40
Definition: adversarialEvaluationResult.h:45
LearningMode
Different modes in which the LearningEnvironment can be reset.
Definition: learningEnvironment.h:58