template<typename MetricType = metric::EuclideanDistance, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename SplitType = RTreeSplit, typename DescentType = RTreeDescentHeuristic, template< typename > class AuxiliaryInformationType = NoAuxiliaryInformation>
template<typename MetricType, typename StatisticType, typename MatType, typename SplitType, typename DescentType, template< typename > class AuxiliaryInformationType>
class mlpack::tree::RectangleTree< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::DualTreeTraverser< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >
A dual tree traverser for rectangle type trees.
Definition at line 31 of file dual_tree_traverser.hpp.
template<typename MetricType = metric::EuclideanDistance, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename SplitType = RTreeSplit, typename DescentType = RTreeDescentHeuristic, template< typename > class AuxiliaryInformationType = NoAuxiliaryInformation>
template<typename MetricType , typename StatisticType , typename MatType , typename SplitType , typename DescentType , template< typename > class AuxiliaryInformationType>
mlpack::tree::RectangleTree< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::DualTreeTraverser< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::DualTreeTraverser |
( |
RuleType & |
rule | ) |
|
Instantiate the dual-tree traverser with the given rule set.
template<typename MetricType = metric::EuclideanDistance, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename SplitType = RTreeSplit, typename DescentType = RTreeDescentHeuristic, template< typename > class AuxiliaryInformationType = NoAuxiliaryInformation>
template<typename MetricType , typename StatisticType , typename MatType , typename SplitType , typename DescentType , template< typename > class AuxiliaryInformationType>
static bool mlpack::tree::RectangleTree< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::DualTreeTraverser< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::nodeComparator |
( |
const NodeAndScore & |
obj1, |
|
|
const NodeAndScore & |
obj2 |
|
) |
| |
|
inlinestaticprivate |
Definition at line 80 of file dual_tree_traverser.hpp.
References mlpack::tree::RectangleTree< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::DualTreeTraverser< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::NodeAndScore< RuleType >::score.
template<typename MetricType = metric::EuclideanDistance, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename SplitType = RTreeSplit, typename DescentType = RTreeDescentHeuristic, template< typename > class AuxiliaryInformationType = NoAuxiliaryInformation>
template<typename MetricType , typename StatisticType , typename MatType , typename SplitType , typename DescentType , template< typename > class AuxiliaryInformationType>
size_t mlpack::tree::RectangleTree< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::DualTreeTraverser< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::NumBaseCases |
( |
| ) |
const |
|
inline |
template<typename MetricType = metric::EuclideanDistance, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename SplitType = RTreeSplit, typename DescentType = RTreeDescentHeuristic, template< typename > class AuxiliaryInformationType = NoAuxiliaryInformation>
template<typename MetricType , typename StatisticType , typename MatType , typename SplitType , typename DescentType , template< typename > class AuxiliaryInformationType>
size_t& mlpack::tree::RectangleTree< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::DualTreeTraverser< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::NumBaseCases |
( |
| ) |
|
|
inline |
template<typename MetricType = metric::EuclideanDistance, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename SplitType = RTreeSplit, typename DescentType = RTreeDescentHeuristic, template< typename > class AuxiliaryInformationType = NoAuxiliaryInformation>
template<typename MetricType , typename StatisticType , typename MatType , typename SplitType , typename DescentType , template< typename > class AuxiliaryInformationType>
size_t mlpack::tree::RectangleTree< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::DualTreeTraverser< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::NumPrunes |
( |
| ) |
const |
|
inline |
template<typename MetricType = metric::EuclideanDistance, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename SplitType = RTreeSplit, typename DescentType = RTreeDescentHeuristic, template< typename > class AuxiliaryInformationType = NoAuxiliaryInformation>
template<typename MetricType , typename StatisticType , typename MatType , typename SplitType , typename DescentType , template< typename > class AuxiliaryInformationType>
size_t& mlpack::tree::RectangleTree< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::DualTreeTraverser< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::NumPrunes |
( |
| ) |
|
|
inline |
template<typename MetricType = metric::EuclideanDistance, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename SplitType = RTreeSplit, typename DescentType = RTreeDescentHeuristic, template< typename > class AuxiliaryInformationType = NoAuxiliaryInformation>
template<typename MetricType , typename StatisticType , typename MatType , typename SplitType , typename DescentType , template< typename > class AuxiliaryInformationType>
size_t mlpack::tree::RectangleTree< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::DualTreeTraverser< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::NumScores |
( |
| ) |
const |
|
inline |
template<typename MetricType = metric::EuclideanDistance, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename SplitType = RTreeSplit, typename DescentType = RTreeDescentHeuristic, template< typename > class AuxiliaryInformationType = NoAuxiliaryInformation>
template<typename MetricType , typename StatisticType , typename MatType , typename SplitType , typename DescentType , template< typename > class AuxiliaryInformationType>
size_t& mlpack::tree::RectangleTree< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::DualTreeTraverser< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::NumScores |
( |
| ) |
|
|
inline |
template<typename MetricType = metric::EuclideanDistance, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename SplitType = RTreeSplit, typename DescentType = RTreeDescentHeuristic, template< typename > class AuxiliaryInformationType = NoAuxiliaryInformation>
template<typename MetricType , typename StatisticType , typename MatType , typename SplitType , typename DescentType , template< typename > class AuxiliaryInformationType>
size_t mlpack::tree::RectangleTree< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::DualTreeTraverser< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::NumVisited |
( |
| ) |
const |
|
inline |
template<typename MetricType = metric::EuclideanDistance, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename SplitType = RTreeSplit, typename DescentType = RTreeDescentHeuristic, template< typename > class AuxiliaryInformationType = NoAuxiliaryInformation>
template<typename MetricType , typename StatisticType , typename MatType , typename SplitType , typename DescentType , template< typename > class AuxiliaryInformationType>
size_t& mlpack::tree::RectangleTree< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::DualTreeTraverser< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::NumVisited |
( |
| ) |
|
|
inline |
template<typename MetricType = metric::EuclideanDistance, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename SplitType = RTreeSplit, typename DescentType = RTreeDescentHeuristic, template< typename > class AuxiliaryInformationType = NoAuxiliaryInformation>
template<typename MetricType , typename StatisticType , typename MatType , typename SplitType , typename DescentType , template< typename > class AuxiliaryInformationType>
void mlpack::tree::RectangleTree< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::DualTreeTraverser< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::Traverse |
( |
RectangleTree & |
queryNode, |
|
|
RectangleTree & |
referenceNode |
|
) |
| |
Traverse the two trees.
This does not reset the number of prunes.
- Parameters
-
queryNode | The query node to be traversed. |
referenceNode | The reference node to be traversed. |
score | The score of the current node combination. |
template<typename MetricType = metric::EuclideanDistance, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename SplitType = RTreeSplit, typename DescentType = RTreeDescentHeuristic, template< typename > class AuxiliaryInformationType = NoAuxiliaryInformation>
template<typename MetricType , typename StatisticType , typename MatType , typename SplitType , typename DescentType , template< typename > class AuxiliaryInformationType>
size_t mlpack::tree::RectangleTree< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::DualTreeTraverser< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::numBaseCases |
|
private |
template<typename MetricType = metric::EuclideanDistance, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename SplitType = RTreeSplit, typename DescentType = RTreeDescentHeuristic, template< typename > class AuxiliaryInformationType = NoAuxiliaryInformation>
template<typename MetricType , typename StatisticType , typename MatType , typename SplitType , typename DescentType , template< typename > class AuxiliaryInformationType>
size_t mlpack::tree::RectangleTree< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::DualTreeTraverser< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::numPrunes |
|
private |
template<typename MetricType = metric::EuclideanDistance, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename SplitType = RTreeSplit, typename DescentType = RTreeDescentHeuristic, template< typename > class AuxiliaryInformationType = NoAuxiliaryInformation>
template<typename MetricType , typename StatisticType , typename MatType , typename SplitType , typename DescentType , template< typename > class AuxiliaryInformationType>
size_t mlpack::tree::RectangleTree< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::DualTreeTraverser< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::numScores |
|
private |
template<typename MetricType = metric::EuclideanDistance, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename SplitType = RTreeSplit, typename DescentType = RTreeDescentHeuristic, template< typename > class AuxiliaryInformationType = NoAuxiliaryInformation>
template<typename MetricType , typename StatisticType , typename MatType , typename SplitType , typename DescentType , template< typename > class AuxiliaryInformationType>
size_t mlpack::tree::RectangleTree< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::DualTreeTraverser< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::numVisited |
|
private |
The number of node combinations that have been visited during traversal.
Definition at line 93 of file dual_tree_traverser.hpp.
template<typename MetricType = metric::EuclideanDistance, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename SplitType = RTreeSplit, typename DescentType = RTreeDescentHeuristic, template< typename > class AuxiliaryInformationType = NoAuxiliaryInformation>
template<typename MetricType , typename StatisticType , typename MatType , typename SplitType , typename DescentType , template< typename > class AuxiliaryInformationType>
RuleType& mlpack::tree::RectangleTree< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::DualTreeTraverser< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::rule |
|
private |
template<typename MetricType = metric::EuclideanDistance, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename SplitType = RTreeSplit, typename DescentType = RTreeDescentHeuristic, template< typename > class AuxiliaryInformationType = NoAuxiliaryInformation>
template<typename MetricType , typename StatisticType , typename MatType , typename SplitType , typename DescentType , template< typename > class AuxiliaryInformationType>
RuleType::TraversalInfoType mlpack::tree::RectangleTree< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::DualTreeTraverser< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::traversalInfo |
|
private |
Traversal information, held in the class so that it isn't continually being reallocated.
Definition at line 103 of file dual_tree_traverser.hpp.