![]() |
aGrUM 3.0.0
a C++ library for (probabilistic) graphical models
|
Portion of a BN identified by the list of nodes and a BayesNet. More...
#include <agrum/BN/BayesNetFragment.h>
Public Member Functions | |
| gum::BayesNet< GUM_SCALAR > | toBN () const |
| create a brand new BayesNet from a fragment. | |
| std::vector< std::string > | check () const |
| Check if the BayesNet is consistent (variables, CPT). | |
| bool | operator== (const IBayesNet< GUM_SCALAR > &from) const |
| This operator compares 2 BNs ! | |
| Size | dim () const |
| Returns the dimension (the number of free parameters) in this bayes net. | |
| Size | maxVarDomainSize () const |
| GUM_SCALAR | minParam () const |
| GUM_SCALAR | maxParam () const |
| GUM_SCALAR | minNonZeroParam () const |
| GUM_SCALAR | maxNonOneParam () const |
| std::string | toString () const |
| Tensor< GUM_SCALAR > | evEq (std::string_view name, double value) const |
| Tensor< GUM_SCALAR > | evIn (std::string_view name, double val1, double val2) const |
| Tensor< GUM_SCALAR > | evLt (std::string_view name, double value) const |
| Tensor< GUM_SCALAR > | evGt (std::string_view name, double value) const |
| Size | memoryFootprint () const |
| compute the (approximated) footprint in memory of the model (the footprints of CPTs) | |
| bool | hasSameStructure (const DAGmodel &other) const |
| NodeSet | minimalCondSet (NodeId target, const NodeSet &soids) const |
| NodeSet | minimalCondSet (const NodeSet &targets, const NodeSet &soids) const |
| NodeSet | minimalCondSet (std::string_view target, const std::vector< std::string > &soids) const |
| NodeSet | minimalCondSet (const std::vector< std::string > &targets, const std::vector< std::string > &soids) const |
| const DAG & | internalDag () const |
| Returns a const reference to the internal (unnamed) DAG. O(1), no copy. Use for stable references or pointers (e.g. graph listeners). For named node access, use dag() instead. | |
| double | log10DomainSize () const |
| void | _attachSignal_ (__sig__::ISignaler *sender) |
| void | _detachSignal_ (__sig__::ISignaler *sender) |
Constructors / Destructors | |
| BayesNetFragment ()=delete | |
| BayesNetFragment (const BayesNetFragment< GUM_SCALAR > &fragment)=delete | |
| BayesNetFragment (BayesNetFragment< GUM_SCALAR > &&fragment)=delete | |
| BayesNetFragment (const IBayesNet< GUM_SCALAR > &bn) | |
| ~BayesNetFragment () override | |
signals | |
| void | whenNodeAdded (const void *src, NodeId id) final |
| the action to take when a new node is inserted into the graph | |
| void | whenNodeDeleted (const void *src, NodeId id) final |
| the action to take when a node has just been removed from the graph | |
| void | whenArcAdded (const void *src, NodeId from, NodeId to) final |
| the action to take when a new arc is inserted into the graph | |
| void | whenArcDeleted (const void *src, NodeId from, NodeId to) final |
| the action to take when an arc has just been removed from the graph | |
IBayesNet interface | |
| const Tensor< GUM_SCALAR > & | cpt (NodeId varId) const final |
| Returns the CPT of a variable. | |
| const Tensor< GUM_SCALAR > & | cpt (std::string_view name) const |
| Returns the CPT of a variable. | |
| const VariableNodeMap & | variableNodeMap () const final |
| Returns a constant reference to the VariableNodeMap of this BN. | |
| const DiscreteVariable & | variable (NodeId id) const final |
| Returns a constant reference over a variabe given it's node id. | |
| virtual const DiscreteVariable & | variable (std::string_view name) const final |
| Returns the CPT of a variable. | |
| NodeId | nodeId (const DiscreteVariable &var) const final |
| Return id node from discrete var pointer. | |
| NodeId | idFromName (std::string_view name) const final |
| Getter by name. | |
| const DiscreteVariable & | variableFromName (std::string_view name) const final |
| Getter by name. | |
| std::string | toDot () const final |
| creates a dot representing the whole referred BN hilighting the fragment. | |
API for Fragment | |
| bool | isInstalledNode (NodeId id) const |
| check if a certain NodeId exists in the fragment | |
| bool | isInstalledNode (std::string_view name) const |
| check if a certain NodeId exists in the fragment | |
| void | installNode (NodeId id) |
| install a node referenced by its nodeId | |
| void | installNode (std::string_view name) |
| check if a certain NodeId exists in the fragment | |
| void | installAscendants (NodeId id) |
| install a node and all its ascendants | |
| void | installAscendants (std::string_view name) |
| check if a certain NodeId exists in the fragment | |
| void | uninstallNode (NodeId id) |
| uninstall a node referenced by its nodeId | |
| void | uninstallNode (std::string_view name) |
| check if a certain NodeId exists in the fragment | |
| void | installMarginal (NodeId id, const Tensor< GUM_SCALAR > &pot) |
| install a local marginal BY COPY for a node into the fragment. | |
| void | installMarginal (std::string_view name, const Tensor< GUM_SCALAR > &pot) |
| check if a certain NodeId exists in the fragment | |
| void | installCPT (NodeId id, const Tensor< GUM_SCALAR > &pot) |
| install a local cpt BY COPYfor a node into the fragment. | |
| void | installCPT (std::string_view name, const Tensor< GUM_SCALAR > &pot) |
| check if a certain NodeId exists in the fragment | |
| void | uninstallCPT (NodeId id) |
| uninstall a local CPT. | |
| void | uninstallCPT (std::string_view name) |
| check if a certain NodeId exists in the fragment | |
| bool | checkConsistency (NodeId id) const |
| returns true if the nodeId's (local or not) cpt is consistent with its parents in the fragment | |
| bool | checkConsistency (std::string_view name) const |
| check if a certain NodeId exists in the fragment | |
| bool | checkConsistency () const |
| returns true if all nodes in the fragment are consistent | |
Joint Probability manipulation methods | |
| GUM_SCALAR | jointProbability (const Instantiation &i) const |
| Compute a parameter of the joint probability for the BN (given an instantiation of the vars). | |
| GUM_SCALAR | log2JointProbability (const Instantiation &i) const |
| Compute a parameter of the log joint probability for the BN (given an instantiation of the vars). | |
Variable manipulation methods. | |
| DAG | dag () const |
| Returns a named copy of the internal DAG: each node id is assigned the name of the corresponding variable. | |
| Size | size () const final |
| Returns the number of variables in this Directed Graphical Model. | |
| Size | sizeArcs () const |
| Returns the number of arcs in this Directed Graphical Model. | |
| const NodeGraphPart & | nodes () const final |
| Returns a named copy of the internal DAG: each node id is assigned the name of the corresponding variable. | |
| bool | exists (NodeId node) const final |
| Return true if this node exists in this graphical model. | |
| bool | exists (std::string_view name) const final |
| Returns a named copy of the internal DAG: each node id is assigned the name of the corresponding variable. | |
Arc manipulation methods. | |
| const ArcSet & | arcs () const |
| return true if the arc tail->head exists in the DAGmodel | |
| bool | existsArc (const NodeId tail, const NodeId head) const |
| return true if the arc tail->head exists in the DAGmodel | |
| bool | existsArc (std::string_view nametail, std::string_view namehead) const |
| return true if the arc tail->head exists in the DAGmodel | |
| const NodeSet & | parents (const NodeId id) const |
| returns the set of nodes with arc ingoing to a given node | |
| const NodeSet & | parents (std::string_view name) const |
| return true if the arc tail->head exists in the DAGmodel | |
| NodeSet | parents (const NodeSet &ids) const |
| returns the parents of a set of nodes | |
| NodeSet | parents (const std::vector< std::string > &names) const |
| return true if the arc tail->head exists in the DAGmodel | |
| NodeSet | family (const NodeId id) const final |
| returns the parents of a node and the node | |
| NodeSet | family (std::string_view name) const final |
| return true if the arc tail->head exists in the DAGmodel | |
| const NodeSet & | children (const NodeId id) const |
| returns the set of nodes with arc outgoing from a given node | |
| const NodeSet & | children (std::string_view name) const |
| return true if the arc tail->head exists in the DAGmodel | |
| NodeSet | children (const NodeSet &ids) const |
| returns the children of a set of nodes | |
| NodeSet | children (const std::vector< std::string > &names) const |
| return true if the arc tail->head exists in the DAGmodel | |
| NodeSet | descendants (const NodeId id) const |
| returns the set of nodes with directed path outgoing from a given node | |
| NodeSet | descendants (std::string_view name) const |
| return true if the arc tail->head exists in the DAGmodel | |
| NodeSet | ancestors (const NodeId id) const |
| returns the set of nodes with directed path ingoing to a given node | |
| NodeSet | ancestors (std::string_view name) const |
| return true if the arc tail->head exists in the DAGmodel | |
Graphical methods | |
| UndiGraph | moralizedAncestralGraph (const NodeSet &nodes) const |
| build a UndiGraph by moralizing the Ancestral Graph of a set of Nodes | |
| UndiGraph | moralizedAncestralGraph (const std::vector< std::string > &nodenames) const |
| build a UndiGraph by moralizing the Ancestral Graph of a set of Nodes | |
| bool | isIndependent (NodeId X, NodeId Y, const NodeSet &Z) const final |
| check if node X and node Y are independent given nodes Z | |
| bool | isIndependent (const NodeSet &X, const NodeSet &Y, const NodeSet &Z) const final |
| check if nodes X and nodes Y are independent given nodes Z | |
| bool | isIndependent (std::string_view Xname, std::string_view Yname, const std::vector< std::string > &Znames) const |
| build a UndiGraph by moralizing the Ancestral Graph of a set of Nodes | |
| bool | isIndependent (const std::vector< std::string > &Xnames, const std::vector< std::string > &Ynames, const std::vector< std::string > &Znames) const |
| build a UndiGraph by moralizing the Ancestral Graph of a set of Nodes | |
| UndiGraph | moralGraph () const |
| The node's id are coherent with the variables and nodes of the topology. | |
| Sequence< NodeId > | topologicalOrder () const |
| The topological order stays the same as long as no variable or arcs are added or erased src the topology. | |
| NodeProperty< NodeId > | connectedComponents () const |
| Returns the weakly connected components of the underlying DAG. Each node maps to the id of its component root. | |
Getter and setters | |
| const std::string & | property (std::string_view name) const |
| Return the value of the property name of this GraphicalModel. | |
| const std::string & | propertyWithDefault (std::string_view name, const std::string &byDefault) const |
| Return the value of the property name of this GraphicalModel. | |
| void | setProperty (std::string_view name, std::string_view value) |
| Add or change a property of this GraphicalModel. | |
| std::vector< std::string > | properties () const |
| List of all the names of property in the Graphical model. | |
| bool | existsProperty (std::string_view name) const |
| check wether a property exists in this GraphicalModel | |
| void | updateMetaData () |
| update the meta data of this Graphical Model (version, creation date, last modification date) This method is called by the writers ONLY before writing the model to a file. | |
Variable manipulation methods. | |
| virtual bool | empty () const |
| Return true if this graphical model is empty. | |
| std::vector< std::string > | names (const std::vector< NodeId > &ids) const |
| transform a vector of NodeId in a vector of names | |
| std::vector< std::string > | names (const NodeSet &ids) const |
| transform a NodeSet in a vector of names | |
| std::vector< NodeId > | ids (const std::vector< std::string > &names) const |
| transform a vector of names into a vector of nodeId | |
| NodeSet | nodeset (const std::vector< std::string > &names) const |
| transform a vector of names into a NodeSet | |
| gum::VariableSet | variables (const std::vector< std::string > &l) const |
| transform a vector of names into a VariableeSet | |
| gum::VariableSet | variables (const NodeSet &ids) const |
| transform a vector of NodeId into a VariableeSet | |
| Instantiation | completeInstantiation () const |
| Get an instantiation over all the variables of the model. | |
Static Public Member Functions | |
| static std::string | spaceCplxToString (double dSize, int dim, Size usedMem) |
| send to the stream the space complexity with 3 parametrs | |
Protected Member Functions | |
| void | uninstallArc_ (NodeId from, NodeId to) |
| void | installArc_ (NodeId from, NodeId to) |
| void | installCPT_ (NodeId id, const Tensor< GUM_SCALAR > &pot) |
| void | uninstallCPT_ (NodeId id) |
| uninstall a local CPT. | |
| void | _nameNodes_ (NodeGraphPart &g) const |
| Names every node of g using variable(id).name() for each node id in g. | |
Protected Attributes | |
| DAG | dag_ |
| The DAG of this Directed Graphical Model. | |
| VariableNodeMap | varMap_ |
| Mapping between NodeIds and discrete variables. | |
| DiGraph * | graph_ |
| the graph to listen to | |
Private Types | |
| using | Senders_list = std::vector< __sig__::ISignaler* > |
| Alias for the list of signal senders. | |
Private Member Functions | |
| const HashTable< std::string, std::string > & | _properties_ () const |
| Return the properties of this Directed Graphical Model. | |
Private Attributes | |
| const IBayesNet< GUM_SCALAR > & | _bn_ |
| The referred BayesNet. | |
| NodeProperty< const Tensor< GUM_SCALAR > * > | _localCPTs_ |
| Mapping between the variable's id and their CPT specific to this Fragment. | |
| HashTable< std::string, std::string > | _propertiesMap_ |
| The properties of this Directed Graphical Model. | |
| Senders_list | _senders_ |
Portion of a BN identified by the list of nodes and a BayesNet.
This class is a decorator of a BayesNet implementing the IBayesNet interface. CPTs can be shared with the BN or can be specific to the Fragment if different.
BayesNetFragment is a DiGraphListener in order to be synchronized (especially when removing nodes or arcs).
In a BayesNetFragment, one can install or remove nodes. An arc can be in the fragment if and only if its head and tail are installed in the fragment. *When installing a node, all the arcs that can be added in the fragment are *effectively installed (resp. *when uninstalling a node, etc.).
A BayesNetFragment can redefine tensor for node. The main reason is to be able to install a node without installing all its parents (and its ascendants). So local CPT to the node can be installed. However, it is not done automatically.
If a cpt is not locally defined, the fragment uses the cpt defined in the referred BN. The checkConsistency() method verifies that, for all installed nodes, either all the parents are installed or a local CPT is defined.
Definition at line 90 of file BayesNetFragment.h.
|
privateinherited |
Alias for the list of signal senders.
Definition at line 96 of file listener.h.
|
delete |
Referenced by BayesNetFragment(), BayesNetFragment(), BayesNetFragment(), and ~BayesNetFragment().
|
delete |
|
delete |
References BayesNetFragment(), gum::IBayesNet< GUM_SCALAR >::IBayesNet(), checkConsistency(), gum::DAGmodel::dag(), idFromName(), installArc_(), installAscendants(), installCPT(), installCPT_(), installMarginal(), installNode(), isInstalledNode(), nodeId(), gum::DAGmodel::nodes(), toBN(), toDot(), uninstallArc_(), uninstallCPT(), uninstallCPT_(), uninstallNode(), variable(), and variableFromName().
|
explicit |
Definition at line 56 of file BayesNetFragment_tpl.h.
References BayesNetFragment(), gum::DiGraphListener::DiGraphListener(), gum::IBayesNet< GUM_SCALAR >::IBayesNet(), _bn_, and gum::DAGmodel::internalDag().
|
override |
Definition at line 62 of file BayesNetFragment_tpl.h.
References BayesNetFragment(), _localCPTs_, gum::DAGmodel::nodes(), and uninstallCPT_().
|
inherited |
Definition at line 57 of file listener_inl.h.
References _senders_.
|
inherited |
Definition at line 59 of file listener_inl.h.
References _senders_.
Referenced by gum::__sig__::BasicSignaler< Args >::detach().
|
protectedinherited |
Names every node of g using variable(id).name() for each node id in g.
Call this before returning any newly constructed graph from a model method.
Definition at line 175 of file graphicalModel_inl.h.
References gum::NodeGraphPart::setName(), and variable().
Referenced by gum::DAGmodel::dag(), gum::UGmodel::graph(), gum::DAGmodel::moralGraph(), and gum::DAGmodel::moralizedAncestralGraph().
|
privateinherited |
Return the properties of this Directed Graphical Model.
Definition at line 67 of file graphicalModel_inl.h.
References _propertiesMap_.
Referenced by property().
returns the set of nodes with directed path ingoing to a given node
Note that the set of nodes returned may be empty if no path within the ArcGraphPart is ingoing to the given node.
| id | the node which is the head of a directed path with the returned nodes |
| name | the name of the node which is the head of a directed path with the returned nodes |
Definition at line 135 of file DAGmodel_inl.h.
References dag_.
Referenced by ancestors().
|
inherited |
return true if the arc tail->head exists in the DAGmodel
| tail | the nodeId (or the name) of the tail in tail->head |
| head | the nodeId (or the name) of the head in tail->head |
Definition at line 137 of file DAGmodel_inl.h.
References ancestors(), and gum::DiscreteGraphicalModel::idFromName().
|
inherited |
return true if the arc tail->head exists in the DAGmodel
| tail | the nodeId (or the name) of the tail in tail->head |
| head | the nodeId (or the name) of the head in tail->head |
Definition at line 73 of file DAGmodel_inl.h.
References dag_.
Referenced by hasSameStructure(), gum::MarkovBlanket::hasSameStructure(), and gum::BayesNetFragment< GUM_SCALAR >::toBN().
|
inherited |
Check if the BayesNet is consistent (variables, CPT).
Definition at line 322 of file IBayesNet_tpl.h.
References cpt(), gum::GraphicalModel::empty(), gum::DAGmodel::nodes(), gum::DAGmodel::parents(), and gum::DiscreteGraphicalModel::variable().
| bool gum::BayesNetFragment< GUM_SCALAR >::checkConsistency | ( | ) | const |
returns true if all nodes in the fragment are consistent
| gum::OperatioNotAllowed | if the fragment is not consistent. |
Definition at line 294 of file BayesNetFragment_tpl.h.
References checkConsistency(), and gum::DAGmodel::nodes().
| bool gum::BayesNetFragment< GUM_SCALAR >::checkConsistency | ( | NodeId | id | ) | const |
returns true if the nodeId's (local or not) cpt is consistent with its parents in the fragment
| NotFound | if the id is not in the fragment |
Definition at line 279 of file BayesNetFragment_tpl.h.
References _bn_, cpt(), GUM_ERROR, gum::Set< Key >::insert(), isInstalledNode(), and gum::DAGmodel::parents().
Referenced by BayesNetFragment(), checkConsistency(), checkConsistency(), toBN(), and toDot().
| bool gum::BayesNetFragment< GUM_SCALAR >::checkConsistency | ( | std::string_view | name | ) | const |
check if a certain NodeId exists in the fragment
Definition at line 433 of file BayesNetFragment_tpl.h.
References checkConsistency(), and idFromName().
returns the set of nodes with arc outgoing from a given node
Note that the set of nodes returned may be empty if no node is outgoing from the given node.
| id | the node which is the tail of an arc with the returned nodes |
| name | the name of the node which is the tail of an arc with the returned nodes |
Definition at line 95 of file DAGmodel_inl.h.
References dag_.
Referenced by children(), gum::BayesNet< GUM_SCALAR >::erase(), gum::prm::ClassBayesNet< GUM_SCALAR >::toDot(), and gum::prm::InstanceBayesNet< GUM_SCALAR >::toDot().
returns the children of a set of nodes
Definition at line 101 of file DAGmodel_inl.h.
References dag_, and gum::GraphicalModel::ids().
|
inherited |
return true if the arc tail->head exists in the DAGmodel
| tail | the nodeId (or the name) of the tail in tail->head |
| head | the nodeId (or the name) of the head in tail->head |
Definition at line 103 of file DAGmodel_inl.h.
References children(), gum::GraphicalModel::names(), and gum::GraphicalModel::nodeset().
|
inherited |
return true if the arc tail->head exists in the DAGmodel
| tail | the nodeId (or the name) of the tail in tail->head |
| head | the nodeId (or the name) of the head in tail->head |
Definition at line 97 of file DAGmodel_inl.h.
|
inherited |
Get an instantiation over all the variables of the model.
Definition at line 104 of file graphicalModel_inl.h.
References nodes(), and variable().
|
inherited |
Returns the weakly connected components of the underlying DAG. Each node maps to the id of its component root.
Definition at line 125 of file DAGmodel_inl.h.
References dag_.
|
finalvirtual |
Returns the CPT of a variable.
| NotFound | If no variable's id matches varId. |
Implements gum::IBayesNet< GUM_SCALAR >.
Definition at line 95 of file BayesNetFragment_tpl.h.
References _bn_, _localCPTs_, GUM_ERROR, and isInstalledNode().
Referenced by checkConsistency(), cpt(), toBN(), uninstallCPT(), and gum::ImportanceSampling< GUM_SCALAR >::unsharpenBN_().
| const Tensor< GUM_SCALAR > & gum::BayesNetFragment< GUM_SCALAR >::cpt | ( | std::string_view | name | ) | const |
Returns the CPT of a variable.
| NotFound | If no variable's id matches varId. |
Definition at line 386 of file BayesNetFragment_tpl.h.
References cpt(), and idFromName().
|
nodiscardinherited |
Returns a named copy of the internal DAG: each node id is assigned the name of the corresponding variable.
O(n) — allocates a new DAG. For a stable reference (listeners, long-lived pointers), use internalDag().
Definition at line 61 of file DAGmodel_inl.h.
References gum::GraphicalModel::_nameNodes_(), and dag_.
Referenced by gum::BayesNetFragment< GUM_SCALAR >::BayesNetFragment(), gum::MarginalTargetedInference< GUM_SCALAR >::MarginalTargetedInference(), gum::BayesNet< GUM_SCALAR >::add(), gum::BayesNet< GUM_SCALAR >::reverseArc(), and gum::InfluenceDiagram< GUM_SCALAR >::toString().
returns the set of nodes with directed path outgoing from a given node
Note that the set of nodes returned may be empty if no path within the ArcGraphPart is outgoing from the given node.
| id | the node which is the tail of a directed path with the returned nodes |
| name | the name of the node which is the tail of a directed path with the returned nodes |
Definition at line 129 of file DAGmodel_inl.h.
References dag_.
|
inherited |
return true if the arc tail->head exists in the DAGmodel
| tail | the nodeId (or the name) of the tail in tail->head |
| head | the nodeId (or the name) of the head in tail->head |
Definition at line 131 of file DAGmodel_inl.h.
|
inherited |
Returns the dimension (the number of free parameters) in this bayes net.
\( dim(G)=\sum_{i \in nodes} ((r_i-1)\cdot q_i) \) where \( r_i \) is the number of instantiations of node \( i \) and \( q_i \) is the number of instantiations of its parents.
Definition at line 114 of file IBayesNet_tpl.h.
References dim(), gum::DAGmodel::nodes(), gum::DAGmodel::parents(), and gum::DiscreteGraphicalModel::variable().
Referenced by dim().
|
virtualinherited |
Return true if this graphical model is empty.
Definition at line 114 of file graphicalModel_inl.h.
References size().
Referenced by gum::IBayesNet< GUM_SCALAR >::check(), and gum::BayesNet< GUM_SCALAR >::clear().
|
inherited |
Definition at line 386 of file IBayesNet_tpl.h.
References gum::Tensor< GUM_SCALAR >::evEq(), and gum::DiscreteGraphicalModel::variableFromName().
|
inherited |
Definition at line 397 of file IBayesNet_tpl.h.
References gum::Tensor< GUM_SCALAR >::evGt(), and gum::DiscreteGraphicalModel::variableFromName().
|
inherited |
Definition at line 392 of file IBayesNet_tpl.h.
References gum::Tensor< GUM_SCALAR >::evIn(), and gum::DiscreteGraphicalModel::variableFromName().
|
inherited |
Definition at line 402 of file IBayesNet_tpl.h.
References gum::Tensor< GUM_SCALAR >::evLt(), and gum::DiscreteGraphicalModel::variableFromName().
Return true if this node exists in this graphical model.
Implements gum::GraphicalModel.
Definition at line 113 of file DAGmodel_inl.h.
References dag_.
Referenced by gum::build_node(), gum::build_node_for_ID(), hasSameStructure(), gum::MarkovBlanket::hasSameStructure(), gum::IBayesNet< GUM_SCALAR >::operator==(), and gum::InfluenceDiagram< GUM_SCALAR >::operator==().
|
finalvirtualinherited |
Returns a named copy of the internal DAG: each node id is assigned the name of the corresponding variable.
O(n) — allocates a new DAG. For a stable reference (listeners, long-lived pointers), use internalDag().
Implements gum::GraphicalModel.
Definition at line 115 of file DAGmodel_inl.h.
return true if the arc tail->head exists in the DAGmodel
| tail | the nodeId (or the name) of the tail in tail->head |
| head | the nodeId (or the name) of the head in tail->head |
Definition at line 75 of file DAGmodel_inl.h.
References dag_.
Referenced by existsArc(), gum::BayesNet< GUM_SCALAR >::reverseArc(), gum::BayesNetFragment< GUM_SCALAR >::toDot(), and gum::BayesNetFragment< GUM_SCALAR >::whenArcDeleted().
|
inherited |
return true if the arc tail->head exists in the DAGmodel
| tail | the nodeId (or the name) of the tail in tail->head |
| head | the nodeId (or the name) of the head in tail->head |
Definition at line 79 of file DAGmodel_inl.h.
References existsArc(), and gum::DiscreteGraphicalModel::idFromName().
|
inherited |
check wether a property exists in this GraphicalModel
Definition at line 170 of file graphicalModel_inl.h.
References _propertiesMap_.
returns the parents of a node and the node
| id | the node which is the head of an arc with the returned nodes |
| name | the name of the node the node which is the head of an arc with the returned nodes |
Implements gum::GraphicalModel.
Definition at line 89 of file DAGmodel_inl.h.
References dag_.
|
finalvirtualinherited |
return true if the arc tail->head exists in the DAGmodel
| tail | the nodeId (or the name) of the tail in tail->head |
| head | the nodeId (or the name) of the head in tail->head |
Implements gum::GraphicalModel.
Definition at line 91 of file DAGmodel_inl.h.
References dag_, and gum::DiscreteGraphicalModel::idFromName().
Definition at line 87 of file DAGmodel.cpp.
References DAGmodel(), arcs(), exists(), gum::Set< Key >::exists(), gum::DiscreteGraphicalModel::idFromName(), nodes(), size(), sizeArcs(), and gum::DiscreteGraphicalModel::variable().
|
finalvirtual |
Getter by name.
| NotFound | if no such name exists in the graph. |
Implements gum::GraphicalModel.
Definition at line 124 of file BayesNetFragment_tpl.h.
References _bn_, GUM_ERROR, and isInstalledNode().
Referenced by BayesNetFragment(), checkConsistency(), cpt(), isInstalledNode(), uninstallCPT(), uninstallNode(), variable(), and variableFromName().
|
inherited |
transform a vector of names into a vector of nodeId
Definition at line 139 of file graphicalModel_inl.h.
References names(), and variableNodeMap().
Referenced by gum::DAGmodel::children(), exists(), names(), names(), and gum::DAGmodel::parents().
|
protected |
Definition at line 191 of file BayesNetFragment_tpl.h.
References gum::DAGmodel::dag_.
Referenced by BayesNetFragment(), installCPT_(), and uninstallCPT().
| void gum::BayesNetFragment< GUM_SCALAR >::installAscendants | ( | NodeId | id | ) |
install a node and all its ascendants
| NotFound | if the node does not exist in the referred BN |
Definition at line 169 of file BayesNetFragment_tpl.h.
References _bn_, installAscendants(), and installNode().
Referenced by BayesNetFragment(), installAscendants(), and installAscendants().
| void gum::BayesNetFragment< GUM_SCALAR >::installAscendants | ( | std::string_view | name | ) |
check if a certain NodeId exists in the fragment
Definition at line 406 of file BayesNetFragment_tpl.h.
References _bn_, and installAscendants().
| void gum::BayesNetFragment< GUM_SCALAR >::installCPT | ( | NodeId | id, |
| const Tensor< GUM_SCALAR > & | pot ) |
install a local cpt BY COPYfor a node into the fragment.
This function will change the arcs from the parents to the node in order to be consistent with the new local tensor.
| id | the nodeId |
| pot | the tensor to be copied |
| NotFound | if the id is not in the fragment |
| OperationNotAllowed | if the tensor is not compliant with the variable or if a variable in the CPT is not a parent in the referred bn. |
Definition at line 216 of file BayesNetFragment_tpl.h.
References _bn_, GUM_ERROR, installCPT_(), gum::DAGmodel::internalDag(), gum::DAGmodel::parents(), and variable().
Referenced by BayesNetFragment(), installCPT(), gum::ImportanceSampling< GUM_SCALAR >::onContextualize_(), and gum::ImportanceSampling< GUM_SCALAR >::unsharpenBN_().
| void gum::BayesNetFragment< GUM_SCALAR >::installCPT | ( | std::string_view | name, |
| const Tensor< GUM_SCALAR > & | pot ) |
check if a certain NodeId exists in the fragment
Definition at line 422 of file BayesNetFragment_tpl.h.
References _bn_, and installCPT().
|
protected |
Definition at line 196 of file BayesNetFragment_tpl.h.
References _bn_, _localCPTs_, installArc_(), isInstalledNode(), gum::DAGmodel::parents(), uninstallArc_(), and uninstallCPT_().
Referenced by BayesNetFragment(), installCPT(), and installMarginal().
| void gum::BayesNetFragment< GUM_SCALAR >::installMarginal | ( | NodeId | id, |
| const Tensor< GUM_SCALAR > & | pot ) |
install a local marginal BY COPY for a node into the fragment.
This function will remove all the arcs from the parents to the node.
| id | the nodeId |
| pot | the tensor |
| NotFound | if the id is not in the fragment |
| OperationNotAllowed | if the tensor is not compliant with the variable (or is not a marginal) |
Definition at line 260 of file BayesNetFragment_tpl.h.
References _bn_, GUM_ERROR, installCPT_(), and isInstalledNode().
Referenced by BayesNetFragment(), and installMarginal().
| void gum::BayesNetFragment< GUM_SCALAR >::installMarginal | ( | std::string_view | name, |
| const Tensor< GUM_SCALAR > & | pot ) |
check if a certain NodeId exists in the fragment
Definition at line 416 of file BayesNetFragment_tpl.h.
References _bn_, and installMarginal().
| void gum::BayesNetFragment< GUM_SCALAR >::installNode | ( | NodeId | id | ) |
install a node referenced by its nodeId
| NotFound | if the node does not exist in the referred BN |
Definition at line 150 of file BayesNetFragment_tpl.h.
References _bn_, gum::DAGmodel::dag_, GUM_ERROR, and isInstalledNode().
Referenced by BayesNetFragment(), installAscendants(), and installNode().
| void gum::BayesNetFragment< GUM_SCALAR >::installNode | ( | std::string_view | name | ) |
check if a certain NodeId exists in the fragment
Definition at line 401 of file BayesNetFragment_tpl.h.
References _bn_, and installNode().
|
inherited |
Returns a const reference to the internal (unnamed) DAG. O(1), no copy. Use for stable references or pointers (e.g. graph listeners). For named node access, use dag() instead.
Definition at line 58 of file DAGmodel_inl.h.
References dag_.
Referenced by gum::BayesNetFragment< GUM_SCALAR >::BayesNetFragment(), gum::MarkovBlanket::MarkovBlanket(), gum::BayesNetFragment< GUM_SCALAR >::installCPT(), gum::BayesNetFragment< GUM_SCALAR >::isInstalledNode(), gum::BayesBall::relevantTensors(), gum::dSeparationAlgorithm::relevantTensors(), gum::BayesNetFragment< GUM_SCALAR >::toBN(), gum::BayesNetFragment< GUM_SCALAR >::toDot(), and gum::BayesNetFragment< GUM_SCALAR >::whenArcDeleted().
|
finalvirtualinherited |
check if nodes X and nodes Y are independent given nodes Z
Implements gum::GraphicalModel.
Definition at line 156 of file DAGmodel_inl.h.
References dag_.
|
inherited |
build a UndiGraph by moralizing the Ancestral Graph of a set of Nodes
| nodes | the set of nodeId |
| nodenames | the vector of names of nodes |
Definition at line 184 of file DAGmodel_inl.h.
|
finalvirtualinherited |
check if node X and node Y are independent given nodes Z
Implements gum::GraphicalModel.
Definition at line 152 of file DAGmodel_inl.h.
Referenced by gum::BayesNet< double >::ancestors(), and isIndependent().
|
inherited |
build a UndiGraph by moralizing the Ancestral Graph of a set of Nodes
| nodes | the set of nodeId |
| nodenames | the vector of names of nodes |
Definition at line 178 of file DAGmodel_inl.h.
References gum::DiscreteGraphicalModel::idFromName(), isIndependent(), and gum::GraphicalModel::nodeset().
| bool gum::BayesNetFragment< GUM_SCALAR >::isInstalledNode | ( | NodeId | id | ) | const |
check if a certain NodeId exists in the fragment
Definition at line 145 of file BayesNetFragment_tpl.h.
References gum::DAGmodel::internalDag().
Referenced by BayesNetFragment(), checkConsistency(), cpt(), idFromName(), installCPT_(), installMarginal(), installNode(), isInstalledNode(), nodeId(), toDot(), uninstallCPT(), uninstallNode(), variable(), and variableFromName().
| bool gum::BayesNetFragment< GUM_SCALAR >::isInstalledNode | ( | std::string_view | name | ) | const |
check if a certain NodeId exists in the fragment
Definition at line 396 of file BayesNetFragment_tpl.h.
References idFromName(), and isInstalledNode().
|
inherited |
Compute a parameter of the joint probability for the BN (given an instantiation of the vars).
Definition at line 238 of file IBayesNet_tpl.h.
|
inherited |
Definition at line 93 of file graphicalModel_inl.h.
References nodes().
Referenced by gum::IMarkovRandomField< GUM_SCALAR >::toString(), and gum::InfluenceDiagram< GUM_SCALAR >::toString().
|
inherited |
Compute a parameter of the log joint probability for the BN (given an instantiation of the vars).
Compute a parameter of the joint probability for the BN (given an instantiation of the vars).
Definition at line 256 of file IBayesNet_tpl.h.
References cpt(), and gum::DAGmodel::nodes().
|
inherited |
Definition at line 170 of file IBayesNet_tpl.h.
|
inherited |
Definition at line 150 of file IBayesNet_tpl.h.
References gum::DAGmodel::nodes().
|
inherited |
Definition at line 130 of file IBayesNet_tpl.h.
References gum::DAGmodel::nodes(), and gum::DiscreteGraphicalModel::variable().
Referenced by gum::ImportanceSampling< GUM_SCALAR >::onContextualize_().
|
inherited |
|
inherited |
Definition at line 164 of file DAGmodel_inl.h.
|
inherited |
Definition at line 173 of file DAGmodel_inl.h.
|
inherited |
Definition at line 160 of file DAGmodel_inl.h.
Referenced by gum::ASTposteriorProba< GUM_SCALAR >::_compute_knw_from_bn().
|
inherited |
Definition at line 168 of file DAGmodel_inl.h.
References dag_, gum::DiscreteGraphicalModel::idFromName(), and gum::GraphicalModel::nodeset().
|
inherited |
Definition at line 160 of file IBayesNet_tpl.h.
Referenced by gum::ImportanceSampling< GUM_SCALAR >::onContextualize_().
|
inherited |
Definition at line 140 of file IBayesNet_tpl.h.
References gum::DAGmodel::nodes().
|
inherited |
The node's id are coherent with the variables and nodes of the topology.
Definition at line 81 of file DAGmodel.cpp.
References gum::GraphicalModel::_nameNodes_(), and dag_.
Referenced by gum::prm::SVE< GUM_SCALAR >::_eliminateNodes_(), gum::prm::SVED< GUM_SCALAR >::_eliminateNodes_(), gum::prm::SVE< GUM_SCALAR >::_eliminateNodesWithEvidence_(), gum::prm::SVED< GUM_SCALAR >::_eliminateNodesWithEvidence_(), gum::prm::SVE< GUM_SCALAR >::_initLiftedNodes_(), and gum::prm::SVED< GUM_SCALAR >::_initLiftedNodes_().
build a UndiGraph by moralizing the Ancestral Graph of a set of Nodes
| nodes | the set of nodeId |
| nodenames | the vector of names of nodes |
Definition at line 146 of file DAGmodel_inl.h.
References gum::GraphicalModel::_nameNodes_(), dag_, and nodes().
Referenced by moralizedAncestralGraph().
|
inherited |
build a UndiGraph by moralizing the Ancestral Graph of a set of Nodes
| nodes | the set of nodeId |
| nodenames | the vector of names of nodes |
Definition at line 142 of file DAGmodel_inl.h.
References moralizedAncestralGraph(), and gum::GraphicalModel::nodeset().
|
inherited |
transform a NodeSet in a vector of names
Definition at line 129 of file graphicalModel_inl.h.
References ids(), gum::VariableNodeMap::name(), and variableNodeMap().
|
inherited |
transform a vector of NodeId in a vector of names
Definition at line 117 of file graphicalModel_inl.h.
References ids().
Referenced by gum::DAGmodel::children(), exists(), ids(), nodeset(), and gum::DAGmodel::parents().
|
finalvirtual |
Return id node from discrete var pointer.
| NotFound | If no variable match var. |
Implements gum::GraphicalModel.
Definition at line 115 of file BayesNetFragment_tpl.h.
References _bn_, GUM_ERROR, isInstalledNode(), and gum::Variable::name().
Referenced by BayesNetFragment().
|
finalvirtualinherited |
Returns a named copy of the internal DAG: each node id is assigned the name of the corresponding variable.
O(n) — allocates a new DAG. For a stable reference (listeners, long-lived pointers), use internalDag().
Implements gum::GraphicalModel.
Definition at line 119 of file DAGmodel_inl.h.
References dag_.
Referenced by gum::BayesNetFragment< GUM_SCALAR >::BayesNetFragment(), gum::Estimator< GUM_SCALAR >::Estimator(), gum::BayesNetFragment< GUM_SCALAR >::~BayesNetFragment(), gum::credal::CNMonteCarloSampling< GUM_SCALAR, BNInferenceEngine >::_verticesSampling_(), gum::BayesNet< GUM_SCALAR >::beginTopologyTransformation(), gum::InfluenceDiagram< GUM_SCALAR >::beginTopologyTransformation(), gum::IBayesNet< GUM_SCALAR >::check(), gum::BayesNetFragment< GUM_SCALAR >::checkConsistency(), gum::BayesNet< GUM_SCALAR >::clear(), gum::InfluenceDiagram< GUM_SCALAR >::copyStructureAndTables_(), gum::IBayesNet< GUM_SCALAR >::dim(), gum::BayesNet< GUM_SCALAR >::endTopologyTransformation(), gum::InfluenceDiagram< GUM_SCALAR >::endTopologyTransformation(), gum::InfluenceDiagram< GUM_SCALAR >::fastPrototype(), gum::BayesNet< GUM_SCALAR >::generateCPTs(), gum::getMaxModality(), hasSameStructure(), gum::IBayesNet< GUM_SCALAR >::log2JointProbability(), gum::IBayesNet< GUM_SCALAR >::maxParam(), gum::IBayesNet< GUM_SCALAR >::maxVarDomainSize(), gum::IBayesNet< GUM_SCALAR >::minParam(), gum::prm::ClassBayesNet< GUM_SCALAR >::modalities(), gum::prm::InstanceBayesNet< GUM_SCALAR >::modalities(), moralizedAncestralGraph(), gum::IBayesNet< GUM_SCALAR >::operator==(), gum::InfluenceDiagram< GUM_SCALAR >::operator==(), gum::Estimator< GUM_SCALAR >::setFromBN(), gum::BayesNetFragment< GUM_SCALAR >::toBN(), gum::prm::ClassBayesNet< GUM_SCALAR >::toDot(), gum::prm::InstanceBayesNet< GUM_SCALAR >::toDot(), and gum::ImportanceSampling< GUM_SCALAR >::unsharpenBN_().
|
inherited |
transform a vector of names into a NodeSet
Definition at line 102 of file graphicalModel.cpp.
References idFromName(), gum::Set< Key >::insert(), and names().
Referenced by gum::BayesNet< double >::ancestors(), gum::DAGmodel::children(), gum::DAGmodel::isIndependent(), gum::UGmodel::isIndependent(), gum::UGmodel::isIndependent(), gum::DAGmodel::minimalCondSet(), and gum::DAGmodel::moralizedAncestralGraph().
|
inherited |
This operator compares 2 BNs !
Definition at line 273 of file IBayesNet_tpl.h.
References IBayesNet(), gum::Instantiation::chgVal(), cpt(), gum::Instantiation::end(), gum::DAGmodel::exists(), gum::DiscreteGraphicalModel::idFromName(), gum::Instantiation::inc(), gum::Variable::name(), gum::DAGmodel::nodes(), gum::Instantiation::pos(), gum::Instantiation::setFirst(), gum::DAGmodel::size(), gum::DAGmodel::sizeArcs(), gum::Instantiation::val(), gum::DiscreteGraphicalModel::variable(), gum::Instantiation::variable(), and gum::DiscreteGraphicalModel::variableFromName().
returns the set of nodes with arc ingoing to a given node
Note that the set of nodes returned may be empty if no arc within the ArcGraphPart is ingoing into the given node.
| id | the node which is the head of an arc with the returned nodes |
| name | the name of the node the node which is the head of an arc with the returned nodes |
Definition at line 83 of file DAGmodel_inl.h.
References dag_.
Referenced by gum::IBayesNet< GUM_SCALAR >::check(), gum::BayesNetFragment< GUM_SCALAR >::checkConsistency(), gum::InfluenceDiagram< GUM_SCALAR >::copyStructureAndTables_(), gum::IBayesNet< GUM_SCALAR >::dim(), gum::ASTposteriorProba< GUM_SCALAR >::eval(), gum::BayesNetFragment< GUM_SCALAR >::installCPT(), gum::BayesNetFragment< GUM_SCALAR >::installCPT_(), parents(), gum::prm::ClassBayesNet< GUM_SCALAR >::toDot(), and gum::prm::InstanceBayesNet< GUM_SCALAR >::toDot().
returns the parents of a set of nodes
Definition at line 107 of file DAGmodel_inl.h.
References dag_, and gum::GraphicalModel::ids().
|
inherited |
return true if the arc tail->head exists in the DAGmodel
| tail | the nodeId (or the name) of the tail in tail->head |
| head | the nodeId (or the name) of the head in tail->head |
Definition at line 109 of file DAGmodel_inl.h.
References gum::GraphicalModel::names().
|
inherited |
return true if the arc tail->head exists in the DAGmodel
| tail | the nodeId (or the name) of the tail in tail->head |
| head | the nodeId (or the name) of the head in tail->head |
Definition at line 85 of file DAGmodel_inl.h.
References gum::DiscreteGraphicalModel::idFromName(), and parents().
|
inherited |
List of all the names of property in the Graphical model.
Definition at line 79 of file graphicalModel_inl.h.
References _propertiesMap_.
|
inherited |
Return the value of the property name of this GraphicalModel.
| NotFound | Raised if no name property is found. |
Definition at line 60 of file graphicalModel_inl.h.
References _properties_(), GUM_ERROR, and gum::HashTable< Key, Val >::tryGet().
|
inherited |
Return the value of the property name of this GraphicalModel.
return byDefault if the property name is not found
Definition at line 72 of file graphicalModel_inl.h.
References _propertiesMap_.
Referenced by gum::IBayesNet< GUM_SCALAR >::toDot(), gum::IMarkovRandomField< GUM_SCALAR >::toDot(), gum::InfluenceDiagram< GUM_SCALAR >::toDot(), and gum::IMarkovRandomField< GUM_SCALAR >::toDotAsFactorGraph().
|
inherited |
Add or change a property of this GraphicalModel.
Definition at line 87 of file graphicalModel_inl.h.
References _propertiesMap_.
Referenced by gum::IBayesNet< GUM_SCALAR >::IBayesNet(), gum::IMarkovRandomField< GUM_SCALAR >::IMarkovRandomField(), and gum::InfluenceDiagram< GUM_SCALAR >::fastPrototype().
|
finalvirtualinherited |
Returns the number of variables in this Directed Graphical Model.
Implements gum::GraphicalModel.
Definition at line 68 of file DAGmodel_inl.h.
References dag_.
Referenced by gum::InfluenceDiagram< GUM_SCALAR >::copyStructureAndTables_(), gum::InfluenceDiagram< GUM_SCALAR >::decisionNodeSize(), hasSameStructure(), gum::MarkovBlanket::hasSameStructure(), gum::IBayesNet< GUM_SCALAR >::operator==(), gum::InfluenceDiagram< GUM_SCALAR >::operator==(), gum::prm::ClassBayesNet< GUM_SCALAR >::toDot(), and gum::prm::InstanceBayesNet< GUM_SCALAR >::toDot().
|
inherited |
Returns the number of arcs in this Directed Graphical Model.
Definition at line 71 of file DAGmodel_inl.h.
References dag_.
Referenced by hasSameStructure(), gum::MarkovBlanket::hasSameStructure(), gum::IBayesNet< GUM_SCALAR >::operator==(), gum::InfluenceDiagram< GUM_SCALAR >::operator==(), and gum::InfluenceDiagram< GUM_SCALAR >::toString().
|
staticinherited |
send to the stream the space complexity with 3 parametrs
| s | the stream |
| dSize | the log10domainSize |
| dim | the dimension |
| usedMem | the memory needed for the params |
Definition at line 110 of file graphicalModel.cpp.
| gum::BayesNet< GUM_SCALAR > gum::BayesNetFragment< GUM_SCALAR >::toBN | ( | ) | const |
create a brand new BayesNet from a fragment.
Definition at line 367 of file BayesNetFragment_tpl.h.
References gum::BayesNet< GUM_SCALAR >::add(), gum::BayesNet< GUM_SCALAR >::addArc(), gum::DAGmodel::arcs(), checkConsistency(), gum::BayesNet< GUM_SCALAR >::cpt(), cpt(), GUM_ERROR, gum::DAGmodel::internalDag(), gum::DAGmodel::nodes(), and variable().
Referenced by BayesNetFragment().
|
finalvirtual |
creates a dot representing the whole referred BN hilighting the fragment.
Reimplemented from gum::IBayesNet< GUM_SCALAR >.
Definition at line 302 of file BayesNetFragment_tpl.h.
References _bn_, _localCPTs_, checkConsistency(), gum::DAGmodel::existsArc(), gum::DAGmodel::internalDag(), and isInstalledNode().
Referenced by BayesNetFragment().
The topological order stays the same as long as no variable or arcs are added or erased src the topology.
| clear | If false returns the previously created topology. |
Definition at line 123 of file DAGmodel_inl.h.
References dag_.
Referenced by gum::InfluenceDiagramGenerator< GUM_SCALAR >::_checkTemporalOrder_(), gum::InfluenceDiagram< GUM_SCALAR >::decisionOrder(), and gum::InfluenceDiagram< GUM_SCALAR >::decisionOrderExists().
|
inherited |
Definition at line 189 of file IBayesNet_tpl.h.
Referenced by gum::operator<<().
|
protected |
Definition at line 186 of file BayesNetFragment_tpl.h.
References gum::DAGmodel::dag_.
Referenced by BayesNetFragment(), installCPT_(), and whenArcDeleted().
| void gum::BayesNetFragment< GUM_SCALAR >::uninstallCPT | ( | NodeId | id | ) |
uninstall a local CPT.
Definition at line 244 of file BayesNetFragment_tpl.h.
References _bn_, _localCPTs_, cpt(), installArc_(), isInstalledNode(), and uninstallCPT_().
Referenced by BayesNetFragment(), gum::ImportanceSampling< GUM_SCALAR >::onContextualize_(), uninstallCPT(), and uninstallNode().
| void gum::BayesNetFragment< GUM_SCALAR >::uninstallCPT | ( | std::string_view | name | ) |
check if a certain NodeId exists in the fragment
Definition at line 428 of file BayesNetFragment_tpl.h.
References idFromName(), and uninstallCPT().
|
protected |
uninstall a local CPT.
Does nothing if no local CPT for this nodeId No check. No change in the topology. Checks are made in public methods.
Definition at line 238 of file BayesNetFragment_tpl.h.
References _localCPTs_.
Referenced by BayesNetFragment(), ~BayesNetFragment(), installCPT_(), and uninstallCPT().
| void gum::BayesNetFragment< GUM_SCALAR >::uninstallNode | ( | NodeId | id | ) |
uninstall a node referenced by its nodeId
Definition at line 178 of file BayesNetFragment_tpl.h.
References gum::DAGmodel::dag_, isInstalledNode(), and uninstallCPT().
Referenced by BayesNetFragment(), uninstallNode(), and whenNodeDeleted().
| void gum::BayesNetFragment< GUM_SCALAR >::uninstallNode | ( | std::string_view | name | ) |
check if a certain NodeId exists in the fragment
Definition at line 411 of file BayesNetFragment_tpl.h.
References idFromName(), and uninstallNode().
|
inherited |
update the meta data of this Graphical Model (version, creation date, last modification date) This method is called by the writers ONLY before writing the model to a file.
Definition at line 81 of file graphicalModel.cpp.
References _propertiesMap_.
|
finalvirtual |
Returns a constant reference over a variabe given it's node id.
| NotFound | If no variable's id matches varId. |
Implements gum::GraphicalModel.
Definition at line 108 of file BayesNetFragment_tpl.h.
References _bn_, GUM_ERROR, and isInstalledNode().
Referenced by BayesNetFragment(), installCPT(), toBN(), and variable().
|
finalvirtual |
Returns the CPT of a variable.
| NotFound | If no variable's id matches varId. |
Definition at line 391 of file BayesNetFragment_tpl.h.
References idFromName(), and variable().
|
finalvirtual |
Getter by name.
| NotFound | if no such name exists in the graph. |
Implements gum::GraphicalModel.
Definition at line 134 of file BayesNetFragment_tpl.h.
References _bn_, GUM_ERROR, idFromName(), and isInstalledNode().
Referenced by BayesNetFragment().
|
finalvirtual |
Returns a constant reference to the VariableNodeMap of this BN.
Implements gum::GraphicalModel.
Definition at line 103 of file BayesNetFragment_tpl.h.
References _bn_.
|
inherited |
transform a vector of NodeId into a VariableeSet
Definition at line 160 of file graphicalModel_inl.h.
|
inherited |
transform a vector of names into a VariableeSet
Definition at line 150 of file graphicalModel_inl.h.
References gum::Set< Key >::insert(), gum::VariableNodeMap::variableFromName(), and variableNodeMap().
|
finalvirtual |
the action to take when a new arc is inserted into the graph
| src | the object that sent the signal |
| from | the id of tail of the new arc inserted into the graph |
| to | the id of head of the new arc inserted into the graph |
Implements gum::DiGraphListener.
Definition at line 82 of file BayesNetFragment_tpl.h.
|
finalvirtual |
the action to take when an arc has just been removed from the graph
| src | the object that sent the signal |
| from | the id of tail of the arc removed from the graph |
| to | the id of head of the arc removed from the graph |
Implements gum::DiGraphListener.
Definition at line 87 of file BayesNetFragment_tpl.h.
References gum::DAGmodel::existsArc(), gum::DAGmodel::internalDag(), and uninstallArc_().
|
finalvirtual |
the action to take when a new node is inserted into the graph
| src | the object that sent the signal |
| id | the id of the new node inserted into the graph |
Implements gum::DiGraphListener.
Definition at line 72 of file BayesNetFragment_tpl.h.
|
finalvirtual |
the action to take when a node has just been removed from the graph
| src | the object that sent the signal |
| id | the id of the node has just been removed from the graph |
Implements gum::DiGraphListener.
Definition at line 77 of file BayesNetFragment_tpl.h.
References uninstallNode().
|
private |
The referred BayesNet.
Definition at line 92 of file BayesNetFragment.h.
Referenced by BayesNetFragment(), checkConsistency(), cpt(), idFromName(), installAscendants(), installAscendants(), installCPT(), installCPT(), installCPT_(), installMarginal(), installMarginal(), installNode(), installNode(), nodeId(), toDot(), uninstallCPT(), variable(), variableFromName(), and variableNodeMap().
|
private |
Mapping between the variable's id and their CPT specific to this Fragment.
Definition at line 96 of file BayesNetFragment.h.
Referenced by ~BayesNetFragment(), cpt(), installCPT_(), toDot(), uninstallCPT(), and uninstallCPT_().
|
privateinherited |
The properties of this Directed Graphical Model.
Definition at line 262 of file graphicalModel.h.
Referenced by GraphicalModel(), GraphicalModel(), _properties_(), existsProperty(), operator=(), operator=(), properties(), propertyWithDefault(), setProperty(), and updateMetaData().
|
privateinherited |
Definition at line 113 of file listener.h.
Referenced by Listener(), ~Listener(), _attachSignal_(), and _detachSignal_().
|
protectedinherited |
The DAG of this Directed Graphical Model.
Definition at line 284 of file DAGmodel.h.
Referenced by DAGmodel(), DAGmodel(), gum::prm::ClassBayesNet< GUM_SCALAR >::_get_(), gum::prm::ClassBayesNet< GUM_SCALAR >::_init_(), gum::prm::InstanceBayesNet< GUM_SCALAR >::_init_(), gum::BayesNet< GUM_SCALAR >::add(), gum::BayesNet< GUM_SCALAR >::addArc(), gum::InfluenceDiagram< GUM_SCALAR >::addArc(), gum::InfluenceDiagram< GUM_SCALAR >::addNode_(), ancestors(), arcs(), children(), children(), connectedComponents(), dag(), descendants(), gum::BayesNet< GUM_SCALAR >::erase(), gum::InfluenceDiagram< GUM_SCALAR >::erase(), gum::BayesNet< GUM_SCALAR >::eraseArc(), gum::InfluenceDiagram< GUM_SCALAR >::eraseArc(), exists(), existsArc(), gum::InfluenceDiagram< GUM_SCALAR >::existsPathBetween(), family(), family(), gum::InfluenceDiagram< GUM_SCALAR >::getChildrenDecision_(), gum::InfluenceDiagram< GUM_SCALAR >::getDecisionGraph(), gum::InfluenceDiagram< GUM_SCALAR >::getPartialTemporalOrder(), gum::BayesNetFragment< GUM_SCALAR >::installArc_(), gum::BayesNetFragment< GUM_SCALAR >::installNode(), internalDag(), isIndependent(), minimalCondSet(), moralGraph(), gum::InfluenceDiagram< GUM_SCALAR >::moralGraph_(), moralizedAncestralGraph(), nodes(), operator=(), operator=(), parents(), parents(), size(), sizeArcs(), gum::InfluenceDiagram< GUM_SCALAR >::toDot(), topologicalOrder(), gum::BayesNetFragment< GUM_SCALAR >::uninstallArc_(), and gum::BayesNetFragment< GUM_SCALAR >::uninstallNode().
|
protectedinherited |
the graph to listen to
Definition at line 117 of file diGraphListener.h.
Referenced by DiGraphListener().
|
protectedinherited |
Mapping between NodeIds and discrete variables.
Definition at line 119 of file discreteGraphicalModel.h.
Referenced by DiscreteGraphicalModel(), DiscreteGraphicalModel(), gum::BayesNet< GUM_SCALAR >::add(), gum::InfluenceDiagram< GUM_SCALAR >::addNode_(), gum::BayesNet< GUM_SCALAR >::changeVariableName(), gum::InfluenceDiagram< GUM_SCALAR >::changeVariableName(), gum::BayesNet< GUM_SCALAR >::erase(), gum::BayesNet< GUM_SCALAR >::erase(), gum::InfluenceDiagram< GUM_SCALAR >::erase(), gum::InfluenceDiagram< GUM_SCALAR >::erase(), gum::BayesNet< GUM_SCALAR >::eraseArc(), idFromName(), nodeId(), operator=(), operator=(), gum::BayesNet< GUM_SCALAR >::reverseArc(), variable(), variableFromName(), and variableNodeMap().