mlpack  master
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
mlpack::tree::CoverTree< MetricType, StatisticType, MatType, RootPointPolicy >::DualTreeTraverser< RuleType > Class Template Reference

A dual-tree cover tree traverser; see dual_tree_traverser.hpp. More...

Classes

struct  DualCoverTreeMapEntry
 Struct used for traversal. More...
 

Public Member Functions

 DualTreeTraverser (RuleType &rule)
 Initialize the dual tree traverser with the given rule type. More...
 
size_t NumBaseCases () const
 
size_t NumPrunes () const
 Get the number of pruned nodes. More...
 
size_t & NumPrunes ()
 Modify the number of pruned nodes. More...
 
size_t NumScores () const
 
size_t NumVisited () const
 
void Traverse (CoverTree &queryNode, CoverTree &referenceNode)
 Traverse the two specified trees. More...
 

Private Member Functions

void PruneMap (CoverTree &queryNode, std::map< int, std::vector< DualCoverTreeMapEntry > > &referenceMap, std::map< int, std::vector< DualCoverTreeMapEntry > > &childMap)
 Prepare map for recursion. More...
 
void ReferenceRecursion (CoverTree &queryNode, std::map< int, std::vector< DualCoverTreeMapEntry > > &referenceMap)
 
void Traverse (CoverTree &queryNode, std::map< int, std::vector< DualCoverTreeMapEntry > > &referenceMap)
 Helper function for traversal of the two trees. More...
 

Private Attributes

size_t numPrunes
 The number of pruned nodes. More...
 
RuleType & rule
 The instantiated rule set for pruning branches. More...
 

Detailed Description

template<typename MetricType = metric::LMetric<2, true>, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename RootPointPolicy = FirstPointIsRoot>
template<typename RuleType>
class mlpack::tree::CoverTree< MetricType, StatisticType, MatType, RootPointPolicy >::DualTreeTraverser< RuleType >

A dual-tree cover tree traverser; see dual_tree_traverser.hpp.

Definition at line 261 of file cover_tree.hpp.

Constructor & Destructor Documentation

template<typename MetricType = metric::LMetric<2, true>, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename RootPointPolicy = FirstPointIsRoot>
template<typename RuleType >
mlpack::tree::CoverTree< MetricType, StatisticType, MatType, RootPointPolicy >::DualTreeTraverser< RuleType >::DualTreeTraverser ( RuleType &  rule)

Initialize the dual tree traverser with the given rule type.

Member Function Documentation

template<typename MetricType = metric::LMetric<2, true>, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename RootPointPolicy = FirstPointIsRoot>
template<typename RuleType >
size_t mlpack::tree::CoverTree< MetricType, StatisticType, MatType, RootPointPolicy >::DualTreeTraverser< RuleType >::NumBaseCases ( ) const
inline

Definition at line 54 of file dual_tree_traverser.hpp.

template<typename MetricType = metric::LMetric<2, true>, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename RootPointPolicy = FirstPointIsRoot>
template<typename RuleType >
size_t mlpack::tree::CoverTree< MetricType, StatisticType, MatType, RootPointPolicy >::DualTreeTraverser< RuleType >::NumPrunes ( ) const
inline

Get the number of pruned nodes.

Definition at line 46 of file dual_tree_traverser.hpp.

template<typename MetricType = metric::LMetric<2, true>, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename RootPointPolicy = FirstPointIsRoot>
template<typename RuleType >
size_t& mlpack::tree::CoverTree< MetricType, StatisticType, MatType, RootPointPolicy >::DualTreeTraverser< RuleType >::NumPrunes ( )
inline

Modify the number of pruned nodes.

Definition at line 48 of file dual_tree_traverser.hpp.

template<typename MetricType = metric::LMetric<2, true>, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename RootPointPolicy = FirstPointIsRoot>
template<typename RuleType >
size_t mlpack::tree::CoverTree< MetricType, StatisticType, MatType, RootPointPolicy >::DualTreeTraverser< RuleType >::NumScores ( ) const
inline

Definition at line 53 of file dual_tree_traverser.hpp.

template<typename MetricType = metric::LMetric<2, true>, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename RootPointPolicy = FirstPointIsRoot>
template<typename RuleType >
size_t mlpack::tree::CoverTree< MetricType, StatisticType, MatType, RootPointPolicy >::DualTreeTraverser< RuleType >::NumVisited ( ) const
inline

Definition at line 52 of file dual_tree_traverser.hpp.

template<typename MetricType = metric::LMetric<2, true>, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename RootPointPolicy = FirstPointIsRoot>
template<typename RuleType >
void mlpack::tree::CoverTree< MetricType, StatisticType, MatType, RootPointPolicy >::DualTreeTraverser< RuleType >::PruneMap ( CoverTree queryNode,
std::map< int, std::vector< DualCoverTreeMapEntry > > &  referenceMap,
std::map< int, std::vector< DualCoverTreeMapEntry > > &  childMap 
)
private

Prepare map for recursion.

template<typename MetricType = metric::LMetric<2, true>, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename RootPointPolicy = FirstPointIsRoot>
template<typename RuleType >
void mlpack::tree::CoverTree< MetricType, StatisticType, MatType, RootPointPolicy >::DualTreeTraverser< RuleType >::ReferenceRecursion ( CoverTree queryNode,
std::map< int, std::vector< DualCoverTreeMapEntry > > &  referenceMap 
)
private
template<typename MetricType = metric::LMetric<2, true>, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename RootPointPolicy = FirstPointIsRoot>
template<typename RuleType >
void mlpack::tree::CoverTree< MetricType, StatisticType, MatType, RootPointPolicy >::DualTreeTraverser< RuleType >::Traverse ( CoverTree queryNode,
CoverTree referenceNode 
)

Traverse the two specified trees.

Parameters
queryNodeRoot of query tree.
referenceNodeRoot of reference tree.
template<typename MetricType = metric::LMetric<2, true>, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename RootPointPolicy = FirstPointIsRoot>
template<typename RuleType >
void mlpack::tree::CoverTree< MetricType, StatisticType, MatType, RootPointPolicy >::DualTreeTraverser< RuleType >::Traverse ( CoverTree queryNode,
std::map< int, std::vector< DualCoverTreeMapEntry > > &  referenceMap 
)
private

Helper function for traversal of the two trees.

Member Data Documentation

template<typename MetricType = metric::LMetric<2, true>, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename RootPointPolicy = FirstPointIsRoot>
template<typename RuleType >
size_t mlpack::tree::CoverTree< MetricType, StatisticType, MatType, RootPointPolicy >::DualTreeTraverser< RuleType >::numPrunes
private

The number of pruned nodes.

Definition at line 61 of file dual_tree_traverser.hpp.

template<typename MetricType = metric::LMetric<2, true>, typename StatisticType = EmptyStatistic, typename MatType = arma::mat, typename RootPointPolicy = FirstPointIsRoot>
template<typename RuleType >
RuleType& mlpack::tree::CoverTree< MetricType, StatisticType, MatType, RootPointPolicy >::DualTreeTraverser< RuleType >::rule
private

The instantiated rule set for pruning branches.

Definition at line 58 of file dual_tree_traverser.hpp.


The documentation for this class was generated from the following files: