85 template < GUM_Numeric 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.
const IBayesNet< GUM_SCALAR > & q() const
BNdistance(const IBayesNet< GUM_SCALAR > &P, const IBayesNet< GUM_SCALAR > &Q)
constructor must give 2 BNs
virtual void computeKL_()
const IBayesNet< GUM_SCALAR > & p() const
bool _checkCompatibility_() const
virtual ~BNdistance()
destructor
const IBayesNet< GUM_SCALAR > & q_
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...