![]() |
aGrUM 2.3.2
a C++ library for (probabilistic) graphical models
|
Virtual base class for PGMs using a DAG. More...
#include <agrum/base/graphicalModels/DAGmodel.h>
Public Member Functions | |
| 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 / Destructors | |
| DAGmodel () | |
| Default constructor. | |
| virtual | ~DAGmodel () |
| Destructor. | |
| DAGmodel (const DAGmodel &source) | |
| Copy constructor. | |
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 const VariableNodeMap & | variableNodeMap () const =0 |
| Returns a constant reference to the VariableNodeMap of this Graphical Model. | |
| 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. | |
| virtual const DiscreteVariable & | variable (NodeId id) const =0 |
| Returns a constant reference over a variable given it's node id. | |
| virtual NodeId | nodeId (const DiscreteVariable &var) const =0 |
| Return id node src discrete var pointer. | |
| virtual NodeId | idFromName (const std::string &name) const =0 |
| Getter by name. | |
| virtual const DiscreteVariable & | variableFromName (const std::string &name) const =0 |
| Getter by name. | |
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 Member Functions | |
| DAGmodel & | operator= (const DAGmodel &source) |
| Private copy operator. | |
Protected Attributes | |
| DAG | dag_ |
| The DAG of this Directed Graphical Model. | |
Private Member Functions | |
| const HashTable< std::string, std::string > & | _properties_ () const |
| Return the properties of this Directed Graphical Model. | |
Private Attributes | |
| HashTable< std::string, std::string > | _propertiesMap_ |
| The properties of this Directed Graphical Model. | |
Virtual base class for PGMs using a DAG.
Definition at line 64 of file DAGmodel.h.
| gum::DAGmodel::DAGmodel | ( | ) |
Default constructor.
Definition at line 49 of file DAGmodel.cpp.
References DAGmodel().
Referenced by DAGmodel(), DAGmodel(), gum::IBayesNet< GUM_SCALAR >::IBayesNet(), gum::IBayesNet< GUM_SCALAR >::IBayesNet(), gum::IBayesNet< GUM_SCALAR >::IBayesNet(), gum::InfluenceDiagram< GUM_SCALAR >::InfluenceDiagram(), ~DAGmodel(), hasSameStructure(), and operator=().
|
virtual |
Destructor.
Definition at line 53 of file DAGmodel.cpp.
References DAGmodel().
| gum::DAGmodel::DAGmodel | ( | const DAGmodel & | source | ) |
Copy constructor.
Do nothing.
Definition at line 51 of file DAGmodel.cpp.
References DAGmodel(), and dag_.
|
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().
| INLINE NodeSet gum::DAGmodel::ancestors | ( | const std::string & | name | ) | const |
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().
| INLINE const ArcSet & gum::DAGmodel::arcs | ( | ) | const |
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().
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().
| INLINE const NodeSet & gum::DAGmodel::children | ( | const std::string & | name | ) | const |
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().
| INLINE NodeSet gum::DAGmodel::children | ( | const std::vector< std::string > & | names | ) | const |
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().
| INLINE const DAG & gum::DAGmodel::dag | ( | ) | const |
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().
| INLINE NodeSet gum::DAGmodel::descendants | ( | const std::string & | name | ) | const |
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().
|
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().
|
finalvirtual |
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().
| INLINE bool gum::DAGmodel::existsArc | ( | const std::string & | nametail, |
| const std::string & | namehead ) const |
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_.
|
finalvirtual |
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().
|
pure virtualinherited |
Getter by name.
| NotFound | if no such name exists in the graph. |
Implemented in gum::BayesNet< GUM_SCALAR >, gum::BayesNet< double >, gum::BayesNetFragment< GUM_SCALAR >, gum::IBayesNet< GUM_SCALAR >, gum::IBayesNet< double >, gum::IMarkovRandomField< GUM_SCALAR >, gum::InfluenceDiagram< GUM_SCALAR >, gum::prm::ClassBayesNet< GUM_SCALAR >, and gum::prm::InstanceBayesNet< GUM_SCALAR >.
Referenced by gum::DAGmodel::ancestors(), gum::DAGmodel::children(), gum::IBayesNet< double >::children(), gum::DAGmodel::descendants(), gum::UGmodel::exists(), gum::DAGmodel::existsArc(), gum::UGmodel::existsEdge(), gum::DAGmodel::family(), gum::UGmodel::family(), gum::DAGmodel::hasSameStructure(), gum::MarkovBlanket::hasSameStructure(), gum::UGmodel::hasSameStructure(), gum::DAGmodel::isIndependent(), gum::UGmodel::isIndependent(), gum::UGmodel::neighbours(), nodeset(), and gum::DAGmodel::parents().
|
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().
|
finalvirtual |
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().
|
inline |
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().
|
inline |
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().
|
finalvirtual |
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 |
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().
| INLINE NodeSet gum::DAGmodel::minimalCondSet | ( | const NodeSet & | targets, |
| const NodeSet & | soids ) const |
Definition at line 150 of file DAGmodel_inl.h.
References dag_.
| INLINE NodeSet gum::DAGmodel::minimalCondSet | ( | const std::string & | target, |
| const std::vector< std::string > & | soids ) const |
Definition at line 154 of file DAGmodel_inl.h.
| INLINE NodeSet gum::DAGmodel::minimalCondSet | ( | const std::vector< std::string > & | targets, |
| const std::vector< std::string > & | soids ) const |
Definition at line 159 of file DAGmodel_inl.h.
Definition at line 146 of file DAGmodel_inl.h.
| UndiGraph gum::DAGmodel::moralGraph | ( | ) | const |
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().
| INLINE UndiGraph gum::DAGmodel::moralizedAncestralGraph | ( | const std::vector< std::string > & | nodenames | ) | const |
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().
|
pure virtualinherited |
Return id node src discrete var pointer.
| NotFound | If no variable matches var. |
Implemented in gum::BayesNet< GUM_SCALAR >, gum::BayesNet< double >, gum::BayesNetFragment< GUM_SCALAR >, gum::IBayesNet< GUM_SCALAR >, gum::IBayesNet< double >, gum::IMarkovRandomField< GUM_SCALAR >, gum::InfluenceDiagram< GUM_SCALAR >, gum::prm::ClassBayesNet< GUM_SCALAR >, and gum::prm::InstanceBayesNet< GUM_SCALAR >.
|
finalvirtual |
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().
Private copy operator.
Definition at line 55 of file DAGmodel.cpp.
References DAGmodel(), dag_, and gum::GraphicalModel::operator=().
Referenced by gum::IBayesNet< GUM_SCALAR >::operator=().
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().
| INLINE const NodeSet & gum::DAGmodel::parents | ( | const std::string & | name | ) | const |
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().
| INLINE NodeSet gum::DAGmodel::parents | ( | const std::vector< std::string > & | names | ) | const |
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().
|
finalvirtual |
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().
| INLINE Size gum::DAGmodel::sizeArcs | ( | ) | const |
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().
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().
|
pure virtualinherited |
Returns a constant reference over a variable given it's node id.
| NotFound | If no variable's id matches varId. |
Implemented in gum::BayesNet< GUM_SCALAR >, gum::BayesNet< double >, gum::BayesNetFragment< GUM_SCALAR >, gum::IBayesNet< GUM_SCALAR >, gum::IBayesNet< double >, gum::IMarkovRandomField< GUM_SCALAR >, gum::InfluenceDiagram< GUM_SCALAR >, gum::prm::ClassBayesNet< GUM_SCALAR >, and gum::prm::InstanceBayesNet< GUM_SCALAR >.
Referenced by gum::DAGmodel::hasSameStructure(), and gum::UGmodel::hasSameStructure().
|
pure virtualinherited |
Getter by name.
| NotFound | if no such name exists in the graph. |
Implemented in gum::BayesNet< GUM_SCALAR >, gum::BayesNet< double >, gum::BayesNetFragment< GUM_SCALAR >, gum::IBayesNet< GUM_SCALAR >, gum::IBayesNet< double >, gum::IMarkovRandomField< GUM_SCALAR >, gum::InfluenceDiagram< GUM_SCALAR >, gum::prm::ClassBayesNet< GUM_SCALAR >, and gum::prm::InstanceBayesNet< GUM_SCALAR >.
|
pure virtualinherited |
Returns a constant reference to the VariableNodeMap of this Graphical Model.
Implemented in gum::BayesNet< GUM_SCALAR >, gum::BayesNet< double >, gum::BayesNetFragment< GUM_SCALAR >, gum::IBayesNet< GUM_SCALAR >, gum::IBayesNet< double >, gum::IMarkovRandomField< GUM_SCALAR >, gum::InfluenceDiagram< GUM_SCALAR >, gum::prm::ClassBayesNet< GUM_SCALAR >, and gum::prm::InstanceBayesNet< GUM_SCALAR >.
Referenced by gum::IBayesNet< double >::empty(), names(), variables(), and variables().
|
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().
|
privateinherited |
The properties of this Directed Graphical Model.
Definition at line 236 of file graphicalModel.h.
Referenced by _properties_(), operator=(), properties(), propertyWithDefault(), and setProperty().
|
protected |
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().