![]() |
aGrUM 3.0.0
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 () override | |
| Default destructor. | |
| MultiDimFunctionGraph< GUM_ELEMENT, ExactTerminalNodePolicy > * | getFunctionInstance () override |
| MultiDimFunctionGraph< ArgMaxSet< GUM_ELEMENT, Idx >, SetTerminalNodePolicy > * | getArgMaxFunctionInstance () override |
| MultiDimFunctionGraph< ActionSet, SetTerminalNodePolicy > * | getAggregatorInstance () override |
Protected Member Functions | |
| bool | shouldEleminateVar_ (const DiscreteVariable *v, const FMDP< GUM_ELEMENT > *fmdp) |
| Indicates if whether or not given var is to be eliminated. Called by the evalQaction. | |
| const DiscreteVariable * | lastVar_ (const MultiDimFunctionGraph< GUM_ELEMENT > *function) |
| Returns the last var in the var order for given graph function Called by the evalQaction. | |
| 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) |
Graph Function Operations Methods | |
| MultiDimFunctionGraph< GUM_ELEMENT > * | regress (const MultiDimFunctionGraph< GUM_ELEMENT > *Vold, Idx actionId, const FMDP< GUM_ELEMENT > *fmdp, const gum::VariableSet &elVarSeq) override |
| Computes Qaction for given actionid. | |
| MultiDimFunctionGraph< GUM_ELEMENT > * | maximize (const MultiDimFunctionGraph< GUM_ELEMENT > *f1, const MultiDimFunctionGraph< GUM_ELEMENT > *f2, Idx del=3) override |
| MultiDimFunctionGraph< GUM_ELEMENT > * | minimize (const MultiDimFunctionGraph< GUM_ELEMENT > *f1, const MultiDimFunctionGraph< GUM_ELEMENT > *f2, Idx del=3) override |
| MultiDimFunctionGraph< GUM_ELEMENT > * | multiply (const MultiDimFunctionGraph< GUM_ELEMENT > *f1, const MultiDimFunctionGraph< GUM_ELEMENT > *f2, Idx del=3) override |
| 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) override |
| MultiDimFunctionGraph< GUM_ELEMENT > * | add (const MultiDimFunctionGraph< GUM_ELEMENT > *f1, const MultiDimFunctionGraph< GUM_ELEMENT > *f2, Idx del=1) override |
| Adds reward to given function( whether a qAction or vFunction). | |
| MultiDimFunctionGraph< GUM_ELEMENT > * | subtract (const MultiDimFunctionGraph< GUM_ELEMENT > *f1, const MultiDimFunctionGraph< GUM_ELEMENT > *f2, Idx del=0) override |
| 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.
| gum::MDDOperatorStrategy< GUM_ELEMENT >::MDDOperatorStrategy | ( | ) |
Default constructor.
Definition at line 88 of file mddOperatorStrategy_tpl.h.
References MDDOperatorStrategy().
Referenced by MDDOperatorStrategy(), and ~MDDOperatorStrategy().
|
override |
Default destructor.
Definition at line 96 of file mddOperatorStrategy_tpl.h.
References MDDOperatorStrategy().
|
overrideprotectedvirtual |
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_ELEMENT >.
Definition at line 206 of file mddOperatorStrategy_tpl.h.
References gum::add2MultiDimFunctionGraphs(), and gum::IOperatorStrategy< GUM_ELEMENT >::deleteFunctionGraph_().
|
overrideprotectedvirtual |
Implements gum::IOperatorStrategy< GUM_ELEMENT >.
Definition at line 184 of file mddOperatorStrategy_tpl.h.
References gum::MultiDimFunctionGraphOperator< GUM_ELEMENT, FUNCTOR, TerminalNodePolicy >::compute(), and gum::IOperatorStrategy< GUM_ELEMENT >::deleteFunctionGraph_().
|
protectedinherited |
Definition at line 58 of file IOperatorStrategy_tpl.h.
|
protectedinherited |
Definition at line 49 of file IOperatorStrategy_tpl.h.
Referenced by gum::MDDOperatorStrategy< GUM_ELEMENT >::add(), gum::TreeOperatorStrategy< GUM_ELEMENT >::add(), gum::MDDOperatorStrategy< GUM_ELEMENT >::argmaximize(), gum::TreeOperatorStrategy< GUM_ELEMENT >::argmaximize(), gum::MDDOperatorStrategy< GUM_ELEMENT >::maximize(), gum::TreeOperatorStrategy< GUM_ELEMENT >::maximize(), gum::MDDOperatorStrategy< GUM_ELEMENT >::minimize(), gum::TreeOperatorStrategy< GUM_ELEMENT >::minimize(), gum::MDDOperatorStrategy< GUM_ELEMENT >::multiply(), gum::TreeOperatorStrategy< GUM_ELEMENT >::multiply(), gum::MDDOperatorStrategy< GUM_ELEMENT >::subtract(), and gum::TreeOperatorStrategy< GUM_ELEMENT >::subtract().
|
overridevirtual |
Implements gum::IOperatorStrategy< GUM_ELEMENT >.
Definition at line 259 of file mddOperatorStrategy_tpl.h.
|
overridevirtual |
Implements gum::IOperatorStrategy< GUM_ELEMENT >.
Definition at line 252 of file mddOperatorStrategy_tpl.h.
|
overridevirtual |
Implements gum::IOperatorStrategy< GUM_ELEMENT >.
Definition at line 246 of file mddOperatorStrategy_tpl.h.
References gum::MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy >::getReducedAndOrderedInstance().
|
protected |
Returns the last var in the var order for given graph function Called by the evalQaction.
Definition at line 237 of file mddOperatorStrategy_tpl.h.
References gum::MultiDimImplementation< GUM_ELEMENT >::variablesSequence().
Referenced by regress().
|
overrideprotectedvirtual |
Implements gum::IOperatorStrategy< GUM_ELEMENT >.
Definition at line 148 of file mddOperatorStrategy_tpl.h.
References gum::IOperatorStrategy< GUM_ELEMENT >::deleteFunctionGraph_().
|
overrideprotectedvirtual |
Implements gum::IOperatorStrategy< GUM_ELEMENT >.
Definition at line 160 of file mddOperatorStrategy_tpl.h.
References gum::IOperatorStrategy< GUM_ELEMENT >::deleteFunctionGraph_().
|
overrideprotectedvirtual |
Implements gum::IOperatorStrategy< GUM_ELEMENT >.
Definition at line 172 of file mddOperatorStrategy_tpl.h.
References gum::IOperatorStrategy< GUM_ELEMENT >::deleteFunctionGraph_(), and gum::multiply2MultiDimFunctionGraphs().
|
overrideprotectedvirtual |
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_ELEMENT >.
Definition at line 117 of file mddOperatorStrategy_tpl.h.
References gum::Regress< GUM_ELEMENT, COMBINEOPERATOR, PROJECTOPERATOR, TerminalNodePolicy >::compute(), gum::MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy >::copy(), gum::BijectionImplementation< T1, T2, std::is_scalar< T1 >::value &&std::is_scalar< T2 >::value >::first(), gum::MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy >::getReducedAndOrderedInstance(), lastVar_(), gum::FMDP< GUM_ELEMENT >::mapMainPrime(), RECAST, shouldEleminateVar_(), and gum::FMDP< GUM_ELEMENT >::transition().
|
protected |
Indicates if whether or not given var is to be eliminated. Called by the evalQaction.
Definition at line 231 of file mddOperatorStrategy_tpl.h.
References gum::BijectionImplementation< T1, T2, std::is_scalar< T1 >::value &&std::is_scalar< T2 >::value >::existsSecond(), and gum::FMDP< GUM_ELEMENT >::mapMainPrime().
Referenced by regress().
|
overrideprotectedvirtual |
Subtract current VFunction from old VFunction to see if threshold is reached or not.
| old | and new VFuntion |
Implements gum::IOperatorStrategy< GUM_ELEMENT >.
Definition at line 222 of file mddOperatorStrategy_tpl.h.
References gum::IOperatorStrategy< GUM_ELEMENT >::deleteFunctionGraph_(), and gum::subtract2MultiDimFunctionGraphs().