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

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

#include <IOperatorStrategy.h>

Inheritance diagram for gum::IOperatorStrategy< GUM_ELEMENT >:

Public Member Functions

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

Protected Member Functions

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

Detailed Description

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

<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_ELEMENT>
virtual gum::IOperatorStrategy< GUM_ELEMENT >::~IOperatorStrategy ( )
virtualdefault

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

Member Function Documentation

◆ add()

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

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

◆ argmaximize()

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

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

◆ deleteFunctionGraph_() [1/2]

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

Definition at line 58 of file IOperatorStrategy_tpl.h.

61 {
62 if (del == 1 || del == 3) delete f1;
63 if (del >= 2) delete f2;
64 }
<agrum/FMDP/SDyna/IOperatorStrategy.h>

◆ deleteFunctionGraph_() [2/2]

◆ getAggregatorInstance()

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

◆ getArgMaxFunctionInstance()

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

◆ getFunctionInstance()

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

◆ maximize()

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

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

◆ minimize()

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

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

◆ multiply()

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

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

◆ regress()

template<typename GUM_ELEMENT>
virtual MultiDimFunctionGraph< GUM_ELEMENT > * gum::IOperatorStrategy< GUM_ELEMENT >::regress ( const MultiDimFunctionGraph< GUM_ELEMENT > * Vold,
Idx actionId,
const FMDP< GUM_ELEMENT > * 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_ELEMENT >, and gum::TreeOperatorStrategy< GUM_ELEMENT >.

◆ subtract()

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

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


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