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();
113 const Instantiation& transit,
115 return reinterpret_cast<
const MultiDimFunctionGraph<
double >* >(
116 _fmdp_->transition(actionId, var))
FMDP< double > * _fmdp_
The Factored Markov Decision Process that describes how the system evolves.
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.
<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.