![]() |
aGrUM
0.16.0
|
Learn a graphical representation of a function as a decision tree. More...
#include <agrum/FMDP/planning/FunctionGraph/iti.h>
Public Member Functions | |
Size | size () |
Constructor & destructor. | |
ITI (MultiDimFunctionGraph< double > *target, double attributeSelectionThreshold, Set< const DiscreteVariable * > attributeListe, const DiscreteVariable *learnedValue) | |
ITI constructor for functions describing the behaviour of one variable according to a set of other variable such as conditionnal probabilities. More... | |
ITI (MultiDimFunctionGraph< double > *target, double attributeSelectionThreshold, Set< const DiscreteVariable * > attributeListe) | |
ITI constructeur for real functions. More... | |
~ITI () | |
Default destructor. More... | |
Visit Methods | |
NodeId | root () const |
bool | isTerminal (NodeId ni) const |
const DiscreteVariable * | nodeVar (NodeId ni) const |
NodeId | nodeSon (NodeId ni, Idx modality) const |
Idx | nodeNbObservation (NodeId ni) const |
virtual void | insertSetOfVars (MultiDimFunctionGraph< double > *ret) const |
Protected Attributes | |
MultiDimFunctionGraph< double > * | _target |
The final diagram we're building. More... | |
Set< const DiscreteVariable *> | _setOfVars |
const DiscreteVariable * | _value |
Sequence< ValueType > | _valueAssumed |
bool | _needUpdate |
Model handling datastructures | |
NodeGraphPart | _model |
The source of nodeId. More... | |
NodeId | _root |
The root of the ordered tree. More... | |
HashTable< NodeId, const DiscreteVariable *> | _nodeVarMap |
Gives for any node its associated variable. More... | |
HashTable< NodeId, NodeId *> | _nodeSonsMap |
A table giving for any node a table mapping to its son idx is the modality of associated variable. More... | |
HashTable< const DiscreteVariable *, LinkedList< NodeId > *> | _var2Node |
Associates to any variable the list of all nodes associated to this variable. More... | |
HashTable< NodeId, NodeDatabase< AttributeSelection, isScalar > *> | _nodeId2Database |
This hashtable binds every node to an associated NodeDatabase which handles every observation that concerns that node. More... | |
HashTable< NodeId, Set< const Observation *> *> | _leafDatabase |
This hashtable binds to every leaf an associated set of all hte observations compatible with it. More... | |
Protected Member Functions | |
void | _insertSetOfVars (MultiDimFunctionGraph< double > *ret) |
_insertSetOfVars More... | |
Graph Structure update methods | |
virtual void | updateVar (const DiscreteVariable *) |
If a new modality appears to exists for given variable, call this method to turn every associated node to this variable into leaf. Graph has then indeed to be revised. More... | |
void | _updateNode (NodeId nody, Set< const DiscreteVariable * > &bestVars) |
From the given sets of node, selects randomly one and installs it on given node. More... | |
virtual void | _convertNode2Leaf (NodeId) |
Turns the given node into a leaf if not already so. More... | |
virtual void | _transpose (NodeId, const DiscreteVariable *) |
Installs given variable to the given node, ensuring that the variable is not present in its subtree. More... | |
virtual NodeId | _insertInternalNode (NodeDatabase< AttributeSelection, isScalar > *nDB, const DiscreteVariable *boundVar, NodeId *sonsMap) |
inserts a new internal node in internal graph More... | |
virtual NodeId | _insertLeafNode (NodeDatabase< AttributeSelection, isScalar > *nDB, const DiscreteVariable *boundVar, Set< const Observation * > *obsSet) |
inserts a new leaf node in internal graohs More... | |
New Observation insertion methods | |
void | addObservation (const Observation *obs) |
Inserts a new observation. More... | |
void | _updateNodeWithObservation (const Observation *newObs, NodeId currentNodeId) |
Will update internal graph's NodeDatabase of given node with the new observation. More... | |
Graph Structure update methods | |
void | updateGraph () |
Updates the internal graph after a new observation has been added. More... | |
NodeId | _insertNode (NodeDatabase< AttributeSelection, isScalar > *nDB, const DiscreteVariable *boundVar) |
inserts a new node in internal graph More... | |
void | _chgNodeBoundVar (NodeId chgedNodeId, const DiscreteVariable *desiredVar) |
Changes the associated variable of a node. More... | |
void | _removeNode (NodeId removedNodeId) |
Removes a node from the internal graph. More... | |
Function Graph Updating methods | |
void | updateFunctionGraph () |
Updates target to currently learned graph structure. More... | |
NodeId | __insertNodeInFunctionGraph (NodeId src) |
Inserts an internal node in the target. More... | |
NodeId | __insertTerminalNode (NodeId src) |
Insert a terminal node in the target. More... | |
NodeId | __insertTerminalNode (NodeId src, Int2Type< true >) |
Insert a terminal node in the target. More... | |
NodeId | __insertTerminalNode (NodeId src, Int2Type< false >) |
Insert a terminal node in the target. More... | |
Learn a graphical representation of a function as a decision tree.
This learning is done incrementaly. Hence first observation are add to the structure and then the structure is updated. Maintains two graph function : one internal for the learning and a target which is updated on demand.
gum::ITI< AttributeSelection, isScalar >::ITI | ( | MultiDimFunctionGraph< double > * | target, |
double | attributeSelectionThreshold, | ||
Set< const DiscreteVariable * > | attributeListe, | ||
const DiscreteVariable * | learnedValue | ||
) |
ITI constructor for functions describing the behaviour of one variable according to a set of other variable such as conditionnal probabilities.
target | : the MultiDimFunctionGraph in which we load the structure |
attributeSelectionThreshold | : threshold under which a node is not installed (pe-pruning) |
attributeListe | : Set of vars on which we rely to explain the behaviour of learned variable |
learnedValue | : the variable from which we try to learn the behaviour |
target | : the MultiDimFunctionGraph in which we load the structure |
attributeSelectionThreshold | : threshold under which a node is not installed (pe-pruning) |
temporaryAPIfix | : Issue in API in regard to IMDDI |
attributeListe | : Set of vars on which we rely to explain the behaviour of learned variable |
learnedValue | : the variable from which we try to learn the behaviour |
Definition at line 61 of file iti_tpl.h.
References gum::ITI< AttributeSelection, isScalar >::__staleTable, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_root, and gum::HashTable< Key, Val, Alloc >::insert().
gum::ITI< AttributeSelection, isScalar >::ITI | ( | MultiDimFunctionGraph< double > * | target, |
double | attributeSelectionThreshold, | ||
Set< const DiscreteVariable * > | attributeListe | ||
) |
ITI constructeur for real functions.
We try to predict the output of a function f given a set of variable
target | : the MultiDimFunctionGraph in which we load the structure |
attributeSelectionThreshold | : threshold under which a node is not installed (pe-pruning) |
attributeListe | : Set of vars on which we rely to explain the behaviour of learned function |
We try to predict the output of a function f given a set of variable
target | : the MultiDimFunctionGraph in which we load the structure |
attributeSelectionThreshold | : threshold under which a node is not installed (pe-pruning) |
temporaryAPIfix | : Issue in API in regard to IMDDI |
attributeListeSet | of vars on which we rely to explain the behaviour of learned function |
Definition at line 87 of file iti_tpl.h.
References gum::ITI< AttributeSelection, isScalar >::__staleTable, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_root, and gum::HashTable< Key, Val, Alloc >::insert().
|
inline |
Default destructor.
Definition at line 105 of file iti.h.
References gum::ITI< AttributeSelection, isScalar >::__insertNodeInFunctionGraph(), gum::ITI< AttributeSelection, isScalar >::_chgNodeBoundVar(), gum::ITI< AttributeSelection, isScalar >::_insertNode(), gum::ITI< AttributeSelection, isScalar >::_removeNode(), gum::ITI< AttributeSelection, isScalar >::_updateNodeWithObservation(), gum::ITI< AttributeSelection, isScalar >::addObservation(), gum::ITI< AttributeSelection, isScalar >::updateFunctionGraph(), and gum::ITI< AttributeSelection, isScalar >::updateGraph().
|
private |
Inserts an internal node in the target.
src | the source node in internal graph |
the | source node in internal graph |
Definition at line 276 of file iti_tpl.h.
References gum::ITI< AttributeSelection, isScalar >::__insertTerminalNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeSonsMap, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeVarMap, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_target, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_value, gum::MultiDimFunctionGraph< GUM_SCALAR, TerminalNodePolicy >::add(), gum::MultiDimFunctionGraphManager< GUM_SCALAR, TerminalNodePolicy >::addInternalNode(), gum::MultiDimFunctionGraph< GUM_SCALAR, TerminalNodePolicy >::manager(), gum::MultiDimFunctionGraphManager< GUM_SCALAR, TerminalNodePolicy >::setSon(), and gum::MultiDimImplementation< GUM_SCALAR >::variablesSequence().
Referenced by gum::ITI< AttributeSelection, isScalar >::updateFunctionGraph(), and gum::ITI< AttributeSelection, isScalar >::~ITI().
|
inlineprivate |
Insert a terminal node in the target.
This function is a dispatcher that will call the right function according to the value of the template isScalar
src | the source node in the learned graph |
Definition at line 208 of file iti.h.
Referenced by gum::ITI< AttributeSelection, isScalar >::__insertNodeInFunctionGraph().
|
private |
Insert a terminal node in the target.
This function is called if we're learning a real value function. Inserts then a single value in target.
src | the source node in the learned graph |
This function is called if we're learning the behaviour of a variable. Inserts then this variable and the relevant value beneath into target.
the | source node in the learned graph |
Definition at line 342 of file iti_tpl.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeId2Database, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_target, gum::MultiDimFunctionGraphManager< GUM_SCALAR, TerminalNodePolicy >::addTerminalNode(), and gum::MultiDimFunctionGraph< GUM_SCALAR, TerminalNodePolicy >::manager().
|
private |
Insert a terminal node in the target.
This function is called if we're learning the behaviour of a variable. Inserts then this variable and the relevant value beneath into target.
src | the source node in the learned graph |
This function is called if we're learning a real value function. Inserts then a single value in target.
the | source node in the learned graph |
Definition at line 311 of file iti_tpl.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeId2Database, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_target, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_value, gum::MultiDimFunctionGraph< GUM_SCALAR, TerminalNodePolicy >::add(), gum::MultiDimFunctionGraphManager< GUM_SCALAR, TerminalNodePolicy >::addInternalNode(), gum::MultiDimFunctionGraphManager< GUM_SCALAR, TerminalNodePolicy >::addTerminalNode(), gum::DiscreteVariable::domainSize(), gum::MultiDimFunctionGraph< GUM_SCALAR, TerminalNodePolicy >::manager(), SOA_ALLOCATE, and gum::MultiDimImplementation< GUM_SCALAR >::variablesSequence().
|
protectedvirtual |
Changes the associated variable of a node.
chgedNodeId | : the node to change |
desiredVar | : its new associated variable |
Reimplemented from gum::IncrementalGraphLearner< AttributeSelection, isScalar >.
Definition at line 229 of file iti_tpl.h.
References gum::ITI< AttributeSelection, isScalar >::__staleTable, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_chgNodeBoundVar(), and gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeVarMap.
Referenced by gum::ITI< AttributeSelection, isScalar >::~ITI().
|
protectedvirtualinherited |
Turns the given node into a leaf if not already so.
Definition at line 211 of file incrementalGraphLearner_tpl.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_chgNodeBoundVar(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_leafDatabase, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeSonsMap, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeVarMap, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_removeNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_value, gum::HashTable< Key, Val, Alloc >::erase(), and SOA_DEALLOCATE.
Referenced by gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_updateNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_updateNodeWithObservation(), gum::IMDDI< AttributeSelection, isScalar >::updateGraph(), and gum::IncrementalGraphLearner< AttributeSelection, isScalar >::updateVar().
|
protectedvirtualinherited |
inserts a new internal node in internal graph
nDB | : the associated database |
boundVar | : the associated variable |
sonsMap | : a table giving node's sons node |
Definition at line 383 of file incrementalGraphLearner_tpl.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_insertNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeSonsMap, and gum::HashTable< Key, Val, Alloc >::insert().
Referenced by gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_transpose(), and gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_updateNodeWithObservation().
|
protectedvirtualinherited |
inserts a new leaf node in internal graohs
nDB | : the associated database |
boundVar | : the associated variable |
obsSet | : the set of observation this leaf retains |
Reimplemented in gum::IMDDI< AttributeSelection, isScalar >.
Definition at line 403 of file incrementalGraphLearner_tpl.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_insertNode(), and gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_leafDatabase.
Referenced by gum::IMDDI< AttributeSelection, isScalar >::_insertLeafNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_transpose(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_updateNodeWithObservation(), and gum::IncrementalGraphLearner< AttributeSelection, isScalar >::IncrementalGraphLearner().
|
protectedvirtual |
inserts a new node in internal graph
inserts a new node in internal graohs
nDB | : the associated database |
boundVar | : the associated variable |
Reimplemented from gum::IncrementalGraphLearner< AttributeSelection, isScalar >.
Definition at line 210 of file iti_tpl.h.
References gum::ITI< AttributeSelection, isScalar >::__staleTable, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_insertNode(), and gum::HashTable< Key, Val, Alloc >::insert().
Referenced by gum::ITI< AttributeSelection, isScalar >::~ITI().
|
inlineprotected |
_insertSetOfVars
ret |
Definition at line 244 of file iti.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_setOfVars, and gum::MultiDimFunctionGraph< GUM_SCALAR, TerminalNodePolicy >::add().
|
protectedvirtual |
Removes a node from the internal graph.
removedNodeId | : the node to remove |
Reimplemented from gum::IncrementalGraphLearner< AttributeSelection, isScalar >.
Definition at line 246 of file iti_tpl.h.
References gum::ITI< AttributeSelection, isScalar >::__staleTable, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_removeNode(), and gum::HashTable< Key, Val, Alloc >::erase().
Referenced by gum::ITI< AttributeSelection, isScalar >::~ITI().
|
protectedvirtualinherited |
Installs given variable to the given node, ensuring that the variable is not present in its subtree.
Definition at line 240 of file incrementalGraphLearner_tpl.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::__branchObs(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_chgNodeBoundVar(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_insertInternalNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_insertLeafNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_leafDatabase, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeId2Database, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeSonsMap, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeVarMap, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_removeNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_setOfVars, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_value, gum::NodeDatabase< AttributeSelection, isScalar >::addObservation(), gum::DiscreteVariable::domainSize(), gum::Set< Key, Alloc >::insert(), gum::HashTable< Key, Val, Alloc >::insert(), SOA_ALLOCATE, and SOA_DEALLOCATE.
Referenced by gum::IMDDI< AttributeSelection, isScalar >::__updateNodeSet(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_updateNode(), and gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_updateNodeWithObservation().
|
protectedinherited |
From the given sets of node, selects randomly one and installs it on given node.
Chechks of course if node's current variable is not in that set first.
nody | : the node we update |
bestVars | : the set of interessting vars to be installed here |
Chechks of course if node's current variable is not in that set first.
nody | : the node we update |
bestVar | : the set of interessting vars to be installed here |
Definition at line 180 of file incrementalGraphLearner_tpl.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_convertNode2Leaf(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeVarMap, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_transpose(), gum::Set< Key, Alloc >::cbeginSafe(), gum::Set< Key, Alloc >::cendSafe(), gum::Set< Key, Alloc >::empty(), gum::Set< Key, Alloc >::exists(), and gum::Set< Key, Alloc >::size().
Referenced by gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_updateNodeWithObservation(), and gum::ITI< AttributeSelection, isScalar >::updateGraph().
|
protectedvirtual |
Will update internal graph's NodeDatabase of given node with the new observation.
newObs | |
currentNodeId |
Reimplemented from gum::IncrementalGraphLearner< AttributeSelection, isScalar >.
Definition at line 126 of file iti_tpl.h.
References gum::ITI< AttributeSelection, isScalar >::__staleTable.
Referenced by gum::ITI< AttributeSelection, isScalar >::~ITI().
|
virtual |
Inserts a new observation.
obs | the new observation to learn |
the | new observation to learn |
Reimplemented from gum::IncrementalGraphLearner< AttributeSelection, isScalar >.
Definition at line 112 of file iti_tpl.h.
References gum::ITI< AttributeSelection, isScalar >::__nbTotalObservation, and gum::IncrementalGraphLearner< AttributeSelection, isScalar >::addObservation().
Referenced by gum::ITI< AttributeSelection, isScalar >::~ITI().
|
inlinevirtualinherited |
Implements gum::IVisitableGraphLearner.
Reimplemented in gum::IMDDI< AttributeSelection, isScalar >.
Definition at line 344 of file incrementalGraphLearner.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_setOfVars, and gum::MultiDimFunctionGraph< GUM_SCALAR, TerminalNodePolicy >::add().
|
inlinevirtualinherited |
Implements gum::IVisitableGraphLearner.
Definition at line 318 of file incrementalGraphLearner.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeSonsMap, and gum::HashTable< Key, Val, Alloc >::exists().
|
inlinevirtualinherited |
Implements gum::IVisitableGraphLearner.
Definition at line 337 of file incrementalGraphLearner.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeId2Database.
|
inlinevirtualinherited |
Implements gum::IVisitableGraphLearner.
Definition at line 330 of file incrementalGraphLearner.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeSonsMap.
|
inlinevirtualinherited |
Implements gum::IVisitableGraphLearner.
Definition at line 323 of file incrementalGraphLearner.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeVarMap.
|
inlinevirtualinherited |
Implements gum::IVisitableGraphLearner.
Definition at line 313 of file incrementalGraphLearner.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_root.
|
inlineinherited |
Definition at line 302 of file incrementalGraphLearner.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeVarMap.
|
virtual |
Updates target to currently learned graph structure.
Implements gum::IncrementalGraphLearner< AttributeSelection, isScalar >.
Definition at line 261 of file iti_tpl.h.
References gum::ITI< AttributeSelection, isScalar >::__insertNodeInFunctionGraph(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_root, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_target, gum::MultiDimFunctionGraph< GUM_SCALAR, TerminalNodePolicy >::clear(), gum::MultiDimFunctionGraph< GUM_SCALAR, TerminalNodePolicy >::manager(), and gum::MultiDimFunctionGraphManager< GUM_SCALAR, TerminalNodePolicy >::setRootNode().
Referenced by gum::ITI< AttributeSelection, isScalar >::~ITI().
|
virtual |
Updates the internal graph after a new observation has been added.
Implements gum::IncrementalGraphLearner< AttributeSelection, isScalar >.
Definition at line 143 of file iti_tpl.h.
References gum::ITI< AttributeSelection, isScalar >::__attributeSelectionThreshold, gum::ITI< AttributeSelection, isScalar >::__staleTable, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeId2Database, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeSonsMap, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeVarMap, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_root, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_setOfVars, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_updateNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_value, gum::HashTable< Key, Val, Alloc >::beginSafe(), gum::HashTable< Key, Val, Alloc >::cendSafe(), gum::Set< Key, Alloc >::clear(), gum::HashTable< Key, Val, Alloc >::endSafe(), gum::Set< Key, Alloc >::erase(), gum::Set< Key, Alloc >::insert(), and gum::HashTable< Key, Val, Alloc >::insert().
Referenced by gum::ITI< AttributeSelection, isScalar >::~ITI().
|
virtualinherited |
If a new modality appears to exists for given variable, call this method to turn every associated node to this variable into leaf. Graph has then indeed to be revised.
Definition at line 158 of file incrementalGraphLearner_tpl.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_convertNode2Leaf(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_var2Node, gum::Link< T >::element(), and gum::Link< T >::nextLink().
Referenced by gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_updateNodeWithObservation().
|
private |
The threshold above which we consider variables to be dependant.
Definition at line 262 of file iti.h.
Referenced by gum::ITI< AttributeSelection, isScalar >::updateGraph().
|
private |
The total number of observation added to this tree.
Definition at line 259 of file iti.h.
Referenced by gum::ITI< AttributeSelection, isScalar >::addObservation().
|
private |
Hashtable indicating if given node has been modified (upon receiving new exemple or through a transpose) The aim is not if we have revise the installed variable on that node.
Definition at line 256 of file iti.h.
Referenced by gum::ITI< AttributeSelection, isScalar >::_chgNodeBoundVar(), gum::ITI< AttributeSelection, isScalar >::_insertNode(), gum::ITI< AttributeSelection, isScalar >::_removeNode(), gum::ITI< AttributeSelection, isScalar >::_updateNodeWithObservation(), gum::ITI< AttributeSelection, isScalar >::ITI(), and gum::ITI< AttributeSelection, isScalar >::updateGraph().
|
protectedinherited |
This hashtable binds to every leaf an associated set of all hte observations compatible with it.
Definition at line 399 of file incrementalGraphLearner.h.
Referenced by gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_chgNodeBoundVar(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_convertNode2Leaf(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_insertLeafNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_removeNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_transpose(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::addObservation(), and gum::IncrementalGraphLearner< AttributeSelection, isScalar >::~IncrementalGraphLearner().
|
protectedinherited |
The source of nodeId.
Definition at line 364 of file incrementalGraphLearner.h.
Referenced by gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_insertNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_removeNode(), and gum::IncrementalGraphLearner< AttributeSelection, isScalar >::IncrementalGraphLearner().
|
protectedinherited |
Definition at line 412 of file incrementalGraphLearner.h.
Referenced by gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_chgNodeBoundVar(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_insertNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_removeNode(), and gum::IMDDI< AttributeSelection, isScalar >::updateFunctionGraph().
|
protectedinherited |
This hashtable binds every node to an associated NodeDatabase which handles every observation that concerns that node.
Definition at line 393 of file incrementalGraphLearner.h.
Referenced by gum::IMDDI< AttributeSelection, isScalar >::__addLeaf(), gum::IMDDI< AttributeSelection, isScalar >::__downdateScore(), gum::ITI< AttributeSelection, isScalar >::__insertTerminalNode(), gum::IMDDI< AttributeSelection, isScalar >::__updateNodeSet(), gum::IMDDI< AttributeSelection, isScalar >::__updateScore(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_insertNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_removeNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_transpose(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_updateNodeWithObservation(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::nodeNbObservation(), gum::ITI< AttributeSelection, isScalar >::updateGraph(), and gum::IncrementalGraphLearner< AttributeSelection, isScalar >::~IncrementalGraphLearner().
|
protectedinherited |
A table giving for any node a table mapping to its son idx is the modality of associated variable.
Definition at line 380 of file incrementalGraphLearner.h.
Referenced by gum::ITI< AttributeSelection, isScalar >::__insertNodeInFunctionGraph(), gum::IMDDI< AttributeSelection, isScalar >::__rebuildFunctionGraph(), gum::IMDDI< AttributeSelection, isScalar >::__updateNodeSet(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_convertNode2Leaf(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_insertInternalNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_removeNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_transpose(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::addObservation(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::isTerminal(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::nodeSon(), gum::ITI< AttributeSelection, isScalar >::updateGraph(), and gum::IncrementalGraphLearner< AttributeSelection, isScalar >::~IncrementalGraphLearner().
|
protectedinherited |
Gives for any node its associated variable.
Definition at line 374 of file incrementalGraphLearner.h.
Referenced by gum::ITI< AttributeSelection, isScalar >::__insertNodeInFunctionGraph(), gum::IMDDI< AttributeSelection, isScalar >::__updateNodeSet(), gum::IMDDI< AttributeSelection, isScalar >::_chgNodeBoundVar(), gum::ITI< AttributeSelection, isScalar >::_chgNodeBoundVar(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_chgNodeBoundVar(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_convertNode2Leaf(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_insertNode(), gum::IMDDI< AttributeSelection, isScalar >::_removeNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_removeNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_transpose(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_updateNode(), gum::IMDDI< AttributeSelection, isScalar >::_updateNodeWithObservation(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::addObservation(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::nodeVar(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::size(), gum::ITI< AttributeSelection, isScalar >::updateGraph(), and gum::IncrementalGraphLearner< AttributeSelection, isScalar >::~IncrementalGraphLearner().
|
protectedinherited |
The root of the ordered tree.
Definition at line 369 of file incrementalGraphLearner.h.
Referenced by gum::IMDDI< AttributeSelection, isScalar >::__rebuildFunctionGraph(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::addObservation(), gum::IMDDI< AttributeSelection, isScalar >::IMDDI(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::IncrementalGraphLearner(), gum::ITI< AttributeSelection, isScalar >::ITI(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::root(), gum::ITI< AttributeSelection, isScalar >::updateFunctionGraph(), gum::IMDDI< AttributeSelection, isScalar >::updateGraph(), and gum::ITI< AttributeSelection, isScalar >::updateGraph().
|
protectedinherited |
Definition at line 407 of file incrementalGraphLearner.h.
Referenced by gum::ITI< AttributeSelection, isScalar >::_insertSetOfVars(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_transpose(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::IncrementalGraphLearner(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::insertSetOfVars(), gum::IMDDI< AttributeSelection, isScalar >::updateGraph(), and gum::ITI< AttributeSelection, isScalar >::updateGraph().
|
protectedinherited |
The final diagram we're building.
Definition at line 405 of file incrementalGraphLearner.h.
Referenced by gum::IMDDI< AttributeSelection, isScalar >::__insertLeafInFunctionGraph(), gum::ITI< AttributeSelection, isScalar >::__insertNodeInFunctionGraph(), gum::ITI< AttributeSelection, isScalar >::__insertTerminalNode(), gum::IMDDI< AttributeSelection, isScalar >::__rebuildFunctionGraph(), and gum::ITI< AttributeSelection, isScalar >::updateFunctionGraph().
|
protectedinherited |
Definition at line 409 of file incrementalGraphLearner.h.
Referenced by gum::IncrementalGraphLearner< AttributeSelection, isScalar >::__assumeValue(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::__clearValue(), gum::IMDDI< AttributeSelection, isScalar >::__insertLeafInFunctionGraph(), gum::ITI< AttributeSelection, isScalar >::__insertNodeInFunctionGraph(), gum::ITI< AttributeSelection, isScalar >::__insertTerminalNode(), gum::IMDDI< AttributeSelection, isScalar >::__rebuildFunctionGraph(), gum::IMDDI< AttributeSelection, isScalar >::_chgNodeBoundVar(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_chgNodeBoundVar(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_convertNode2Leaf(), gum::IMDDI< AttributeSelection, isScalar >::_removeNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_transpose(), gum::IMDDI< AttributeSelection, isScalar >::_updateNodeWithObservation(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::IncrementalGraphLearner(), and gum::ITI< AttributeSelection, isScalar >::updateGraph().
|
protectedinherited |
|
protectedinherited |
Associates to any variable the list of all nodes associated to this variable.
Definition at line 386 of file incrementalGraphLearner.h.
Referenced by gum::IMDDI< AttributeSelection, isScalar >::__rebuildFunctionGraph(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_chgNodeBoundVar(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_insertNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_removeNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::IncrementalGraphLearner(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::updateVar(), and gum::IncrementalGraphLearner< AttributeSelection, isScalar >::~IncrementalGraphLearner().