29 #ifndef GUM_SIMPLE_BAYES_NET_H 30 #define GUM_SIMPLE_BAYES_NET_H 34 #include <agrum/agrum.h> 36 #include <agrum/tools/core/hashTable.h> 38 #include <agrum/tools/graphicalModels/DAGmodel.h> 39 #include <agrum/tools/multidim/potential.h> 43 template <
typename GUM_SCALAR >
44 class BayesNetFactory;
60 template <
typename GUM_SCALAR >
232 const NodeSet& soids,
234 NodeSet& alreadyVisitedUp,
235 NodeSet& alreadyVisitedDn)
const;
237 const NodeSet& soids,
239 NodeSet& alreadyVisitedUp,
240 NodeSet& alreadyVisitedDn)
const;
244 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 245 extern template class IBayesNet<
double >;
250 template <
typename GUM_SCALAR >
255 #include <agrum/BN/IBayesNet_tpl.h> bool operator!=(const IBayesNet< GUM_SCALAR > &from) const
GUM_SCALAR minParam() const
IBayesNet(std::string name)
Default constructor.
void _minimalCondSetVisitUp_(NodeId node, const NodeSet &soids, NodeSet &minimal, NodeSet &alreadyVisitedUp, NodeSet &alreadyVisitedDn) const
void _minimalCondSetVisitDn_(NodeId node, const NodeSet &soids, NodeSet &minimal, NodeSet &alreadyVisitedUp, NodeSet &alreadyVisitedDn) const
INLINE void emplace(Args &&... args)
virtual const Potential< GUM_SCALAR > & cpt(NodeId varId) const =0
Returns the CPT of a variable.
virtual std::string toDot() const
GUM_SCALAR minNonZeroParam() const
IBayesNet< GUM_SCALAR > & operator=(const IBayesNet< GUM_SCALAR > &source)
Copy operator.
Class representing the minimal interface for Bayesian network.
IBayesNet(const IBayesNet< GUM_SCALAR > &source)
Copy constructor.
virtual NodeId idFromName(const std::string &name) const =0
Getter by name.
virtual const DiscreteVariable & variable(NodeId id) const =0
Returns a constant reference over a variable given it's node id.
GUM_SCALAR maxNonOneParam() const
virtual const DiscreteVariable & variableFromName(const std::string &name) const =0
Getter by name.
virtual const VariableNodeMap & variableNodeMap() const =0
Returns a constant reference to the VariableNodeMap of thisBN.
virtual ~IBayesNet()
Destructor.
GUM_SCALAR log2JointProbability(const Instantiation &i) const
Compute a parameter of the log joint probability for the BN (given an instantiation of the vars) ...
Size dim() const
Returns the dimension (the number of free parameters) in this bayes net.
NodeSet minimalCondSet(const NodeSet &targets, const NodeSet &soids) const
std::ostream & operator<<(std::ostream &output, const IBayesNet< GUM_SCALAR > &bn)
Prints map's DAG in output using the Graphviz-dot format.
std::string toString() const
NodeSet minimalCondSet(NodeId target, const NodeSet &soids) const
IBayesNet()
Default constructor.
virtual NodeId nodeId(const DiscreteVariable &var) const =0
Return id node from discrete var pointer.
Size maxVarDomainSize() const
bool operator==(const IBayesNet< GUM_SCALAR > &from) const
This operator compares 2 BNs !
GUM_SCALAR maxParam() const
GUM_SCALAR jointProbability(const Instantiation &i) const
Compute a parameter of the joint probability for the BN (given an instantiation of the vars) ...