48#ifndef GUM_I_BAYES_NET_GENERATOR_H
49#define GUM_I_BAYES_NET_GENERATOR_H
80 template < GUM_Numeric GUM_SCALAR,
template <
typename >
class ICPTGenerator >
120 virtual void generateBN(BayesNet< GUM_SCALAR >& bayesNet) = 0;
122 void fromDAG(BayesNet< GUM_SCALAR >& bayesNet);
130 void fillCPT(BayesNet< GUM_SCALAR >& bn)
const;
algorithm for KL divergence between BNs
Class representing Bayesian networks.
Source implementation of IBayesNetGenerator.
void setNbrNodes(Size nbrNodes)
Modifies the value of the number of nodes imposed on the BayesGenerator.
Size nbrNodes() const
Return a constant reference to the number of nodes imposed on the IBayesNetGenerator.
void fromDAG(BayesNet< GUM_SCALAR > &bayesNet)
Virtual function that Generates a Bayesian networks.
void setMaxModality(Size maxModality)
Modifies the value of the number of nodes imposed on the BayesGenerator.
void fillCPT(BayesNet< GUM_SCALAR > &bn) const
function that insert random values in the CPT of each nodes according to the CPTGenerator.
~IBayesNetGenerator() override
Destructor.
Size maxArcs() const
Return a constant reference to the maximum number of arcs imposed on the IBayesNetGenerator.
void setMaxArcs(Size maxArcs)
Modifies the value of the number of nodes imposed on the BayesGenerator.
virtual void generateBN(BayesNet< GUM_SCALAR > &bayesNet)=0
Virtual function that Generates a Bayesian networks.
Size maxModality() const
Return a constant reference to the maximum modality imposed on the IBayesNetGenerator.
IBayesNetGenerator(Size nbrNodes, Size maxArcs, Size maxModality)
constructor.
std::size_t Size
In aGrUM, hashed values are unsigned long int.
Base class for labelized discrete random variables.
gum is the global namespace for all aGrUM entities
Abstract class for generating Conditional Probability Tables.