![]() |
aGrUM
0.20.3
a C++ library for (probabilistic) graphical models
|
<agrum/FMDP/planning/mddOperatorStrategy.h> More...
#include <mddOperatorStrategy.h>
Public Member Functions | |
Constructor & destructor. | |
MDDOperatorStrategy () | |
Default constructor. More... | |
~MDDOperatorStrategy () | |
Default destructor. More... | |
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. More... | |
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. More... | |
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 Set< const DiscreteVariable * > &elVarSeq) |
Computes Qaction for given actionid. More... | |
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) More... | |
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. More... | |
<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 50 of file mddOperatorStrategy.h.
INLINE gum::MDDOperatorStrategy< GUM_SCALAR >::MDDOperatorStrategy | ( | ) |
Default constructor.
Definition at line 65 of file mddOperatorStrategy_tpl.h.
References gum::Set< Key, Alloc >::emplace().
INLINE gum::MDDOperatorStrategy< GUM_SCALAR >::~MDDOperatorStrategy | ( | ) |
Default destructor.
Definition at line 73 of file mddOperatorStrategy_tpl.h.
References gum::Set< Key, Alloc >::emplace().
|
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 185 of file mddOperatorStrategy_tpl.h.
References gum::Set< Key, Alloc >::emplace().
|
protectedvirtual |
Implements gum::IOperatorStrategy< GUM_SCALAR >.
Definition at line 163 of file mddOperatorStrategy_tpl.h.
References gum::Set< Key, Alloc >::emplace().
|
inlineprotectedinherited |
Definition at line 156 of file IOperatorStrategy.h.
|
inlineprotectedinherited |
Definition at line 163 of file IOperatorStrategy.h.
Referenced by gum::IOperatorStrategy< double >::deleteFunctionGraph_().
|
inlinevirtual |
Implements gum::IOperatorStrategy< GUM_SCALAR >.
Definition at line 83 of file mddOperatorStrategy.h.
References gum::MDDOperatorStrategy< GUM_SCALAR >::lastVar_().
|
inlinevirtual |
Implements gum::IOperatorStrategy< GUM_SCALAR >.
Definition at line 79 of file mddOperatorStrategy.h.
References gum::MDDOperatorStrategy< GUM_SCALAR >::lastVar_().
|
inlinevirtual |
Implements gum::IOperatorStrategy< GUM_SCALAR >.
Definition at line 75 of file mddOperatorStrategy.h.
|
inlineprotected |
Returns the last var in the var order for given graph function Called by the evalQaction.
Definition at line 170 of file mddOperatorStrategy.h.
References gum::MDDOperatorStrategy< GUM_SCALAR >::lastVar_().
Referenced by gum::MDDOperatorStrategy< GUM_SCALAR >::getAggregatorInstance(), gum::MDDOperatorStrategy< GUM_SCALAR >::getArgMaxFunctionInstance(), gum::MDDOperatorStrategy< GUM_SCALAR >::lastVar_(), and gum::MDDOperatorStrategy< GUM_SCALAR >::shouldEleminateVar_().
|
protectedvirtual |
Implements gum::IOperatorStrategy< GUM_SCALAR >.
Definition at line 126 of file mddOperatorStrategy_tpl.h.
References gum::Set< Key, Alloc >::emplace().
|
protectedvirtual |
Implements gum::IOperatorStrategy< GUM_SCALAR >.
Definition at line 138 of file mddOperatorStrategy_tpl.h.
References gum::Set< Key, Alloc >::emplace().
|
protectedvirtual |
Implements gum::IOperatorStrategy< GUM_SCALAR >.
Definition at line 150 of file mddOperatorStrategy_tpl.h.
References gum::Set< Key, Alloc >::emplace().
|
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 95 of file mddOperatorStrategy_tpl.h.
References gum::Set< Key, Alloc >::emplace().
|
inlineprotected |
Indicates if whether or not given var is to be eliminated. Called by the evalQaction.
Definition at line 162 of file mddOperatorStrategy.h.
References gum::MDDOperatorStrategy< GUM_SCALAR >::lastVar_().
|
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 201 of file mddOperatorStrategy_tpl.h.
References gum::Set< Key, Alloc >::emplace().