![]() |
aGrUM
0.14.2
|
<agrum/FMDP/learning/datastructure/incrementalGraphLearner> More...
#include <incrementalGraphLearner.h>
Public Member Functions | |
Size | size () |
Function Graph Updating methods | |
virtual void | updateFunctionGraph ()=0 |
Updates target to currently learned graph structure. 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... | |
Constructor & destructor. | |
IncrementalGraphLearner (MultiDimFunctionGraph< double > *target, Set< const DiscreteVariable * > attributesSet, const DiscreteVariable *learnVariable) | |
Default constructor. More... | |
virtual | ~IncrementalGraphLearner () |
Default destructor. More... | |
void | __clearValue () |
Template function dispatcher. More... | |
void | __clearValue (Int2Type< true >) |
In the case where we're learning a function of real values this has to be wiped out upon destruction (to be deprecated) More... | |
void | __clearValue (Int2Type< false >) |
In case where we're learning function of variable behaviour, this should do nothing. More... | |
New Observation insertion methods | |
virtual void | addObservation (const Observation *obs) |
Inserts a new observation. More... | |
void | __assumeValue (const Observation *obs) |
Get value assumed by studied variable for current observation. More... | |
void | __assumeValue (const Observation *obs, Int2Type< true >) |
Inserts a new observation. More... | |
void | __assumeValue (const Observation *obs, Int2Type< false >) |
Inserts a new observation. More... | |
Idx | __branchObs (const Observation *obs, const DiscreteVariable *var) |
Seek modality assumed in obs for given var. More... | |
Idx | __branchObs (const Observation *obs, const DiscreteVariable *var, Int2Type< true >) |
Inserts a new observation. More... | |
Idx | __branchObs (const Observation *obs, const DiscreteVariable *var, Int2Type< false >) |
Inserts a new observation. More... | |
virtual 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 | |
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... | |
virtual void | updateGraph ()=0 |
Updates the tree after a new observation has been added. 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 | _insertNode (NodeDatabase< AttributeSelection, isScalar > *nDB, const DiscreteVariable *boundVar) |
inserts a new node in internal graph 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... | |
virtual void | _chgNodeBoundVar (NodeId chgedNodeId, const DiscreteVariable *desiredVar) |
Changes the associated variable of a node. More... | |
virtual void | _removeNode (NodeId removedNodeId) |
Removes a node from the internal graph. More... | |
<agrum/FMDP/learning/datastructure/incrementalGraphLearner>
Abstract class for incrementaly learn a graphical representation of a function. Can handle both function of real values, and function explaining the behaviour of a variable given set of other variables (as typically in conditionnal probabilities)
Maintains two graph in memory, one which is incrementaly updated and the other one which is updated on demand and is usable by the outside.
Definition at line 63 of file incrementalGraphLearner.h.
|
private |
Definition at line 64 of file incrementalGraphLearner.h.
gum::IncrementalGraphLearner< AttributeSelection, isScalar >::IncrementalGraphLearner | ( | MultiDimFunctionGraph< double > * | target, |
Set< const DiscreteVariable * > | varList, | ||
const DiscreteVariable * | value | ||
) |
Default constructor.
target | : the output diagram usable by the outside |
attributesSet | : set of variables from which we try to describe the learned function |
learnVariable | : if we tried to learn a the behaviour of a variable given variable given another set of variables, this is the one. If we are learning a function of real value, this is just a computationnal trick (and is to be deprecated) |
Definition at line 58 of file incrementalGraphLearner_tpl.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_insertLeafNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_model, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_root, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_setOfVars, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_value, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_var2Node, and gum::NodeGraphPart::addNode().
|
virtual |
Default destructor.
Definition at line 84 of file incrementalGraphLearner_tpl.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::__clearValue(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_leafDatabase, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeId2Database, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeSonsMap, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeVarMap, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_var2Node, gum::HashTable< Key, Val, Alloc >::beginSafe(), gum::HashTable< Key, Val, Alloc >::endSafe(), and SOA_DEALLOCATE.
|
inlineprivate |
Get value assumed by studied variable for current observation.
Definition at line 132 of file incrementalGraphLearner.h.
Referenced by gum::IncrementalGraphLearner< AttributeSelection, isScalar >::addObservation().
|
inlineprivate |
Inserts a new observation.
the | new observation to learn |
Definition at line 135 of file incrementalGraphLearner.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_valueAssumed, and gum::Observation::reward().
|
inlineprivate |
Inserts a new observation.
the | new observation to learn |
Definition at line 138 of file incrementalGraphLearner.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_value, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_valueAssumed, and gum::Observation::modality().
|
inlineprivate |
Seek modality assumed in obs for given var.
Definition at line 149 of file incrementalGraphLearner.h.
Referenced by gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_transpose(), and gum::IncrementalGraphLearner< AttributeSelection, isScalar >::addObservation().
|
inlineprivate |
Inserts a new observation.
the | new observation to learn |
Definition at line 152 of file incrementalGraphLearner.h.
References gum::Observation::rModality().
|
inlineprivate |
Inserts a new observation.
the | new observation to learn |
Definition at line 157 of file incrementalGraphLearner.h.
References gum::Observation::modality().
|
inlineprivate |
Template function dispatcher.
Definition at line 97 of file incrementalGraphLearner.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::__clearValue().
Referenced by gum::IncrementalGraphLearner< AttributeSelection, isScalar >::__clearValue(), and gum::IncrementalGraphLearner< AttributeSelection, isScalar >::~IncrementalGraphLearner().
|
inlineprivate |
In the case where we're learning a function of real values this has to be wiped out upon destruction (to be deprecated)
Definition at line 103 of file incrementalGraphLearner.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_value.
|
inlineprivate |
In case where we're learning function of variable behaviour, this should do nothing.
Definition at line 109 of file incrementalGraphLearner.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::addObservation().
|
protectedvirtual |
Changes the associated variable of a node.
chgedNodeId | : the node to change |
desiredVar | : its new associated variable |
Reimplemented in gum::ITI< AttributeSelection, isScalar >, and gum::IMDDI< AttributeSelection, isScalar >.
Definition at line 418 of file incrementalGraphLearner_tpl.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_leafDatabase, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_needUpdate, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeVarMap, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_value, and gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_var2Node.
Referenced by gum::IMDDI< AttributeSelection, isScalar >::_chgNodeBoundVar(), gum::ITI< AttributeSelection, isScalar >::_chgNodeBoundVar(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_convertNode2Leaf(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_transpose(), and gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_updateNodeWithObservation().
|
protectedvirtual |
Turns the given node into a leaf if not already so.
Definition at line 208 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().
|
protectedvirtual |
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 380 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().
|
protectedvirtual |
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 400 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
nDB | : the associated database |
boundVar | : the associated variable |
Reimplemented in gum::ITI< AttributeSelection, isScalar >.
Definition at line 355 of file incrementalGraphLearner_tpl.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_model, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_needUpdate, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeId2Database, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeVarMap, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_var2Node, and gum::NodeGraphPart::addNode().
Referenced by gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_insertInternalNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_insertLeafNode(), gum::ITI< AttributeSelection, isScalar >::_insertNode(), and gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_updateNodeWithObservation().
|
protectedvirtual |
Removes a node from the internal graph.
removedNodeId | : the node to remove |
Reimplemented in gum::ITI< AttributeSelection, isScalar >, and gum::IMDDI< AttributeSelection, isScalar >.
Definition at line 448 of file incrementalGraphLearner_tpl.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_leafDatabase, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_model, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_needUpdate, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeId2Database, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeSonsMap, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeVarMap, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_var2Node, gum::HashTable< Key, Val, Alloc >::erase(), gum::NodeGraphPart::eraseNode(), gum::HashTable< Key, Val, Alloc >::exists(), and SOA_DEALLOCATE.
Referenced by gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_convertNode2Leaf(), gum::IMDDI< AttributeSelection, isScalar >::_removeNode(), gum::ITI< AttributeSelection, isScalar >::_removeNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_transpose(), and gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_updateNodeWithObservation().
|
protectedvirtual |
Installs given variable to the given node, ensuring that the variable is not present in its subtree.
Definition at line 237 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().
|
protected |
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 177 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().
|
inlineprotectedvirtual |
Will update internal graph's NodeDatabase of given node with the new observation.
newObs | |
currentNodeId |
Reimplemented in gum::ITI< AttributeSelection, isScalar >, and gum::IMDDI< AttributeSelection, isScalar >.
Definition at line 172 of file incrementalGraphLearner.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_chgNodeBoundVar(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_convertNode2Leaf(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_insertInternalNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_insertLeafNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_insertNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeId2Database, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_removeNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_transpose(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_updateNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::updateFunctionGraph(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::updateGraph(), and gum::IncrementalGraphLearner< AttributeSelection, isScalar >::updateVar().
Referenced by gum::IncrementalGraphLearner< AttributeSelection, isScalar >::addObservation().
|
virtual |
Inserts a new observation.
the | new observation to learn |
Reimplemented in gum::ITI< AttributeSelection, isScalar >, and gum::IMDDI< AttributeSelection, isScalar >.
Definition at line 122 of file incrementalGraphLearner_tpl.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::__assumeValue(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::__branchObs(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_leafDatabase, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeSonsMap, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeVarMap, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_root, gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_updateNodeWithObservation(), and gum::HashTable< Key, Val, Alloc >::exists().
Referenced by gum::IncrementalGraphLearner< AttributeSelection, isScalar >::__clearValue(), gum::IMDDI< AttributeSelection, isScalar >::addObservation(), and gum::ITI< AttributeSelection, isScalar >::addObservation().
|
inlinevirtual |
Implements gum::IVisitableGraphLearner.
Reimplemented in gum::IMDDI< AttributeSelection, isScalar >.
Definition at line 341 of file incrementalGraphLearner.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_setOfVars, and gum::MultiDimFunctionGraph< GUM_SCALAR, TerminalNodePolicy >::add().
|
inlinevirtual |
Implements gum::IVisitableGraphLearner.
Definition at line 315 of file incrementalGraphLearner.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeSonsMap, and gum::HashTable< Key, Val, Alloc >::exists().
|
inlinevirtual |
Implements gum::IVisitableGraphLearner.
Definition at line 334 of file incrementalGraphLearner.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeId2Database.
|
inlinevirtual |
Implements gum::IVisitableGraphLearner.
Definition at line 327 of file incrementalGraphLearner.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeSonsMap.
|
inlinevirtual |
Implements gum::IVisitableGraphLearner.
Definition at line 320 of file incrementalGraphLearner.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeVarMap.
|
inlinevirtual |
Implements gum::IVisitableGraphLearner.
Definition at line 310 of file incrementalGraphLearner.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_root.
|
inline |
Definition at line 299 of file incrementalGraphLearner.h.
References gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_nodeVarMap.
|
pure virtual |
Updates target to currently learned graph structure.
Implemented in gum::ITI< AttributeSelection, isScalar >, and gum::IMDDI< AttributeSelection, isScalar >.
Referenced by gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_updateNodeWithObservation().
|
pure virtual |
Updates the tree after a new observation has been added.
Implemented in gum::ITI< AttributeSelection, isScalar >, and gum::IMDDI< AttributeSelection, isScalar >.
Referenced by gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_updateNodeWithObservation().
|
virtual |
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 155 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().
|
protected |
This hashtable binds to every leaf an associated set of all hte observations compatible with it.
Definition at line 396 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().
|
protected |
The source of nodeId.
Definition at line 361 of file incrementalGraphLearner.h.
Referenced by gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_insertNode(), gum::IncrementalGraphLearner< AttributeSelection, isScalar >::_removeNode(), and gum::IncrementalGraphLearner< AttributeSelection, isScalar >::IncrementalGraphLearner().
|
protected |
Definition at line 409 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().
|
protected |
This hashtable binds every node to an associated NodeDatabase which handles every observation that concerns that node.
Definition at line 390 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().
|
protected |
A table giving for any node a table mapping to its son idx is the modality of associated variable.
Definition at line 377 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().
|
protected |
Gives for any node its associated variable.
Definition at line 371 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().
|
protected |
The root of the ordered tree.
Definition at line 366 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().
|
protected |
Definition at line 404 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().
|
protected |
The final diagram we're building.
Definition at line 402 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().
|
protected |
Definition at line 406 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().
|
protected |
|
protected |
Associates to any variable the list of all nodes associated to this variable.
Definition at line 383 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().