aGrUM 2.3.2
a C++ library for (probabilistic) graphical models
gum::IOperatorStrategy< GUM_SCALAR > Class Template Referenceabstract

<agrum/FMDP/SDyna/IOperatorStrategy.h> More...

#include <IOperatorStrategy.h>

Inheritance diagram for gum::IOperatorStrategy< GUM_SCALAR >:

Public Member Functions

Constructor & destructor.
virtual ~IOperatorStrategy ()
 Destructor (virtual and empty since it's an interface).
virtual MultiDimFunctionGraph< GUM_SCALAR, ExactTerminalNodePolicy > * getFunctionInstance ()=0
virtual MultiDimFunctionGraph< ArgMaxSet< GUM_SCALAR, Idx >, SetTerminalNodePolicy > * getArgMaxFunctionInstance ()=0
virtual MultiDimFunctionGraph< ActionSet, SetTerminalNodePolicy > * getAggregatorInstance ()=0
Graph Function Operations Methods
virtual MultiDimFunctionGraph< GUM_SCALAR > * regress (const MultiDimFunctionGraph< GUM_SCALAR > *Vold, Idx actionId, const FMDP< GUM_SCALAR > *fmdp, const gum::VariableSet &elVarSeq)=0
 Performs a multiplication/projection on given qAction.
virtual MultiDimFunctionGraph< GUM_SCALAR > * maximize (const MultiDimFunctionGraph< GUM_SCALAR > *f1, const MultiDimFunctionGraph< GUM_SCALAR > *f2, Idx del=3)=0
virtual MultiDimFunctionGraph< GUM_SCALAR > * minimize (const MultiDimFunctionGraph< GUM_SCALAR > *f1, const MultiDimFunctionGraph< GUM_SCALAR > *f2, Idx del=3)=0
virtual MultiDimFunctionGraph< GUM_SCALAR > * multiply (const MultiDimFunctionGraph< GUM_SCALAR > *f1, const MultiDimFunctionGraph< GUM_SCALAR > *f2, Idx del=3)=0
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)=0
virtual MultiDimFunctionGraph< GUM_SCALAR > * add (const MultiDimFunctionGraph< GUM_SCALAR > *f1, const MultiDimFunctionGraph< GUM_SCALAR > *f2, Idx del=1)=0
virtual MultiDimFunctionGraph< GUM_SCALAR > * subtract (const MultiDimFunctionGraph< GUM_SCALAR > *f1, const MultiDimFunctionGraph< GUM_SCALAR > *f2, Idx del=0)=0

Protected Member Functions

INLINE void deleteFunctionGraph_ (const MultiDimFunctionGraph< GUM_SCALAR > *f1, const MultiDimFunctionGraph< GUM_SCALAR > *f2, Idx del)
INLINE void deleteFunctionGraph_ (const MultiDimFunctionGraph< ArgMaxSet< GUM_SCALAR, Idx >, SetTerminalNodePolicy > *f1, const MultiDimFunctionGraph< ArgMaxSet< GUM_SCALAR, Idx >, SetTerminalNodePolicy > *f2, Idx del)

Detailed Description

template<typename GUM_SCALAR>
class gum::IOperatorStrategy< GUM_SCALAR >

<agrum/FMDP/SDyna/IOperatorStrategy.h>

Interface for manipulating Operator center

Definition at line 71 of file IOperatorStrategy.h.

Constructor & Destructor Documentation

◆ ~IOperatorStrategy()

template<typename GUM_SCALAR>
virtual gum::IOperatorStrategy< GUM_SCALAR >::~IOperatorStrategy ( )
inlinevirtual

Destructor (virtual and empty since it's an interface).

Definition at line 81 of file IOperatorStrategy.h.

81{}

Member Function Documentation

◆ add()

template<typename GUM_SCALAR>
virtual MultiDimFunctionGraph< GUM_SCALAR > * gum::IOperatorStrategy< GUM_SCALAR >::add ( const MultiDimFunctionGraph< GUM_SCALAR > * f1,
const MultiDimFunctionGraph< GUM_SCALAR > * f2,
Idx del = 1 )
pure virtual
Warning
given function is deleted, returns the new one

Implemented in gum::MDDOperatorStrategy< GUM_SCALAR >, and gum::TreeOperatorStrategy< GUM_SCALAR >.

◆ argmaximize()

template<typename GUM_SCALAR>
virtual MultiDimFunctionGraph< ArgMaxSet< GUM_SCALAR, Idx >, SetTerminalNodePolicy > * gum::IOperatorStrategy< GUM_SCALAR >::argmaximize ( const MultiDimFunctionGraph< ArgMaxSet< GUM_SCALAR, Idx >, SetTerminalNodePolicy > * f1,
const MultiDimFunctionGraph< ArgMaxSet< GUM_SCALAR, Idx >, SetTerminalNodePolicy > * f2,
Idx del = 3 )
pure virtual
Warning
given vFunction and qAction are deleted, returns the new one

Implemented in gum::MDDOperatorStrategy< GUM_SCALAR >, and gum::TreeOperatorStrategy< GUM_SCALAR >.

◆ deleteFunctionGraph_() [1/2]

template<typename GUM_SCALAR>
INLINE void gum::IOperatorStrategy< GUM_SCALAR >::deleteFunctionGraph_ ( const MultiDimFunctionGraph< ArgMaxSet< GUM_SCALAR, Idx >, SetTerminalNodePolicy > * f1,
const MultiDimFunctionGraph< ArgMaxSet< GUM_SCALAR, Idx >, SetTerminalNodePolicy > * f2,
Idx del )
inlineprotected

Definition at line 183 of file IOperatorStrategy.h.

186 {
187 if (del == 1 || del == 3) delete f1;
188 if (del >= 2) delete f2;
189 }
<agrum/FMDP/SDyna/IOperatorStrategy.h>

◆ deleteFunctionGraph_() [2/2]

◆ getAggregatorInstance()

template<typename GUM_SCALAR>
virtual MultiDimFunctionGraph< ActionSet, SetTerminalNodePolicy > * gum::IOperatorStrategy< GUM_SCALAR >::getAggregatorInstance ( )
pure virtual

◆ getArgMaxFunctionInstance()

template<typename GUM_SCALAR>
virtual MultiDimFunctionGraph< ArgMaxSet< GUM_SCALAR, Idx >, SetTerminalNodePolicy > * gum::IOperatorStrategy< GUM_SCALAR >::getArgMaxFunctionInstance ( )
pure virtual

◆ getFunctionInstance()

template<typename GUM_SCALAR>
virtual MultiDimFunctionGraph< GUM_SCALAR, ExactTerminalNodePolicy > * gum::IOperatorStrategy< GUM_SCALAR >::getFunctionInstance ( )
pure virtual

◆ maximize()

template<typename GUM_SCALAR>
virtual MultiDimFunctionGraph< GUM_SCALAR > * gum::IOperatorStrategy< GUM_SCALAR >::maximize ( const MultiDimFunctionGraph< GUM_SCALAR > * f1,
const MultiDimFunctionGraph< GUM_SCALAR > * f2,
Idx del = 3 )
pure virtual
Warning
given vFunction and qAction are deleted, returns the new one

Implemented in gum::MDDOperatorStrategy< GUM_SCALAR >, and gum::TreeOperatorStrategy< GUM_SCALAR >.

◆ minimize()

template<typename GUM_SCALAR>
virtual MultiDimFunctionGraph< GUM_SCALAR > * gum::IOperatorStrategy< GUM_SCALAR >::minimize ( const MultiDimFunctionGraph< GUM_SCALAR > * f1,
const MultiDimFunctionGraph< GUM_SCALAR > * f2,
Idx del = 3 )
pure virtual
Warning
Minimze the two given functions

Implemented in gum::MDDOperatorStrategy< GUM_SCALAR >, and gum::TreeOperatorStrategy< GUM_SCALAR >.

◆ multiply()

template<typename GUM_SCALAR>
virtual MultiDimFunctionGraph< GUM_SCALAR > * gum::IOperatorStrategy< GUM_SCALAR >::multiply ( const MultiDimFunctionGraph< GUM_SCALAR > * f1,
const MultiDimFunctionGraph< GUM_SCALAR > * f2,
Idx del = 3 )
pure virtual
Warning
given f1 and f2 are deleted, returns the new one

Implemented in gum::MDDOperatorStrategy< GUM_SCALAR >, and gum::TreeOperatorStrategy< GUM_SCALAR >.

◆ regress()

template<typename GUM_SCALAR>
virtual MultiDimFunctionGraph< GUM_SCALAR > * gum::IOperatorStrategy< GUM_SCALAR >::regress ( const MultiDimFunctionGraph< GUM_SCALAR > * Vold,
Idx actionId,
const FMDP< GUM_SCALAR > * fmdp,
const gum::VariableSet & elVarSeq )
pure virtual

Performs a multiplication/projection on given qAction.

Returns
qAction : the computed Q(s,a)
Warning
given qAction is deleted, return the new one

Implemented in gum::MDDOperatorStrategy< GUM_SCALAR >, and gum::TreeOperatorStrategy< GUM_SCALAR >.

◆ subtract()

template<typename GUM_SCALAR>
virtual MultiDimFunctionGraph< GUM_SCALAR > * gum::IOperatorStrategy< GUM_SCALAR >::subtract ( const MultiDimFunctionGraph< GUM_SCALAR > * f1,
const MultiDimFunctionGraph< GUM_SCALAR > * f2,
Idx del = 0 )
pure virtual
Warning
this time, nothing is deleted

Implemented in gum::MDDOperatorStrategy< GUM_SCALAR >, and gum::TreeOperatorStrategy< GUM_SCALAR >.


The documentation for this class was generated from the following file: