aGrUM  0.16.0
IPlanningStrategy.h
Go to the documentation of this file.
1 
31 // =========================================================================
32 #ifndef GUM_SDYNA_PLANNING_STRATEGY_H
33 #define GUM_SDYNA_PLANNING_STRATEGY_H
34 // =========================================================================
35 #include <string>
36 // =========================================================================
37 #include <agrum/core/types.h>
38 // =========================================================================
40 // =========================================================================
41 
42 namespace gum {
43 
51  template < typename GUM_SCALAR >
53  // ###################################################################
55  // ###################################################################
57  public:
58  // ==========================================================================
60  // ==========================================================================
61  virtual ~IPlanningStrategy() {}
62 
64 
65  // ###################################################################
67  // ###################################################################
69  public:
70  // ==========================================================================
72  // ==========================================================================
73  virtual void initialize(const FMDP< GUM_SCALAR >* fmdp) = 0;
74 
76 
77 
78  // ###################################################################
80  // ###################################################################
82  public:
83  // ==========================================================================
89  // ==========================================================================
90  virtual void makePlanning(Idx nbIte) = 0;
91 
92  // ==========================================================================
94  // ==========================================================================
96  optimalPolicy() = 0;
97 
99 
100 
101  // ###################################################################
103  // ###################################################################
105  public:
106  // ==========================================================================
108  // ==========================================================================
109  virtual Size vFunctionSize() = 0;
110 
111  // ==========================================================================
113  // ==========================================================================
114  virtual Size optimalPolicySize() = 0;
115 
116  // ==========================================================================
118  // ==========================================================================
119  virtual std::string optimalPolicy2String() = 0;
120 
122  };
123 } // namespace gum
124 #endif // GUM_SDYNA_LEARNING_STRATEGY_H
virtual void initialize(const FMDP< GUM_SCALAR > *fmdp)=0
Initializes the learner.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
virtual std::string optimalPolicy2String()=0
Returns a string describing the optimal policy in a dot format.
virtual ~IPlanningStrategy()
Destructor (virtual and empty since it&#39;s an interface)
virtual Size optimalPolicySize()=0
Returns optimalPolicy computed so far current size.
This class is used to implement factored decision process.
Definition: fmdp.h:57
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Definition: agrum.h:25
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
virtual void makePlanning(Idx nbIte)=0
Starts a new planning.
Class implementingting a function graph.
virtual const MultiDimFunctionGraph< ActionSet, SetTerminalNodePolicy > * optimalPolicy()=0
Returns optimalPolicy computed so far current size.
Size Idx
Type for indexes.
Definition: types.h:53
virtual Size vFunctionSize()=0
Returns vFunction computed so far current size.
<agrum/FMDP/SDyna/IPlanningStrategy.h>
std::size_t Size
In aGrUM, hashed values are unsigned long int.
Definition: types.h:48