85 template <
typename GUM_SCALAR >
88#define GAP_COMPLEXITY_KL_HEAVY_DIFFICULT double(12.0)
89#define GAP_COMPLEXITY_KL_DIFFICULT_CORRECT double(7.0)
97 BNdistance(
const IBayesNet< GUM_SCALAR >& P,
const IBayesNet< GUM_SCALAR >& Q);
143 const IBayesNet< GUM_SCALAR >&
p()
const;
146 const IBayesNet< GUM_SCALAR >&
q()
const;
176#ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
KL divergence between BNs implementation.
Class representing the minimal interface for Bayesian network with no numerical data.
BNdistance(const IBayesNet< GUM_SCALAR > &P, const IBayesNet< GUM_SCALAR > &Q)
constructor must give 2 BNs
virtual void computeKL_()
bool _checkCompatibility_() const
virtual ~BNdistance()
destructor
const IBayesNet< GUM_SCALAR > & q_
const IBayesNet< GUM_SCALAR > & p() const
const IBayesNet< GUM_SCALAR > & q() const
Complexity difficulty() const
return KL::Complexity::Heavy,KL::Complexity::Difficult,KL::Complexity::Correct depending on the BNs p...
const IBayesNet< GUM_SCALAR > & p_
Class representing the minimal interface for Bayesian network with no numerical data.
std::size_t Size
In aGrUM, hashed values are unsigned long int.
gum is the global namespace for all aGrUM entities
Complexity
Complexity allows to characterize the awaited difficulty for an algorithm given a specific instance T...