aGrUM  0.16.0
GibbsBNdistance.h
Go to the documentation of this file.
1 
34 #ifndef GUM_GIBBS_KL2_H
35 #define GUM_GIBBS_KL2_H
36 
40 
42 
43 namespace gum {
44 
78  template < typename GUM_SCALAR >
80  : public BNdistance< GUM_SCALAR >
81  , public ApproximationScheme
82  , public GibbsOperator< GUM_SCALAR > {
83  public:
84  /* no default constructor */
85 
94  const IBayesNet< GUM_SCALAR >& Q);
95 
98  explicit GibbsBNdistance(const BNdistance< GUM_SCALAR >& kl);
99 
102 
108  void setBurnIn(Size b);
109 
114  Size burnIn() const;
115 
116  protected:
117  void _computeKL() final;
118 
124 
127 
130  };
131 
132 
133 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
134  extern template class GibbsBNdistance< double >;
135 #endif
136 
137 } // namespace gum
138 
140 
141 #endif
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
void _computeKL() final
Definition: GibbsKL_tpl.h:101
Approximation Scheme.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Class representing the minimal interface for Bayesian Network.
Definition: IBayesNet.h:62
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Definition: agrum.h:25
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
~GibbsBNdistance()
destructor
Definition: GibbsKL_tpl.h:96
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
GibbsKL computes the KL divergence betweens 2 BNs using an approximation pattern: GIBBS sampling...
Size burnIn() const
Returns the number of burn in.
Definition: GibbsKL_tpl.h:189
void setBurnIn(Size b)
Number of burn in for one iteration.
Definition: GibbsKL_tpl.h:184
std::size_t Size
In aGrUM, hashed values are unsigned long int.
Definition: types.h:48
class containing all variables and methods required for Gibbssampling
Definition: gibbsOperator.h:50
GibbsBNdistance(const IBayesNet< GUM_SCALAR > &P, const IBayesNet< GUM_SCALAR > &Q)
constructor must give 2 BNs
Definition: GibbsKL_tpl.h:52