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 >
233 const NodeSet& soids,
235 NodeSet& alreadyVisitedUp,
236 NodeSet& alreadyVisitedDn)
const;
238 const NodeSet& soids,
240 NodeSet& alreadyVisitedUp,
241 NodeSet& alreadyVisitedDn)
const;
245 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 246 extern template class IBayesNet<
double >;
251 template <
typename GUM_SCALAR >
257 #include <agrum/BN/IBayesNet_tpl.h> bool operator!=(const IBayesNet< GUM_SCALAR > &from) const
GUM_SCALAR minParam() const
IBayesNet(std::string name)
Default constructor.
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
void minimalCondSetVisitDn__(NodeId node, const NodeSet &soids, NodeSet &minimal, NodeSet &alreadyVisitedUp, NodeSet &alreadyVisitedDn) 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
void minimalCondSetVisitUp__(NodeId node, const NodeSet &soids, NodeSet &minimal, NodeSet &alreadyVisitedUp, NodeSet &alreadyVisitedDn) 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) ...