dtb_rules.hpp

Go to the documentation of this file.
00001 
00022 #ifndef __MLPACK_METHODS_EMST_DTB_RULES_HPP
00023 #define __MLPACK_METHODS_EMST_DTB_RULES_HPP
00024 
00025 #include <mlpack/core.hpp>
00026 
00027 namespace mlpack {
00028 namespace emst {
00029 
00030 template<typename MetricType, typename TreeType>
00031 class DTBRules
00032 {
00033  public:
00034   DTBRules(const arma::mat& dataSet,
00035            UnionFind& connections,
00036            arma::vec& neighborsDistances,
00037            arma::Col<size_t>& neighborsInComponent,
00038            arma::Col<size_t>& neighborsOutComponent,
00039            MetricType& metric);
00040 
00041   double BaseCase(const size_t queryIndex, const size_t referenceIndex);
00042 
00051   double Score(const size_t queryIndex, TreeType& referenceNode);
00052 
00063   double Score(const size_t queryIndex,
00064                TreeType& referenceNode,
00065                const double baseCaseResult);
00066 
00078   double Rescore(const size_t queryIndex,
00079                  TreeType& referenceNode,
00080                  const double oldScore);
00081 
00090   double Score(TreeType& queryNode, TreeType& referenceNode) const;
00091 
00102   double Score(TreeType& queryNode,
00103                TreeType& referenceNode,
00104                const double baseCaseResult) const;
00105 
00117   double Rescore(TreeType& queryNode,
00118                  TreeType& referenceNode,
00119                  const double oldScore) const;
00120 
00121  private:
00123   const arma::mat& dataSet;
00124 
00126   UnionFind& connections;
00127 
00129   arma::vec& neighborsDistances;
00130 
00133   arma::Col<size_t>& neighborsInComponent;
00134 
00137   arma::Col<size_t>& neighborsOutComponent;
00138 
00140   MetricType& metric;
00141 
00145   inline double CalculateBound(TreeType& queryNode) const;
00146 
00147 }; // class DTBRules
00148 
00149 } // emst namespace
00150 } // mlpack namespace
00151 
00152 #include "dtb_rules_impl.hpp"
00153 
00154 #endif

Generated on 13 Aug 2014 for MLPACK by  doxygen 1.6.1