aGrUM  0.16.0
ILearningStrategy.h
Go to the documentation of this file.
1 
31 // =========================================================================
32 #ifndef GUM_SDYNA_LEARNING_STRATEGY_H
33 #define GUM_SDYNA_LEARNING_STRATEGY_H
34 // =========================================================================
35 #include <string>
36 // =========================================================================
37 #include <agrum/core/types.h>
38 // =========================================================================
39 #include <agrum/FMDP/fmdp.h>
42 // =========================================================================
44 // =========================================================================
45 
46 namespace gum {
47 
56  // ###################################################################
58  // ###################################################################
60  public:
61  // ==========================================================================
63  // ==========================================================================
64  virtual ~ILearningStrategy() {}
65 
67 
68  // ###################################################################
70  // ###################################################################
72  public:
73  // ==========================================================================
75  // ==========================================================================
76  virtual void initialize(FMDP< double >* fmdp) = 0;
77 
79 
80 
81  // ###################################################################
83  // ###################################################################
85  public:
86  // ==========================================================================
94  // ==========================================================================
95  virtual bool addObservation(Idx actionId, const Observation* obs) = 0;
96 
97 
98  // ==========================================================================
102  // ==========================================================================
103  virtual void updateFMDP() = 0;
104 
106 
107 
108  // ###################################################################
110  // ###################################################################
112  public:
113  // ==========================================================================
118  // ==========================================================================
119  virtual Size size() = 0;
120 
121  // ==========================================================================
126  // ==========================================================================
127  virtual const IVisitableGraphLearner*
128  varLearner(Idx actionId, const DiscreteVariable* var) const = 0;
129 
130  virtual double rMax() const = 0;
131  virtual double modaMax() const = 0;
132 
134  };
135 } // namespace gum
136 #endif // GUM_SDYNA_LEARNING_STRATEGY_H
virtual const IVisitableGraphLearner * varLearner(Idx actionId, const DiscreteVariable *var) const =0
Required for RMax.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
virtual ~ILearningStrategy()
Destructor (virtual and empty since it&#39;s an interface)
virtual void updateFMDP()=0
Starts an update of datastructure in the associated FMDP.
<agrum/FMDP/SDyna/IVisitableGraphLearner.h>
Base class for discrete random variable.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Definition: agrum.h:25
virtual void initialize(FMDP< double > *fmdp)=0
Initializes the learner.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
<agrum/FMDP/SDyna/ILearningStrategy.h>
virtual bool addObservation(Idx actionId, const Observation *obs)=0
Gives to the learner a new transition.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
virtual double modaMax() const =0
learnerSize
virtual double rMax() const =0
learnerSize
virtual Size size()=0
learnerSize
Size Idx
Type for indexes.
Definition: types.h:53
std::size_t Size
In aGrUM, hashed values are unsigned long int.
Definition: types.h:48