29 #ifndef GUM_FACTORED_MARKOV_DECISION_PROCESS_H 30 #define GUM_FACTORED_MARKOV_DECISION_PROCESS_H 56 template <
typename GUM_SCALAR >
58 template <
typename GUM_SCALAR_O >
72 FMDP(
bool onDestructionDeleteVar =
false);
109 const DiscreteVariable*
main2prime(
const DiscreteVariable* mainVar)
const {
163 const DiscreteVariable* var,
298 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 308 #endif // GUM_FACTORED_MARKOV_DECISION_PROCESS_H Safe iterators for Sequence.
bool __onDestructionDeleteVars
Boolean indicates whether or not main variables should be deleted on destruction of this instance Usu...
~FMDP()
Default destructor.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
const iterator_safe & endSafe() const noexcept
Returns the safe end iterator.
void addTransition(const DiscreteVariable *var, const MultiDimImplementation< GUM_SCALAR > *transition)
Adds a default variable transition.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
SequenceIteratorSafe< Idx > beginActions() const
Returns an iterator reference to he beginning of the list of actions.
Idx actionId(const std::string &) const
Returns action id.
HashTable< Idx, VarTransitionTable< GUM_SCALAR > *> __actionTransitionTable
Table which give for each action a table containing variables transition cpt.
HashTable< Idx, const MultiDimImplementation< GUM_SCALAR > *> __actionCostTable
Table which give for each action cost table.
void addReward(const MultiDimImplementation< GUM_SCALAR > *reward)
Adds a default variable reward.
The generic class for storing (ordered) sequences of objects.
const std::string & actionName(Idx actionId) const
Returns name of action given in parameter.
SequenceIteratorSafe< const DiscreteVariable *> beginVariables() const
Returns an iterator reference to he beginning of the list of variables.
void addCostForAction(Idx actionId, const MultiDimImplementation< GUM_SCALAR > *cost)
Adds a cost table to specified action.
INLINE const Bijection< const DiscreteVariable *, const DiscreteVariable *> & mapMainPrime() const
Returns the map binding main variables and prime variables.
This class is used to implement factored decision process.
Base class for discrete random variable.
void addCost(const MultiDimImplementation< GUM_SCALAR > *cost)
Adds a default variable cost.
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.
The class for generic Hash Tables.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
iterator_safe beginSafe() const
Returns a safe begin iterator.
void addVariable(const DiscreteVariable *var)
Adds a variable to FMDP description.
HashTable< Idx, const MultiDimImplementation< GUM_SCALAR > *> __actionRewardTable
Table which give for each action reward table.
void addTransitionForAction(Idx actionId, const DiscreteVariable *var, const MultiDimImplementation< GUM_SCALAR > *transition)
Adds a variable transition table to specified action.
const MultiDimImplementation< GUM_SCALAR > * transition(Idx actionId, const DiscreteVariable *v) const
Returns transition associated to given in parameter variable and the given action.
Sequence< Idx > __actionSeq
FMDP(bool onDestructionDeleteVar=false)
Default constructor.
Bijection< const DiscreteVariable *, const DiscreteVariable *> __main2primed
Mapping from a main variable to its associated primed version.
Size size() const
Returns the map binding main variables and prime variables.
const MultiDimImplementation< GUM_SCALAR > * reward(Idx actionId=0) const
Returns the reward table of mdp.
void addRewardForAction(Idx actionId, const MultiDimImplementation< GUM_SCALAR > *reward)
Adds a default variable reward.
const DiscreteVariable * main2prime(const DiscreteVariable *mainVar) const
Returns the primed variable associate to the given main variable.
Set of pairs of elements with fast search for both elements.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
const MultiDimImplementation< GUM_SCALAR > * cost(Idx actionId=0) const
Returns the reward table of mdp.
Bijection< Idx, const std::string *> __actionMap
Bijection mapping an action name to its id.
SequenceIteratorSafe< Idx > endActions() const
Returns an iterator reference to the end of the list of actions.
<agrum/multidim/multiDimImplementation.h>
Size Idx
Type for indexes.
SequenceIteratorSafe< const DiscreteVariable *> endVariables() const
Returns an iterator reference to the end of the list of variables.
std::size_t Size
In aGrUM, hashed values are unsigned long int.
Sequence< const DiscreteVariable *> __varSeq
Sequence de variables and its iterator.
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.
void addAction(Idx actionId, const std::string &action)
Adds an action to FMDP description.
std::string toString() const
Displays the FMDP in a Dot format.