![]() |
aGrUM 2.3.2
a C++ library for (probabilistic) graphical models
|
This class decorates an PRMInstance<GUM_SCALAR> as an IBaseBayesNet. More...
#include <agrum/PRM/instanceBayesNet.h>
Public Member Functions | |
| 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 ! | |
| bool | operator!= (const IBayesNet< GUM_SCALAR > &from) const |
| 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 (const std::string &name, double value) const |
| Tensor< GUM_SCALAR > | evIn (const std::string &name, double val1, double val2) const |
| Tensor< GUM_SCALAR > | evLt (const std::string &name, double value) const |
| Tensor< GUM_SCALAR > | evGt (const std::string &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) |
| NodeSet | minimalCondSet (NodeId target, const NodeSet &soids) const |
| NodeSet | minimalCondSet (const NodeSet &targets, const NodeSet &soids) const |
| NodeSet | minimalCondSet (const std::string &target, const std::vector< std::string > &soids) const |
| NodeSet | minimalCondSet (const std::vector< std::string > &targets, const std::vector< std::string > &soids) const |
| double | log10DomainSize () const |
Constructors & destructor. | |
| InstanceBayesNet (const PRMInstance< GUM_SCALAR > &i) | |
| Default constructor. | |
| InstanceBayesNet (const InstanceBayesNet &from) | |
| Copy constructor. | |
| InstanceBayesNet & | operator= (const InstanceBayesNet &from) |
| Copy operator. | |
| virtual | ~InstanceBayesNet () |
| Destructor. | |
Variable manipulation methods. | |
| virtual const Tensor< GUM_SCALAR > & | cpt (NodeId varId) const |
| See gum::IBaseBayesNet::cpt(). | |
| virtual const VariableNodeMap & | variableNodeMap () const |
| See gum::IBaseBayesNet::variableNodeMap(). | |
| virtual const DiscreteVariable & | variable (NodeId id) const |
| See gum::IBaseBayesNet::variable(). | |
| virtual NodeId | nodeId (const DiscreteVariable &var) const |
| See gum::IBaseBayesNet::nodeId(). | |
| virtual NodeId | idFromName (const std::string &name) const |
| See gum::IBaseBayesNet::idFromName(). | |
| virtual const DiscreteVariable & | variableFromName (const std::string &name) const |
| See gum::IBaseBayesNet::variableFromName(). | |
| const NodeProperty< Size > & | modalities () const |
| See gum::IBaseBayesNet::cpt(). | |
Graphical methods | |
| virtual std::string | toDot () const |
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. | |
| const DAG & | dag () const |
| Returns a constant reference to the dag of this Bayes Net. | |
| virtual 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 constant reference to the dag of this Bayes Net. | |
| bool | exists (NodeId node) const final |
| Return true if this node exists in this graphical model. | |
| bool | exists (const std::string &name) const final |
| Returns a constant reference to the dag of this Bayes Net. | |
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 (const std::string &nametail, const std::string &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 (const std::string &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 (const std::string &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 (const std::string &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 (const std::string &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 (const std::string &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 (const std::string &Xname, const std::string &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. | |
Getter and setters | |
| const std::string & | property (const std::string &name) const |
| Return the value of the property name of this GraphicalModel. | |
| const std::string & | propertyWithDefault (const std::string &name, const std::string &byDefault) const |
| Return the value of the property name of this GraphicalModel. | |
| void | setProperty (const std::string &name, const std::string &value) |
| Add or change a property of this GraphicalModel. | |
| std::vector< std::string > | properties () const |
| List of all the properties. | |
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 void | spaceCplxToStream (std::stringstream &s, double dSize, int dim, Size usedMem) |
| send to the stream the space complexity with 3 parametrs | |
Protected Attributes | |
| DAG | dag_ |
| The DAG of this Directed Graphical Model. | |
Private Member Functions | |
| const PRMClassElement< GUM_SCALAR > & | _get_ (NodeId id) const |
| Private getter with type checking in case the id is not a formal PRMAttribute<GUM_SCALAR>. | |
| const PRMClassElement< GUM_SCALAR > & | _get_ (const std::string &name) const |
| void | _init_ (const PRMInstance< GUM_SCALAR > &i) |
| const HashTable< std::string, std::string > & | _properties_ () const |
| Return the properties of this Directed Graphical Model. | |
Private Attributes | |
| HashTable< const DiscreteVariable *, const PRMAttribute< GUM_SCALAR > * > | _varNodeMap_ |
| Mapping between DiscreteVariable and their NodeId. | |
| const PRMInstance< GUM_SCALAR > * | _inst_ |
| The PRMClassElementContainer decorated by this. | |
| NodeProperty< Size > | _modalities_ |
| HashTable< std::string, std::string > | _propertiesMap_ |
| The properties of this Directed Graphical Model. | |
This class decorates an PRMInstance<GUM_SCALAR> as an IBaseBayesNet.
Remember that an InstanceBayesNet does not contain input nodes parents and output nodes children. Thus you should be careful when using one of the BayesNetInference over a InstanceBayesNet since some variables are missing in the DAG but not in the nodes CPT.
Definition at line 74 of file instanceBayesNet.h.
| INLINE gum::prm::InstanceBayesNet< GUM_SCALAR >::InstanceBayesNet | ( | const PRMInstance< GUM_SCALAR > & | i | ) |
Default constructor.
| i | The PRMInstance<GUM_SCALAR> decorated by this InstanceBayesNet. |
Definition at line 78 of file instanceBayesNet_tpl.h.
References gum::IBayesNet< GUM_SCALAR >::IBayesNet(), InstanceBayesNet(), _init_(), and _inst_.
Referenced by InstanceBayesNet(), InstanceBayesNet(), ~InstanceBayesNet(), and operator=().
| INLINE gum::prm::InstanceBayesNet< GUM_SCALAR >::InstanceBayesNet | ( | const InstanceBayesNet< GUM_SCALAR > & | from | ) |
Copy constructor.
Definition at line 85 of file instanceBayesNet_tpl.h.
References gum::IBayesNet< GUM_SCALAR >::IBayesNet(), InstanceBayesNet(), _inst_, and _varNodeMap_.
|
virtual |
Destructor.
Definition at line 91 of file instanceBayesNet_tpl.h.
References InstanceBayesNet().
|
private |
|
private |
Private getter with type checking in case the id is not a formal PRMAttribute<GUM_SCALAR>.
| NotFound | Raised if id is not a formal attribute. |
Definition at line 140 of file instanceBayesNet_tpl.h.
References _inst_.
Referenced by cpt(), idFromName(), variable(), and variableFromName().
|
private |
Definition at line 56 of file instanceBayesNet_tpl.h.
References _varNodeMap_, gum::DAGmodel::dag_, gum::prm::PRMInstance< GUM_SCALAR >::get(), gum::prm::PRMClassElement< GUM_SCALAR >::id(), gum::prm::PRMAttribute< GUM_SCALAR >::type(), gum::prm::PRMInstance< GUM_SCALAR >::type(), and gum::prm::PRMType::variable().
Referenced by InstanceBayesNet().
|
privateinherited |
Return the properties of this Directed Graphical Model.
Definition at line 70 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 123 of file DAGmodel_inl.h.
References gum::ArcGraphPart::ancestors(), and 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 125 of file DAGmodel_inl.h.
References ancestors(), and gum::GraphicalModel::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 65 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 314 of file IBayesNet_tpl.h.
References cpt(), gum::GraphicalModel::empty(), gum::DAGmodel::nodes(), gum::DAGmodel::parents(), and variable().
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 87 of file DAGmodel_inl.h.
References dag_.
Referenced by 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 93 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 89 of file DAGmodel_inl.h.
References dag_, and gum::GraphicalModel::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 95 of file DAGmodel_inl.h.
References gum::GraphicalModel::names().
|
inherited |
Get an instantiation over all the variables of the model.
Definition at line 106 of file graphicalModel_inl.h.
References nodes().
|
virtual |
See gum::IBaseBayesNet::cpt().
Implements gum::IBayesNet< GUM_SCALAR >.
Definition at line 108 of file instanceBayesNet_tpl.h.
References _get_().
|
inherited |
Returns a constant reference to the dag of this Bayes Net.
Definition at line 57 of file DAGmodel_inl.h.
References dag_.
Referenced by gum::BayesNetFragment< GUM_SCALAR >::BayesNetFragment(), gum::MarginalTargetedInference< GUM_SCALAR >::MarginalTargetedInference(), gum::BayesNet< GUM_SCALAR >::add(), ancestors(), gum::IBayesNet< double >::arcs(), descendants(), gum::BayesNetFragment< GUM_SCALAR >::installCPT(), isIndependent(), isIndependent(), gum::BayesNetFragment< GUM_SCALAR >::isInstalledNode(), moralGraph(), moralizedAncestralGraph(), gum::BayesBall::relevantTensors(), gum::dSeparationAlgorithm::relevantTensors(), gum::BayesNet< GUM_SCALAR >::reverseArc(), size(), gum::BayesNetFragment< GUM_SCALAR >::toBN(), gum::BayesNetFragment< GUM_SCALAR >::toDot(), gum::IBayesNet< GUM_SCALAR >::toString(), gum::InfluenceDiagram< GUM_SCALAR >::toString(), and gum::BayesNetFragment< GUM_SCALAR >::whenArcDeleted().
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 117 of file DAGmodel_inl.h.
References dag(), and gum::ArcGraphPart::descendants().
Referenced by descendants().
|
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 119 of file DAGmodel_inl.h.
References descendants(), and gum::GraphicalModel::idFromName().
|
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 95 of file IBayesNet_tpl.h.
References dim(), and gum::DAGmodel::nodes().
Referenced by dim(), and toString().
|
virtualinherited |
Return true if this graphical model is empty.
Definition at line 116 of file graphicalModel_inl.h.
References size().
Referenced by gum::IBayesNet< GUM_SCALAR >::check(), and gum::BayesNet< GUM_SCALAR >::clear().
|
inherited |
Definition at line 378 of file IBayesNet_tpl.h.
References gum::Tensor< GUM_SCALAR >::evEq(), and variableFromName().
|
inherited |
Definition at line 389 of file IBayesNet_tpl.h.
References gum::Tensor< GUM_SCALAR >::evGt(), and variableFromName().
|
inherited |
Definition at line 384 of file IBayesNet_tpl.h.
References gum::Tensor< GUM_SCALAR >::evIn(), and variableFromName().
|
inherited |
Definition at line 394 of file IBayesNet_tpl.h.
References gum::Tensor< GUM_SCALAR >::evLt(), and variableFromName().
|
finalvirtualinherited |
Returns a constant reference to the dag of this Bayes Net.
Implements gum::GraphicalModel.
Definition at line 107 of file DAGmodel_inl.h.
Return true if this node exists in this graphical model.
Implements gum::GraphicalModel.
Definition at line 105 of file DAGmodel_inl.h.
References dag_.
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 67 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 71 of file DAGmodel_inl.h.
References existsArc(), and gum::GraphicalModel::idFromName().
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 81 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 83 of file DAGmodel_inl.h.
References dag_, and gum::GraphicalModel::idFromName().
Definition at line 66 of file DAGmodel.cpp.
References DAGmodel(), arcs(), gum::Set< Key >::exists(), gum::GraphicalModel::idFromName(), nodes(), size(), sizeArcs(), and gum::GraphicalModel::variable().
|
virtual |
See gum::IBaseBayesNet::idFromName().
Implements gum::IBayesNet< GUM_SCALAR >.
Definition at line 128 of file instanceBayesNet_tpl.h.
References _get_().
|
inherited |
transform a vector of names into a vector of nodeId
Definition at line 139 of file graphicalModel_inl.h.
References names().
Referenced by gum::DAGmodel::children(), exists(), names(), and gum::DAGmodel::parents().
|
finalvirtualinherited |
check if nodes X and nodes Y are independent given nodes Z
Implements gum::GraphicalModel.
Definition at line 142 of file DAGmodel_inl.h.
References dag(), and gum::DAG::dSeparation().
|
inlineinherited |
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 202 of file DAGmodel.h.
References gum::GraphicalModel::idFromName(), isIndependent(), and gum::GraphicalModel::nodeset().
|
inlineinherited |
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 208 of file DAGmodel.h.
References isIndependent(), and gum::GraphicalModel::nodeset().
|
finalvirtualinherited |
check if node X and node Y are independent given nodes Z
Implements gum::GraphicalModel.
Definition at line 138 of file DAGmodel_inl.h.
References dag(), and gum::DAG::dSeparation().
Referenced by isIndependent(), and isIndependent().
|
inherited |
Compute a parameter of the joint probability for the BN (given an instantiation of the vars).
Definition at line 221 of file IBayesNet_tpl.h.
References cpt(), and gum::DAGmodel::nodes().
|
inherited |
Definition at line 95 of file graphicalModel_inl.h.
References nodes().
Referenced by gum::IBayesNet< GUM_SCALAR >::toString(), 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 239 of file IBayesNet_tpl.h.
|
inherited |
Definition at line 151 of file IBayesNet_tpl.h.
References cpt(), and gum::DAGmodel::nodes().
|
inherited |
Definition at line 131 of file IBayesNet_tpl.h.
References cpt(), and gum::DAGmodel::nodes().
|
inherited |
Definition at line 111 of file IBayesNet_tpl.h.
References gum::DAGmodel::nodes(), and variable().
Referenced by gum::ImportanceSampling< GUM_SCALAR >::onContextualize_().
|
inherited |
compute the (approximated) footprint in memory of the model (the footprints of CPTs)
Definition at line 161 of file IBayesNet_tpl.h.
References gum::DAGmodel::nodes().
Referenced by toString().
|
inherited |
Definition at line 150 of file DAGmodel_inl.h.
References dag_.
|
inherited |
Definition at line 154 of file DAGmodel_inl.h.
|
inherited |
Definition at line 159 of file DAGmodel_inl.h.
|
inherited |
Definition at line 146 of file DAGmodel_inl.h.
|
inherited |
Definition at line 141 of file IBayesNet_tpl.h.
References cpt(), and gum::DAGmodel::nodes().
Referenced by gum::ImportanceSampling< GUM_SCALAR >::onContextualize_().
|
inherited |
Definition at line 121 of file IBayesNet_tpl.h.
References cpt(), and gum::DAGmodel::nodes().
| INLINE const NodeProperty< Size > & gum::prm::InstanceBayesNet< GUM_SCALAR >::modalities | ( | ) | const |
See gum::IBaseBayesNet::cpt().
Definition at line 153 of file instanceBayesNet_tpl.h.
References _modalities_, gum::DAGmodel::nodes(), and variable().
Referenced by gum::prm::SVE< GUM_SCALAR >::_eliminateNodes_(), gum::prm::SVED< GUM_SCALAR >::_eliminateNodes_(), gum::prm::SVE< GUM_SCALAR >::_eliminateNodesWithEvidence_(), and gum::prm::SVED< GUM_SCALAR >::_eliminateNodesWithEvidence_().
|
inherited |
The node's id are coherent with the variables and nodes of the topology.
Definition at line 64 of file DAGmodel.cpp.
References dag(), and gum::DAG::moralGraph().
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 134 of file DAGmodel_inl.h.
References dag(), gum::DAG::moralizedAncestralGraph(), 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 130 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.
|
inherited |
transform a vector of NodeId in a vector of names
Definition at line 119 of file graphicalModel_inl.h.
References ids(), and variableNodeMap().
Referenced by gum::DAGmodel::children(), exists(), ids(), nodeset(), and gum::DAGmodel::parents().
|
virtual |
See gum::IBaseBayesNet::nodeId().
Implements gum::IBayesNet< GUM_SCALAR >.
Definition at line 123 of file instanceBayesNet_tpl.h.
References _varNodeMap_.
|
finalvirtualinherited |
Returns a constant reference to the dag of this Bayes Net.
Implements gum::GraphicalModel.
Definition at line 113 of file DAGmodel_inl.h.
References dag_.
Referenced by 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 >::jointProbability(), gum::IBayesNet< GUM_SCALAR >::maxNonOneParam(), gum::IBayesNet< GUM_SCALAR >::maxParam(), gum::IBayesNet< GUM_SCALAR >::maxVarDomainSize(), gum::IBayesNet< GUM_SCALAR >::memoryFootprint(), gum::IBayesNet< GUM_SCALAR >::minNonZeroParam(), gum::IBayesNet< GUM_SCALAR >::minParam(), gum::prm::ClassBayesNet< GUM_SCALAR >::modalities(), gum::prm::InstanceBayesNet< GUM_SCALAR >::modalities(), moralizedAncestralGraph(), 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 60 of file graphicalModel.cpp.
References idFromName(), gum::Set< Key >::insert(), and names().
Referenced by gum::IBayesNet< double >::children(), gum::IBayesNet< double >::children(), gum::DAGmodel::isIndependent(), gum::DAGmodel::isIndependent(), gum::UGmodel::isIndependent(), gum::UGmodel::isIndependent(), gum::DAGmodel::moralizedAncestralGraph(), and gum::DAGmodel::parents().
|
inherited |
Definition at line 303 of file IBayesNet_tpl.h.
References IBayesNet(), and gum::operator==().
| INLINE InstanceBayesNet< GUM_SCALAR > & gum::prm::InstanceBayesNet< GUM_SCALAR >::operator= | ( | const InstanceBayesNet< GUM_SCALAR > & | from | ) |
Copy operator.
Definition at line 97 of file instanceBayesNet_tpl.h.
References InstanceBayesNet(), _varNodeMap_, and gum::IBayesNet< GUM_SCALAR >::operator=().
|
inherited |
This operator compares 2 BNs !
Definition at line 256 of file IBayesNet_tpl.h.
References IBayesNet(), and gum::DAGmodel::size().
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 75 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::BayesNetFragment< GUM_SCALAR >::installCPT(), gum::BayesNetFragment< GUM_SCALAR >::installCPT_(), parents(), 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 99 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 77 of file DAGmodel_inl.h.
References gum::GraphicalModel::idFromName(), and parents().
|
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 101 of file DAGmodel_inl.h.
References gum::GraphicalModel::names(), gum::GraphicalModel::nodeset(), and parents().
|
inherited |
List of all the properties.
Definition at line 81 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_(), and GUM_ERROR.
Referenced by gum::IMarkovRandomField< GUM_SCALAR >::toDot(), gum::InfluenceDiagram< GUM_SCALAR >::toDot(), and gum::IMarkovRandomField< GUM_SCALAR >::toDotAsFactorGraph().
|
inherited |
Return the value of the property name of this GraphicalModel.
return byDefault if the property name is not found
Definition at line 75 of file graphicalModel_inl.h.
References _propertiesMap_.
|
inherited |
Add or change a property of this GraphicalModel.
Definition at line 89 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 60 of file DAGmodel_inl.h.
References dag(), and gum::NodeGraphPart::size().
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(), gum::prm::InstanceBayesNet< GUM_SCALAR >::toDot(), and gum::IBayesNet< GUM_SCALAR >::toString().
|
inherited |
Returns the number of arcs in this Directed Graphical Model.
Definition at line 63 of file DAGmodel_inl.h.
References dag_.
Referenced by hasSameStructure(), gum::MarkovBlanket::hasSameStructure(), and gum::InfluenceDiagram< GUM_SCALAR >::operator==().
|
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 69 of file graphicalModel.cpp.
Referenced by gum::IBayesNet< GUM_SCALAR >::toString().
|
virtual |
Reimplemented from gum::IBayesNet< GUM_SCALAR >.
Definition at line 164 of file instanceBayesNet_tpl.h.
References _inst_, gum::DAGmodel::children(), gum::DAGmodel::nodes(), gum::DAGmodel::parents(), gum::DAGmodel::size(), and variable().
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 115 of file DAGmodel_inl.h.
Referenced by gum::InfluenceDiagramGenerator< GUM_SCALAR >::_checkTemporalOrder_(), gum::InfluenceDiagram< GUM_SCALAR >::decisionOrder(), and gum::InfluenceDiagram< GUM_SCALAR >::decisionOrderExists().
|
inherited |
Definition at line 170 of file IBayesNet_tpl.h.
References gum::DAGmodel::dag(), dim(), gum::GraphicalModel::log10DomainSize(), memoryFootprint(), gum::DAGmodel::size(), and gum::GraphicalModel::spaceCplxToStream().
Referenced by gum::operator<<().
|
virtual |
See gum::IBaseBayesNet::variable().
Implements gum::IBayesNet< GUM_SCALAR >.
Definition at line 118 of file instanceBayesNet_tpl.h.
References _get_().
Referenced by gum::prm::SVE< GUM_SCALAR >::_eliminateNodes_(), gum::prm::SVED< GUM_SCALAR >::_eliminateNodes_(), gum::prm::SVED< GUM_SCALAR >::_eliminateNodesDownward_(), gum::prm::SVED< GUM_SCALAR >::_eliminateNodesUpward_(), gum::prm::SVE< GUM_SCALAR >::_eliminateNodesWithEvidence_(), gum::prm::SVE< GUM_SCALAR >::_variableElimination_(), modalities(), and toDot().
|
virtual |
See gum::IBaseBayesNet::variableFromName().
Implements gum::IBayesNet< GUM_SCALAR >.
Definition at line 134 of file instanceBayesNet_tpl.h.
References _get_().
|
virtual |
See gum::IBaseBayesNet::variableNodeMap().
Implements gum::IBayesNet< GUM_SCALAR >.
Definition at line 113 of file instanceBayesNet_tpl.h.
References GUM_ERROR.
|
inherited |
transform a vector of NodeId into a VariableeSet
Definition at line 160 of file graphicalModel_inl.h.
References gum::VariableNodeMap::get(), gum::Set< Key >::insert(), and variableNodeMap().
|
inherited |
transform a vector of names into a VariableeSet
Definition at line 150 of file graphicalModel_inl.h.
References variableNodeMap().
|
private |
The PRMClassElementContainer decorated by this.
Definition at line 143 of file instanceBayesNet.h.
Referenced by InstanceBayesNet(), InstanceBayesNet(), _get_(), _get_(), and toDot().
|
mutableprivate |
Definition at line 145 of file instanceBayesNet.h.
Referenced by modalities().
|
privateinherited |
The properties of this Directed Graphical Model.
Definition at line 236 of file graphicalModel.h.
Referenced by _properties_(), operator=(), properties(), propertyWithDefault(), and setProperty().
|
private |
Mapping between DiscreteVariable and their NodeId.
Definition at line 133 of file instanceBayesNet.h.
Referenced by InstanceBayesNet(), _init_(), nodeId(), and operator=().
|
protectedinherited |
The DAG of this Directed Graphical Model.
Definition at line 272 of file DAGmodel.h.
Referenced by 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_(), arcs(), children(), children(), children(), dag(), 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(), minimalCondSet(), gum::InfluenceDiagram< GUM_SCALAR >::moralGraph_(), nodes(), operator=(), parents(), parents(), gum::InfluenceDiagram< GUM_SCALAR >::removeTables_(), sizeArcs(), gum::InfluenceDiagram< GUM_SCALAR >::toDot(), gum::BayesNetFragment< GUM_SCALAR >::uninstallArc_(), and gum::BayesNetFragment< GUM_SCALAR >::uninstallNode().