37#ifndef LEARNING_ENVIRONMENT_H
38#define LEARNING_ENVIRONMENT_H
40#include "data/dataHandler.h"
119 uint64_t nbAct,
bool isDiscreteEnv =
true,
120 const std::vector<uint64_t>& initAct = std::vector<uint64_t>())
123 ? std::vector<uint64_t>(nbAct, 0)
201 virtual void doAction(
double actionID);
223 virtual void doActions(std::vector<double> vectActionID);
247 uint16_t iterationNumber = 0,
248 uint64_t generationNumber = 0) = 0;
265 virtual std::vector<std::reference_wrapper<const Data::DataHandler>>
Interface for creating a Learning Environment.
Definition learningEnvironment.h:81
virtual bool isCopyable() const
Can the LearningEnvironment be copy constructed to evaluate several LearningAgent in parallel.
Definition learningEnvironment.cpp:47
LearningEnvironment()=delete
Delete the default constructor of a LearningEnvironment.
const uint64_t nbActions
Definition learningEnvironment.h:85
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, uint16_t iterationNumber=0, uint64_t generationNumber=0)=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.
virtual double getUtility() const
Returns the current utility of the Environment.
Definition learningEnvironment.cpp:93
virtual bool isUsingUtility() const
Is the LearningEnvrionment using a utility in addition to the reward. Information needed for the logs...
Definition learningEnvironment.cpp:52
LearningEnvironment(uint64_t nbAct, bool isDiscreteEnv=true, const std::vector< uint64_t > &initAct=std::vector< uint64_t >())
Constructor for LearningEnviroment.
Definition learningEnvironment.h:118
const std::vector< uint64_t > & getInitActions() const
Get the vector of initial actions available for this LearningEnvironment.
Definition learningEnvironment.h:171
uint64_t getNbActions() const
Get the number of actions available for this LearningEnvironment.
Definition learningEnvironment.h:160
const bool isDiscreteEnvironment
Definition learningEnvironment.h:92
virtual void doActions(std::vector< double > vectActionID)
Execute actions on the LearningEnvironment.
Definition learningEnvironment.cpp:71
const std::vector< uint64_t > initActions
Definition learningEnvironment.h:96
virtual void doAction(double actionID)
Execute an action on the LearningEnvironment.
Definition learningEnvironment.cpp:57
const bool isDiscrete() const
Get the information of the nature of the environment action type.
Definition learningEnvironment.h:182
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:42
Definition classificationLearningEnvironment.h:44
LearningMode
Different modes in which the LearningEnvironment can be reset.
Definition learningEnvironment.h:59