![]() |
aGrUM 2.3.2
a C++ library for (probabilistic) graphical models
|
<agrum/FMDP/planning/mddOperatorStrategy.h> More...
#include <mddOperatorStrategy.h>
Public Member Functions | |
Constructor & destructor. | |
| MDDOperatorStrategy () | |
| Default constructor. | |
| ~MDDOperatorStrategy () | |
| Default destructor. | |
| MultiDimFunctionGraph< GUM_SCALAR, ExactTerminalNodePolicy > * | getFunctionInstance () |
| MultiDimFunctionGraph< ArgMaxSet< GUM_SCALAR, Idx >, SetTerminalNodePolicy > * | getArgMaxFunctionInstance () |
| MultiDimFunctionGraph< ActionSet, SetTerminalNodePolicy > * | getAggregatorInstance () |
Protected Member Functions | |
| INLINE bool | shouldEleminateVar_ (const DiscreteVariable *v, const FMDP< GUM_SCALAR > *fmdp) |
| Indicates if whether or not given var is to be eliminated. Called by the evalQaction. | |
| INLINE const DiscreteVariable * | lastVar_ (const MultiDimFunctionGraph< GUM_SCALAR > *function) |
| Returns the last var in the var order for given graph function Called by the evalQaction. | |
| 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) |
Graph Function Operations Methods | |
| MultiDimFunctionGraph< GUM_SCALAR > * | regress (const MultiDimFunctionGraph< GUM_SCALAR > *Vold, Idx actionId, const FMDP< GUM_SCALAR > *fmdp, const gum::VariableSet &elVarSeq) |
| Computes Qaction for given actionid. | |
| virtual MultiDimFunctionGraph< GUM_SCALAR > * | maximize (const MultiDimFunctionGraph< GUM_SCALAR > *f1, const MultiDimFunctionGraph< GUM_SCALAR > *f2, Idx del=3) |
| virtual MultiDimFunctionGraph< GUM_SCALAR > * | minimize (const MultiDimFunctionGraph< GUM_SCALAR > *f1, const MultiDimFunctionGraph< GUM_SCALAR > *f2, Idx del=3) |
| virtual MultiDimFunctionGraph< GUM_SCALAR > * | multiply (const MultiDimFunctionGraph< GUM_SCALAR > *f1, const MultiDimFunctionGraph< GUM_SCALAR > *f2, Idx del=3) |
| 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) |
| 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). | |
| 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. | |
<agrum/FMDP/planning/mddOperatorStrategy.h>
A class to find optimal policy for a given FMDP.
Perform a SPUDD planning on given in parameter factored markov decision process
Definition at line 71 of file mddOperatorStrategy.h.
| INLINE gum::MDDOperatorStrategy< GUM_SCALAR >::MDDOperatorStrategy | ( | ) |
Default constructor.
Definition at line 87 of file mddOperatorStrategy_tpl.h.
References MDDOperatorStrategy().
Referenced by MDDOperatorStrategy(), and ~MDDOperatorStrategy().
| INLINE gum::MDDOperatorStrategy< GUM_SCALAR >::~MDDOperatorStrategy | ( | ) |
Default destructor.
Definition at line 95 of file mddOperatorStrategy_tpl.h.
References MDDOperatorStrategy().
|
protectedvirtual |
Adds reward to given function( whether a qAction or vFunction).
| reward | : R(s) or R(s,a) |
| function | : either V(s) or Q(s,a) |
Implements gum::IOperatorStrategy< GUM_SCALAR >.
Definition at line 205 of file mddOperatorStrategy_tpl.h.
References gum::add2MultiDimFunctionGraphs(), and gum::IOperatorStrategy< GUM_SCALAR >::deleteFunctionGraph_().
|
protectedvirtual |
Implements gum::IOperatorStrategy< GUM_SCALAR >.
Definition at line 183 of file mddOperatorStrategy_tpl.h.
References gum::MultiDimFunctionGraphOperator< GUM_SCALAR, FUNCTOR, TerminalNodePolicy >::compute(), and gum::IOperatorStrategy< GUM_SCALAR >::deleteFunctionGraph_().
|
inlineprotectedinherited |
Definition at line 183 of file IOperatorStrategy.h.
|
inlineprotectedinherited |
Definition at line 176 of file IOperatorStrategy.h.
Referenced by gum::MDDOperatorStrategy< GUM_SCALAR >::add(), gum::TreeOperatorStrategy< GUM_SCALAR >::add(), gum::MDDOperatorStrategy< GUM_SCALAR >::argmaximize(), gum::TreeOperatorStrategy< GUM_SCALAR >::argmaximize(), gum::MDDOperatorStrategy< GUM_SCALAR >::maximize(), gum::TreeOperatorStrategy< GUM_SCALAR >::maximize(), gum::MDDOperatorStrategy< GUM_SCALAR >::minimize(), gum::TreeOperatorStrategy< GUM_SCALAR >::minimize(), gum::MDDOperatorStrategy< GUM_SCALAR >::multiply(), gum::TreeOperatorStrategy< GUM_SCALAR >::multiply(), gum::MDDOperatorStrategy< GUM_SCALAR >::subtract(), and gum::TreeOperatorStrategy< GUM_SCALAR >::subtract().
|
inlinevirtual |
Implements gum::IOperatorStrategy< GUM_SCALAR >.
Definition at line 106 of file mddOperatorStrategy.h.
|
inlinevirtual |
Implements gum::IOperatorStrategy< GUM_SCALAR >.
Definition at line 101 of file mddOperatorStrategy.h.
|
inlinevirtual |
Implements gum::IOperatorStrategy< GUM_SCALAR >.
Definition at line 96 of file mddOperatorStrategy.h.
References gum::MultiDimFunctionGraph< GUM_SCALAR, TerminalNodePolicy >::getReducedAndOrderedInstance().
|
inlineprotected |
Returns the last var in the var order for given graph function Called by the evalQaction.
Definition at line 193 of file mddOperatorStrategy.h.
References gum::MultiDimImplementation< GUM_SCALAR >::variablesSequence().
Referenced by regress().
|
protectedvirtual |
Implements gum::IOperatorStrategy< GUM_SCALAR >.
Definition at line 147 of file mddOperatorStrategy_tpl.h.
References gum::IOperatorStrategy< GUM_SCALAR >::deleteFunctionGraph_().
|
protectedvirtual |
Implements gum::IOperatorStrategy< GUM_SCALAR >.
Definition at line 159 of file mddOperatorStrategy_tpl.h.
References gum::IOperatorStrategy< GUM_SCALAR >::deleteFunctionGraph_().
|
protectedvirtual |
Implements gum::IOperatorStrategy< GUM_SCALAR >.
Definition at line 171 of file mddOperatorStrategy_tpl.h.
References gum::IOperatorStrategy< GUM_SCALAR >::deleteFunctionGraph_(), and gum::multiply2MultiDimFunctionGraphs().
|
protectedvirtual |
Computes Qaction for given actionid.
Performs a multiplication/projection on given qAction.
| qAction | : the computed Q(s,a) |
| pxip | : the transition probabilities for the xip variable |
| xip | : the variable we eliminate on the projection |
Implements gum::IOperatorStrategy< GUM_SCALAR >.
Definition at line 116 of file mddOperatorStrategy_tpl.h.
References gum::Regress< GUM_SCALAR, COMBINEOPERATOR, PROJECTOPERATOR, TerminalNodePolicy >::compute(), gum::MultiDimFunctionGraph< GUM_SCALAR, TerminalNodePolicy >::copy(), gum::BijectionImplementation< T1, T2, std::is_scalar< T1 >::value &&std::is_scalar< T2 >::value >::first(), gum::MultiDimFunctionGraph< GUM_SCALAR, TerminalNodePolicy >::getReducedAndOrderedInstance(), lastVar_(), gum::FMDP< GUM_SCALAR >::mapMainPrime(), RECAST, shouldEleminateVar_(), and gum::FMDP< GUM_SCALAR >::transition().
|
inlineprotected |
Indicates if whether or not given var is to be eliminated. Called by the evalQaction.
Definition at line 185 of file mddOperatorStrategy.h.
References gum::BijectionImplementation< T1, T2, std::is_scalar< T1 >::value &&std::is_scalar< T2 >::value >::existsSecond(), and gum::FMDP< GUM_SCALAR >::mapMainPrime().
Referenced by regress().
|
protectedvirtual |
Subtract current VFunction from old VFunction to see if threshold is reached or not.
| old | and new VFuntion |
Implements gum::IOperatorStrategy< GUM_SCALAR >.
Definition at line 221 of file mddOperatorStrategy_tpl.h.
References gum::IOperatorStrategy< GUM_SCALAR >::deleteFunctionGraph_(), and gum::subtract2MultiDimFunctionGraphs().