32 #include <agrum/BN/IBayesNet.h> 33 #include <agrum/tools/core/sequence.h> 71 template <
typename GUM_SCALAR >
74 #define GAP_COMPLEXITY_KL_HEAVY_DIFFICULT double(12.0
) 75 #define GAP_COMPLEXITY_KL_DIFFICULT_CORRECT double(7.0
) 82 BNdistance(
const IBayesNet< GUM_SCALAR >& P,
const IBayesNet< GUM_SCALAR >& Q);
161 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 169 #include <agrum/BN/algorithms/divergence/BNdistance_tpl.h>
Complexity difficulty() const
return KL::Complexity::Heavy,KL::Complexity::Difficult,KL::Complexity::Correct depending on the BNs p...
bool _checkCompatibility_() const
INLINE void emplace(Args &&... args)
BNdistance(const IBayesNet< GUM_SCALAR > &P, const IBayesNet< GUM_SCALAR > &Q)
constructor must give 2 BNs
const IBayesNet< GUM_SCALAR > & p() const
Complexity
Complexity allows to characterize the awaited difficulty for an algorithm given a specific instance T...
const IBayesNet< GUM_SCALAR > & q() const
const IBayesNet< GUM_SCALAR > & p_
virtual ~BNdistance()
destructor
virtual void computeKL_()
const IBayesNet< GUM_SCALAR > & q_
BNdistance(const BNdistance< GUM_SCALAR > &kl)
copy constructor