45 #define RECAST(x) reinterpret_cast< const MultiDimFunctionGraph< GUM_SCALAR >* >(x) 61 template <
typename GUM_SCALAR >
69 template <
typename GUM_SCALAR >
90 template <
typename GUM_SCALAR >
102 while (this->_shouldEleminateVar(xip, fmdp)) {
106 qAction, pxi, &elVarSeq, xip, (GUM_SCALAR)0);
110 xip = this->_lastVar(qAction);
118 template <
typename GUM_SCALAR >
124 maximize2MultiDimFunctionGraphs(f1, f2);
125 this->_deleteFunctionGraph(f1, f2, del);
131 template <
typename GUM_SCALAR >
137 minimize2MultiDimFunctionGraphs(f1, f2);
138 this->_deleteFunctionGraph(f1, f2, del);
144 template <
typename GUM_SCALAR >
151 this->_deleteFunctionGraph(f1, f2, del);
158 template <
typename GUM_SCALAR >
172 this->_deleteFunctionGraph(f1, f2, del);
182 template <
typename GUM_SCALAR >
188 this->_deleteFunctionGraph(f1, f2, del);
198 template <
typename GUM_SCALAR >
205 this->_deleteFunctionGraph(f1, f2, del);
virtual MultiDimFunctionGraph< GUM_SCALAR > * subtract(const MultiDimFunctionGraph< GUM_SCALAR > *f1, const MultiDimFunctionGraph< GUM_SCALAR > *f2, Idx del=0)
Subtract current VFunction from old VFunction to see if threshold is reached or not.
MultiDimFunctionGraph< GUM_SCALAR > * regress(const MultiDimFunctionGraph< GUM_SCALAR > *Vold, Idx actionId, const FMDP< GUM_SCALAR > *fmdp, const Set< const DiscreteVariable * > &elVarSeq)
Computes Qaction for given actionid.
MultiDimFunctionGraph< GUM_SCALAR, TerminalNodePolicy > * compute()
Computes and builds the Function Graph that is the result of the operation.
MultiDimFunctionGraph< GUM_SCALAR, TerminalNodePolicy > * compute()
Computes and builds the Function Graph that is the result of the operation.
MDDOperatorStrategy()
Default constructor.
INLINE const Bijection< const DiscreteVariable *, const DiscreteVariable *> & mapMainPrime() const
Returns the map binding main variables and prime variables.
MultiDimFunctionGraph< T > * subtract2MultiDimFunctionGraphs(const MultiDimFunctionGraph< T > *t1, const MultiDimFunctionGraph< T > *t2)
a specialized function for subtracting two multiDimArraysThe function produces a tensorial subtractio...
This class is used to implement factored decision process.
Base class for discrete random variable.
~MDDOperatorStrategy()
Default destructor.
<agrum/FMDP/planning/mddOperatorStrategy.h>
gum is the global namespace for all aGrUM entities
This files contains several function objects that are not (yet) defined in the STL.
Class to handle efficiently argMaxSet.
Representation of a setA Set is a structure that contains arbitrary elements.
Header of the Potential class.
#define RECAST(x)
For shorter line and hence more comprehensive code only.
const MultiDimImplementation< GUM_SCALAR > * transition(Idx actionId, const DiscreteVariable *v) const
Returns transition associated to given in parameter variable and the given action.
MultiDimFunctionGraph< T > * multiply2MultiDimFunctionGraphs(const MultiDimFunctionGraph< T > *t1, const MultiDimFunctionGraph< T > *t2)
a specialized function for multiplying two multiDimArraysThe function produces a tensorial product of...
virtual MultiDimFunctionGraph< GUM_SCALAR > * multiply(const MultiDimFunctionGraph< GUM_SCALAR > *f1, const MultiDimFunctionGraph< GUM_SCALAR > *f2, Idx del=3)
virtual MultiDimFunctionGraph< GUM_SCALAR > * maximize(const MultiDimFunctionGraph< GUM_SCALAR > *f1, const MultiDimFunctionGraph< GUM_SCALAR > *f2, Idx del=3)
Class used to compute the operation between two decision diagrams.
virtual void copy(const MultiDimContainer< GUM_SCALAR > &src)
Class used to perform Function Graph Operations.
Implementation of a Terminal Node Policy that maps nodeid to a set of value.
Class used to perform Function Graph Operations in the FMDP Framework.
MultiDimFunctionGraph< T > * add2MultiDimFunctionGraphs(const MultiDimFunctionGraph< T > *t1, const MultiDimFunctionGraph< T > *t2)
a specialized function for summing two multiDimArraysThe function produces a tensorial addition of t1...
virtual MultiDimFunctionGraph< GUM_SCALAR > * add(const MultiDimFunctionGraph< GUM_SCALAR > *f1, const MultiDimFunctionGraph< GUM_SCALAR > *f2, Idx del=1)
Adds reward to given function( whether a qAction or vFunction)
Headers of the MDDOperatorStrategy planer class.
virtual MultiDimFunctionGraph< ArgMaxSet< GUM_SCALAR, Idx >, SetTerminalNodePolicy > * argmaximize(const MultiDimFunctionGraph< ArgMaxSet< GUM_SCALAR, Idx >, SetTerminalNodePolicy > *f1, const MultiDimFunctionGraph< ArgMaxSet< GUM_SCALAR, Idx >, SetTerminalNodePolicy > *f2, Idx del=3)
Class used to compute the operation between two decision diagrams.
Size Idx
Type for indexes.
virtual MultiDimFunctionGraph< GUM_SCALAR > * minimize(const MultiDimFunctionGraph< GUM_SCALAR > *f1, const MultiDimFunctionGraph< GUM_SCALAR > *f2, Idx del=3)
<agrum/FMDP/planning/actionSet.h>
static MultiDimFunctionGraph< GUM_SCALAR, TerminalNodePolicy > * getReducedAndOrderedInstance()
Returns a reduced and ordered instance.