29 #ifndef GUM_FMDP_SIMULATOR_H 30 #define GUM_FMDP_SIMULATOR_H 32 #include <agrum/tools/multidim/instantiation.h> 34 #include <agrum/FMDP/fmdp.h> 35 #include <agrum/FMDP/simulation/abstractSimulator.h> 74 double reward() {
return fmdp__->reward()->get(
this->currentState_); }
86 return fmdp__->main2prime(mainVar);
91 return fmdp__->beginVariables();
94 return fmdp__->endVariables();
105 return fmdp__->actionName(actionId);
115 const Instantiation& transit,
117 return reinterpret_cast<
const MultiDimFunctionGraph<
double >* >(
118 fmdp__->transition(actionId, var))
void perform(Idx)
Sets the intial statefrom which we begun the simulation.
INLINE void emplace(Args &&... args)
const DiscreteVariable * primeVar(const DiscreteVariable *mainVar)
Iteration over the variables of the simulated probleme.
FMDP< double > * fmdp__
The Factored Markov Decision Process that describes how the system evolves.
<agrum/FMDP/simulation/fmdpSimulator.h>
const bool loaded__
Just to know if it should be deleted in the end.
FMDPSimulator(const std::string &resource)
Default constructor.
SequenceIteratorSafe< const DiscreteVariable *> endVariables()
Iteration over the variables of the simulated probleme.
FMDPSimulator(const FMDP< double > *fmdp)
Default constructor.
SequenceIteratorSafe< const DiscreteVariable *> beginVariables()
Iteration over the variables of the simulated probleme.
virtual const std::string & actionName(Idx actionId)
Iteration over the variables of the simulated probleme.
double reward()
Sets the intial statefrom which we begun the simulation.
virtual double transitionProbability_(const DiscreteVariable *var, const Instantiation &transit, Idx actionId)
SequenceIteratorSafe< Idx > endActions()
Iteration over the variables of the simulated probleme.
SequenceIteratorSafe< Idx > beginActions()
Iteration over the variables of the simulated probleme.
~FMDPSimulator()
Default destructor.