50#ifndef GUM_FMDP_LEARNER_H
51#define GUM_FMDP_LEARNER_H
73 template <
TESTNAME VariableAttributeSelection,
97 FMDPLearner(
double learningThreshold,
bool actionReward,
double similarityThreshold = 0.05);
Headers of the Learning Strategy interface.
Base class for discrete random variable.
Implementation of a Terminal Node Policy that maps nodeid directly to value.
VariableLearnerType * _instantiateVarLearner_(MultiDimFunctionGraph< double > *target, gum::VariableSet &mainVariables, const DiscreteVariable *learnedVar, Int2Type< ITILEARNER >)
Initializes the learner.
RewardLearnerType * _instantiateRewardLearner_(MultiDimFunctionGraph< double > *target, gum::VariableSet &mainVariables, Int2Type< ITILEARNER >)
Initializes the learner.
typename LearnerSelect< LearnerSelection, IMDDI< RewardAttributeSelection, true >, ITI< RewardAttributeSelection, true > >::type RewardLearnerType
HashTable< Idx, RewardLearnerType * > _actionRewardLearners_
const double _similarityThreshold_
RewardLearnerType * _instantiateRewardLearner_(MultiDimFunctionGraph< double > *target, gum::VariableSet &mainVariables)
Initializes the learner.
~FMDPLearner()
Default destructor.
VariableLearnerType * _instantiateVarLearner_(MultiDimFunctionGraph< double > *target, gum::VariableSet &mainVariables, const DiscreteVariable *learnedVar, Int2Type< IMDDILEARNER >)
Initializes the learner.
virtual double rMax() const
learnerSize
MultiDimFunctionGraph< double > * _instantiateFunctionGraph_()
Initializes the learner.
virtual double modaMax() const
learnerSize
double _modaMax_
learnerSize
MultiDimFunctionGraph< double > * _instantiateFunctionGraph_(Int2Type< ITILEARNER >)
Initializes the learner.
void updateFMDP()
Starts an update of datastructure in the associated FMDP.
FMDP< double > * _fmdp_
The FMDP to store the learned model.
HashTable< const DiscreteVariable *, VariableLearnerType * > VarLearnerTable
const IVisitableGraphLearner * varLearner(Idx actionId, const DiscreteVariable *var) const
extractCount
const double _learningThreshold_
RewardLearnerType * _rewardLearner_
FMDPLearner(double learningThreshold, bool actionReward, double similarityThreshold=0.05)
Default constructor.
void initialize(FMDP< double > *fmdp)
Initializes the learner.
HashTable< Idx, VarLearnerTable * > _actionLearners_
RewardLearnerType * _instantiateRewardLearner_(MultiDimFunctionGraph< double > *target, gum::VariableSet &mainVariables, Int2Type< IMDDILEARNER >)
Initializes the learner.
typename LearnerSelect< LearnerSelection, IMDDI< VariableAttributeSelection, false >, ITI< VariableAttributeSelection, false > >::type VariableLearnerType
MultiDimFunctionGraph< double > * _instantiateFunctionGraph_(Int2Type< IMDDILEARNER >)
Initializes the learner.
VariableLearnerType * _instantiateVarLearner_(MultiDimFunctionGraph< double > *target, gum::VariableSet &mainVariables, const DiscreteVariable *learnedVar)
Initializes the learner.
bool addObservation(Idx actionId, const Observation *obs)
Gives to the learner a new transition.
The class for generic Hash Tables.
<agrum/FMDP/SDyna/ILearningStrategy.h>
Learn a graphical representation of a function as a decision tree.
<agrum/FMDP/SDyna/IVisitableGraphLearner.h>
static MultiDimFunctionGraph< GUM_SCALAR, TerminalNodePolicy > * getTreeInstance()
Returns an arborescent instance.
Template Implementations of the FMDPLearner class.
std::size_t Size
In aGrUM, hashed values are unsigned long int.
Size Idx
Type for indexes.
Headers of the IMDDI class.
Headers of the ITI class.
gum is the global namespace for all aGrUM entities
Set< const DiscreteVariable * > VariableSet