50#ifndef GUM_GIBBS_SAMPLING_H
51#define GUM_GIBBS_SAMPLING_H
71 template <
typename GUM_SCALAR >
132#ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
133 extern template class GibbsSampling< double >;
Implementation of Gibbs Sampling for inference in Bayesian networks.
Size burn_in_
Number of iterations before checking stopping criteria.
GibbsOperator(const IBayesNet< GUM_SCALAR > &BN, const NodeProperty< Idx > *hardEv, Size nbr=1, bool atRandom=false)
constructor
~GibbsSampling() override
Destructor.
Instantiation draw_(GUM_SCALAR *w, Instantiation prev) override
draws a sample given previous one according to Gibbs sampling
Instantiation burnIn_() override
draws a defined number of samples without updating the estimators
Instantiation monteCarloSample_()
draws a Monte Carlo sample
void setBurnIn(Size b)
Number of burn in for one iteration.
Size burnIn() const
Returns the number of burn in.
GibbsSampling(const IBayesNet< GUM_SCALAR > *bn)
Default constructor.
Class representing the minimal interface for Bayesian network with no numerical data.
Class for assigning/browsing values to tuples of discrete variables.
SamplingInference(const IBayesNet< GUM_SCALAR > *bn)
default constructor
std::size_t Size
In aGrUM, hashed values are unsigned long int.
gum is the global namespace for all aGrUM entities
This file contains general methods for simulation-oriented approximate inference.