aGrUM  0.17.2
a C++ library for (probabilistic) graphical models
exactBNdistance.h
Go to the documentation of this file.
1 
30 #ifndef GUM_BRUTE_FORCE_KL_H
31 #define GUM_BRUTE_FORCE_KL_H
32 
34 
35 namespace gum {
36 
69  template < typename GUM_SCALAR >
70  class ExactBNdistance: public BNdistance< GUM_SCALAR > {
71  public:
78  const IBayesNet< GUM_SCALAR >& Q);
79 
82  explicit ExactBNdistance(const BNdistance< GUM_SCALAR >& kl);
83 
85  virtual ~ExactBNdistance();
86 
87  protected:
88  void _computeKL() final;
89 
95 
98 
101  };
102 
103 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
104  extern template class ExactBNdistance< double >;
105 #endif
106 
107 } // namespace gum
108 
110 
111 #endif // GUM_BRUTE_FORCE_KL_H
virtual ~ExactBNdistance()
destructor
Copyright 2005-2020 Pierre-Henri WUILLEMIN () et Christophe GONZALES () info_at_agrum_dot_org.
Class representing the minimal interface for Bayesian Network.
Definition: IBayesNet.h:62
Copyright 2005-2020 Pierre-Henri WUILLEMIN () et Christophe GONZALES () info_at_agrum_dot_org.
Definition: agrum.h:25
ExactBNdistance computes exactly the KL divergence betweens 2 BNs.
ExactBNdistance(const IBayesNet< GUM_SCALAR > &P, const IBayesNet< GUM_SCALAR > &Q)
constructor must give 2 BNs
Copyright 2005-2020 Pierre-Henri WUILLEMIN () et Christophe GONZALES () info_at_agrum_dot_org.