22 #ifndef __MLPACK_METHODS_EMST_DTB_RULES_HPP
23 #define __MLPACK_METHODS_EMST_DTB_RULES_HPP
30 template<
typename MetricType,
typename TreeType>
41 double BaseCase(
const size_t queryIndex,
const size_t referenceIndex);
51 double Score(
const size_t queryIndex, TreeType& referenceNode);
63 double Score(
const size_t queryIndex,
64 TreeType& referenceNode,
65 const double baseCaseResult);
78 double Rescore(
const size_t queryIndex,
79 TreeType& referenceNode,
80 const double oldScore);
90 double Score(TreeType& queryNode, TreeType& referenceNode)
const;
102 double Score(TreeType& queryNode,
103 TreeType& referenceNode,
104 const double baseCaseResult)
const;
117 double Rescore(TreeType& queryNode,
118 TreeType& referenceNode,
119 const double oldScore)
const;
152 #include "dtb_rules_impl.hpp"
A Union-Find data structure.
double CalculateBound(TreeType &queryNode) const
Update the bound for the given query node.
double BaseCase(const size_t queryIndex, const size_t referenceIndex)
arma::vec & neighborsDistances
The distance to the candidate nearest neighbor for each component.
UnionFind & connections
Stores the tree structure so far.
arma::Col< size_t > & neighborsInComponent
The index of the point in the component that is an endpoint of the candidate edge.
DTBRules(const arma::mat &dataSet, UnionFind &connections, arma::vec &neighborsDistances, arma::Col< size_t > &neighborsInComponent, arma::Col< size_t > &neighborsOutComponent, MetricType &metric)
double Score(const size_t queryIndex, TreeType &referenceNode)
Get the score for recursion order.
MetricType & metric
The instantiated metric.
const arma::mat & dataSet
The data points.
arma::Col< size_t > & neighborsOutComponent
The index of the point outside of the component that is an endpoint of the candidate edge...
double Rescore(const size_t queryIndex, TreeType &referenceNode, const double oldScore)
Re-evaluate the score for recursion order.