![]() |
aGrUM 2.3.2
a C++ library for (probabilistic) graphical models
|
<agrum/FMDP/planning/treeOperatorStrategy.h> More...
#include <treeOperatorStrategy.h>
Public Member Functions | |
Constructor & destructor. | |
| TreeOperatorStrategy () | |
| Default constructor. | |
| ~TreeOperatorStrategy () | |
| Default destructor. | |
| MultiDimFunctionGraph< GUM_SCALAR, ExactTerminalNodePolicy > * | getFunctionInstance () |
| MultiDimFunctionGraph< ArgMaxSet< GUM_SCALAR, Idx >, SetTerminalNodePolicy > * | getArgMaxFunctionInstance () |
| MultiDimFunctionGraph< ActionSet, SetTerminalNodePolicy > * | getAggregatorInstance () |
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) |
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) |
| ArgMaximizes between f2 and f1. | |
| 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 f2 or f1). | |
| virtual MultiDimFunctionGraph< GUM_SCALAR > * | subtract (const MultiDimFunctionGraph< GUM_SCALAR > *f1, const MultiDimFunctionGraph< GUM_SCALAR > *f2, Idx del=0) |
| Subtract current f1 from old f1 to see if threshold is reached or not. | |
<agrum/FMDP/planning/treeOperatorStrategy.h>
A class to find optimal policy for a given FMDP.
Perform a TreeOperatorStrategy planning on given in parameter factored markov decision process
Definition at line 70 of file treeOperatorStrategy.h.
| INLINE gum::TreeOperatorStrategy< GUM_SCALAR >::TreeOperatorStrategy | ( | ) |
Default constructor.
Definition at line 85 of file treeOperatorStrategy_tpl.h.
References TreeOperatorStrategy().
Referenced by TreeOperatorStrategy(), and ~TreeOperatorStrategy().
| INLINE gum::TreeOperatorStrategy< GUM_SCALAR >::~TreeOperatorStrategy | ( | ) |
Default destructor.
Definition at line 93 of file treeOperatorStrategy_tpl.h.
References TreeOperatorStrategy().
|
protectedvirtual |
Adds reward to given function( whether a f2 or f1).
| 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 treeOperatorStrategy_tpl.h.
References gum::TreeOperator< GUM_SCALAR, COMBINEOPERATOR, TerminalNodePolicy >::compute(), and gum::IOperatorStrategy< GUM_SCALAR >::deleteFunctionGraph_().
|
protectedvirtual |
ArgMaximizes between f2 and f1.
Implements gum::IOperatorStrategy< GUM_SCALAR >.
Definition at line 185 of file treeOperatorStrategy_tpl.h.
References gum::TreeOperator< GUM_SCALAR, COMBINEOPERATOR, 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 treeOperatorStrategy.h.
References gum::MultiDimFunctionGraph< GUM_SCALAR, TerminalNodePolicy >::getTreeInstance().
|
inlinevirtual |
Implements gum::IOperatorStrategy< GUM_SCALAR >.
Definition at line 101 of file treeOperatorStrategy.h.
|
inlinevirtual |
Implements gum::IOperatorStrategy< GUM_SCALAR >.
Definition at line 96 of file treeOperatorStrategy.h.
References gum::MultiDimFunctionGraph< GUM_SCALAR, TerminalNodePolicy >::getTreeInstance().
|
protectedvirtual |
Implements gum::IOperatorStrategy< GUM_SCALAR >.
Definition at line 143 of file treeOperatorStrategy_tpl.h.
References gum::TreeOperator< GUM_SCALAR, COMBINEOPERATOR, TerminalNodePolicy >::compute(), and gum::IOperatorStrategy< GUM_SCALAR >::deleteFunctionGraph_().
|
protectedvirtual |
Implements gum::IOperatorStrategy< GUM_SCALAR >.
Definition at line 157 of file treeOperatorStrategy_tpl.h.
References gum::TreeOperator< GUM_SCALAR, COMBINEOPERATOR, TerminalNodePolicy >::compute(), and gum::IOperatorStrategy< GUM_SCALAR >::deleteFunctionGraph_().
|
protectedvirtual |
Implements gum::IOperatorStrategy< GUM_SCALAR >.
Definition at line 170 of file treeOperatorStrategy_tpl.h.
References gum::TreeOperator< GUM_SCALAR, COMBINEOPERATOR, TerminalNodePolicy >::compute(), and gum::IOperatorStrategy< GUM_SCALAR >::deleteFunctionGraph_().
|
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 115 of file treeOperatorStrategy_tpl.h.
References gum::TreeRegress< GUM_SCALAR, COMBINEOPERATOR, PROJECTOPERATOR, TerminalNodePolicy >::compute(), gum::BijectionImplementation< T1, T2, std::is_scalar< T1 >::value &&std::is_scalar< T2 >::value >::first(), gum::BijectionImplementation< T1, T2, Gen >::insert(), gum::FMDP< GUM_SCALAR >::mapMainPrime(), RECAST, gum::FMDP< GUM_SCALAR >::transition(), and gum::MultiDimImplementation< GUM_SCALAR >::variablesSequence().
|
protectedvirtual |
Subtract current f1 from old f1 to see if threshold is reached or not.
| old | and new VFuntion |
Implements gum::IOperatorStrategy< GUM_SCALAR >.
Definition at line 222 of file treeOperatorStrategy_tpl.h.
References gum::TreeOperator< GUM_SCALAR, COMBINEOPERATOR, TerminalNodePolicy >::compute(), and gum::IOperatorStrategy< GUM_SCALAR >::deleteFunctionGraph_().