aGrUM  0.16.0
treeOperatorStrategy.h
Go to the documentation of this file.
1 
30 // =========================================================================
31 #ifndef GUM_TreeOperatorStrategy_H
32 #define GUM_TreeOperatorStrategy_H
33 // =========================================================================
35 // =========================================================================
36 
37 namespace gum {
38 
49  template < typename GUM_SCALAR >
50  class TreeOperatorStrategy : public IOperatorStrategy< GUM_SCALAR > {
51  // ###################################################################
53  // ###################################################################
55  public:
56  // ==========================================================================
58  // ==========================================================================
60 
61  // ==========================================================================
63  // ==========================================================================
65 
67 
68 
69  // ###################################################################
71  // ###################################################################
73  public:
77  }
81  SetTerminalNodePolicy >::getTreeInstance();
82  }
86  SetTerminalNodePolicy >::getTreeInstance();
87  }
88 
90 
91  // ###################################################################
93  // ###################################################################
95 
96  protected:
97  // ==========================================================================
100  // ==========================================================================
103  Idx actionId,
104  const FMDP< GUM_SCALAR >* fmdp,
105  const Set< const DiscreteVariable* >& elVarSeq);
106 
107  // ==========================================================================
109  // ==========================================================================
113  Idx del = 3);
114 
115  // ==========================================================================
117  // ==========================================================================
121  Idx del = 3);
122 
123  // ==========================================================================
125  // ==========================================================================
129  Idx del = 3);
130 
131  // ==========================================================================
133  // ==========================================================================
137  SetTerminalNodePolicy >* f1,
139  SetTerminalNodePolicy >* f2,
140  Idx del = 3);
141 
142  // ==========================================================================
144  // ==========================================================================
148  Idx del = 1);
149 
150  // ==========================================================================
152  // ==========================================================================
156  Idx del = 0);
157 
158 
160  };
161 } /* namespace gum */
162 
163 
165 
166 #endif // GUM_TreeOperatorStrategy_H
virtual MultiDimFunctionGraph< GUM_SCALAR > * minimize(const MultiDimFunctionGraph< GUM_SCALAR > *f1, const MultiDimFunctionGraph< GUM_SCALAR > *f2, Idx del=3)
~TreeOperatorStrategy()
Default destructor.
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)
A class to store the optimal actions.
Definition: actionSet.h:88
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
<agrum/FMDP/SDyna/IOperatorStrategy.h>
This class is used to implement factored decision process.
Definition: fmdp.h:57
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Definition: agrum.h:25
Class to handle efficiently argMaxSet.
Definition: argMaxSet.h:57
Representation of a setA Set is a structure that contains arbitrary elements.
Definition: set.h:165
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.
MultiDimFunctionGraph< ActionSet, SetTerminalNodePolicy > * getAggregatorInstance()
<agrum/FMDP/planning/treeOperatorStrategy.h>
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.
MultiDimFunctionGraph< ArgMaxSet< GUM_SCALAR, Idx >, SetTerminalNodePolicy > * getArgMaxFunctionInstance()
virtual MultiDimFunctionGraph< GUM_SCALAR > * multiply(const MultiDimFunctionGraph< GUM_SCALAR > *f1, const MultiDimFunctionGraph< GUM_SCALAR > *f2, Idx del=3)
Implementation of a Terminal Node Policy that maps nodeid to a set of value.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
TreeOperatorStrategy()
Default constructor.
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.
static MultiDimFunctionGraph< GUM_SCALAR, TerminalNodePolicy > * getTreeInstance()
Returns an arborescent instance.
virtual MultiDimFunctionGraph< GUM_SCALAR > * maximize(const MultiDimFunctionGraph< GUM_SCALAR > *f1, const MultiDimFunctionGraph< GUM_SCALAR > *f2, Idx del=3)
Size Idx
Type for indexes.
Definition: types.h:53
MultiDimFunctionGraph< GUM_SCALAR, ExactTerminalNodePolicy > * getFunctionInstance()