33 #include <agrum/tools/multidim/implementations/multiDimFunctionGraph.h> 35 #include <agrum/FMDP/learning/datastructure/incrementalGraphLearner.h> 36 #include <agrum/FMDP/learning/datastructure/leaves/abstractLeaf.h> 37 #include <agrum/FMDP/learning/datastructure/leaves/concreteLeaf.h> 38 #include <agrum/FMDP/learning/datastructure/leaves/leafAggregator.h> 39 #include <agrum/FMDP/learning/datastructure/variableselector.h> 41 #include <agrum/tools/variables/discreteVariable.h> 56 template < TESTNAME AttributeSelection,
bool isScalar =
false >
67 IMDDI(MultiDimFunctionGraph<
double >* target,
68 double attributeSelectionThreshold,
69 double pairSelectionThreshold,
70 Set<
const DiscreteVariable* > attributeListe,
71 const DiscreteVariable* learnedValue);
76 IMDDI(MultiDimFunctionGraph<
double >* target,
77 double attributeSelectionThreshold,
78 double pairSelectionThreshold,
79 Set<
const DiscreteVariable* > attributeListe);
112 void chgNodeBoundVar_(NodeId chgedNodeId,
const DiscreteVariable* desiredVar);
157 for (SequenceIteratorSafe<
const DiscreteVariable* > varIter = _varOrder_.beginSafe();
158 varIter != _varOrder_.endSafe();
184 #include <agrum/FMDP/learning/datastructure/imddi_tpl.h> void _updateScore_(const DiscreteVariable *, NodeId, VariableSelector &vs)
Computes the score of the given variables for the given node.
NodeId _insertLeafInFunctionGraph_(AbstractLeaf *, Int2Type< false >)
Computes the score of the given variables for the given node.
void updateGraph()
Updates the tree after a new observation has been added.
void addObservation(const Observation *)
Adds a new observation to the structure.
INLINE void emplace(Args &&... args)
void updateFunctionGraph()
Computes the score of the given variables for the given node.
void _addLeaf_(NodeId)
Adds a new observation to the structure.
void removeNode_(NodeId removedNodeId)
Adds a new observation to the structure.
double _attributeSelectionThreshold_
The threshold above which we consider variables to be dependant.
Sequence< const DiscreteVariable *> _varOrder_
Idx _nbTotalObservation_
The total number of observation added to this tree.
~IMDDI()
Default destructor.
NodeId insertLeafNode_(NodeDatabase< AttributeSelection, isScalar > *nDB, const DiscreteVariable *boundVar, Set< const Observation * > *sonsMap)
Adds a new observation to the structure.
void insertSetOfVars(MultiDimFunctionGraph< double > *ret) const
IMDDI(MultiDimFunctionGraph< double > *target, double attributeSelectionThreshold, double pairSelectionThreshold, Set< const DiscreteVariable * > attributeListe, const DiscreteVariable *learnedValue)
Variable Learner constructor.
void _downdateScore_(const DiscreteVariable *, NodeId, VariableSelector &vs)
Computes the score of the given variables for the given node.
void updateNodeWithObservation_(const Observation *newObs, NodeId currentNodeId)
Adds a new observation to the structure.
void _updateNodeSet_(Set< NodeId > &, const DiscreteVariable *, VariableSelector &)
For each node in the given set, this methods checks whether or not we should installed the given vari...
void chgNodeBoundVar_(NodeId chgedNodeId, const DiscreteVariable *desiredVar)
Adds a new observation to the structure.
HashTable< NodeId, AbstractLeaf *> _leafMap_
void _removeLeaf_(NodeId)
Adds a new observation to the structure.
void _rebuildFunctionGraph_()
Computes the score of the given variables for the given node.
IMDDI(MultiDimFunctionGraph< double > *target, double attributeSelectionThreshold, double pairSelectionThreshold, Set< const DiscreteVariable * > attributeListe)
Reward Learner constructor.