50#ifndef GUM_GIBBS_OPERATOR_H
51#define GUM_GIBBS_OPERATOR_H
66 template <
typename GUM_SCALAR >
75 bool atRandom =
false);
116#ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
Class representing the minimal interface for Bayesian network with no numerical data.
class containing all variables and methods required for Gibbssampling
void setDrawnAtRandom(bool atRandom)
Size nbrDrawnVar() const
Getters and setters.
void _drawVarMonteCarlo_(NodeId nod, Instantiation *I)
void setNbrDrawnVar(Size nbr)
const IBayesNet< GUM_SCALAR > & samplingBn_
void _GibbsSample_(NodeId id, Instantiation *I)
change in Instantiation I a new drawn value for id
Instantiation nextSample(Instantiation prev)
draws next sample of Gibbs sampling
Sequence< NodeId > samplingNodes_
Instantiation monteCarloSample()
draws a Monte Carlo sample
const NodeProperty< Idx > * hardEv_
bool isDrawnAtRandom() const
GibbsOperator(const IBayesNet< GUM_SCALAR > &BN, const NodeProperty< Idx > *hardEv, Size nbr=1, bool atRandom=false)
constructor
virtual ~GibbsOperator()
Destructor.
void updateSamplingNodes_()
Class representing the minimal interface for Bayesian network with no numerical data.
Class for assigning/browsing values to tuples of discrete variables.
Implementation of Gibbs inference methods in Bayesian networks.
std::size_t Size
In aGrUM, hashed values are unsigned long int.
Size NodeId
Type for node ids.
HashTable< NodeId, VAL > NodeProperty
Property on graph elements.
gum is the global namespace for all aGrUM entities