SYNOPSIS

Public Types

typedef

NeighborSearchTraversalInfo

< TreeType > TraversalInfoType"

Convenience typedef.

Public Member Functions

NeighborSearchRules (const typename TreeType::Mat &referenceSet, const typename TreeType::Mat &querySet, arma::Mat< size_t > &neighbors, arma::mat &distances, MetricType &metric)

double BaseCase (const size_t queryIndex, const size_t referenceIndex)

Get the distance from the query point to the reference point. size_t BaseCases () const

Get the number of base cases that have been performed. size_t & BaseCases ()

Modify the number of base cases that have been performed. double Rescore (const size_t queryIndex, TreeType &referenceNode, const double oldScore) const

Re-evaluate the score for recursion order. double Rescore (TreeType &queryNode, TreeType &referenceNode, const double oldScore) const

Re-evaluate the score for recursion order. double Score (const size_t queryIndex, TreeType &referenceNode)

Get the score for recursion order. double Score (TreeType &queryNode, TreeType &referenceNode)

Get the score for recursion order. size_t Scores () const

Get the number of scores that have been performed. size_t & Scores ()

Modify the number of scores that have been performed. const TraversalInfoType & TraversalInfo () const

Get the traversal info. TraversalInfoType & TraversalInfo ()

Modify the traversal info.

Private Member Functions

double CalculateBound (TreeType &queryNode) const

Recalculate the bound for a given query node. void InsertNeighbor (const size_t queryIndex, const size_t pos, const size_t neighbor, const double distance)

Insert a point into the neighbors and distances matrices; this is a helper function.

Private Attributes

size_t baseCases

The number of base cases that have been performed. arma::mat & distances

The matrix the resultant neighbor distances should be stored in. double lastBaseCase

The last base case result. size_t lastQueryIndex

The last query point BaseCase() was called with. size_t lastReferenceIndex

The last reference point BaseCase() was called with. MetricType & metric

The instantiated metric. arma::Mat< size_t > & neighbors

The matrix the resultant neighbor indices should be stored in. const TreeType::Mat & querySet

The query set. const TreeType::Mat & referenceSet

The reference set. size_t scores

The number of scores that have been performed. TraversalInfoType traversalInfo

Traversal info for the parent combination; this is updated by the traversal before each call to Score().

Detailed Description

template<typename SortPolicy, typename MetricType, typename TreeType>class mlpack::neighbor::NeighborSearchRules< SortPolicy, MetricType, TreeType >

Definition at line 32 of file neighbor_search_rules.hpp.

Member Typedef Documentation

template<typename SortPolicy , typename MetricType , typename TreeType > typedef \fBNeighborSearchTraversalInfo\fP<TreeType> \fBmlpack::neighbor::NeighborSearchRules\fP< SortPolicy, MetricType, TreeType >::\fBTraversalInfoType\fP

Convenience typedef.

Definition at line 111 of file neighbor_search_rules.hpp.

Constructor & Destructor Documentation

template<typename SortPolicy , typename MetricType , typename TreeType > \fBmlpack::neighbor::NeighborSearchRules\fP< SortPolicy, MetricType, TreeType >::\fBNeighborSearchRules\fP (const typename TreeType::Mat &referenceSet, const typename TreeType::Mat &querySet, arma::Mat< size_t > &neighbors, arma::mat &distances, MetricType &metric)

Member Function Documentation

template<typename SortPolicy , typename MetricType , typename TreeType > double \fBmlpack::neighbor::NeighborSearchRules\fP< SortPolicy, MetricType, TreeType >::BaseCase (const size_tqueryIndex, const size_treferenceIndex)

Get the distance from the query point to the reference point. This will update the 'neighbor' matrix with the new point if appropriate and will track the number of base cases (number of points evaluated).

Parameters:

queryIndex Index of query point.

referenceIndex Index of reference point.

template<typename SortPolicy , typename MetricType , typename TreeType > size_t \fBmlpack::neighbor::NeighborSearchRules\fP< SortPolicy, MetricType, TreeType >::BaseCases () const\fC [inline]\fP

Get the number of base cases that have been performed.

Definition at line 101 of file neighbor_search_rules.hpp.

References mlpack::neighbor::NeighborSearchRules< SortPolicy, MetricType, TreeType >::baseCases.

template<typename SortPolicy , typename MetricType , typename TreeType > size_t& \fBmlpack::neighbor::NeighborSearchRules\fP< SortPolicy, MetricType, TreeType >::BaseCases ()\fC [inline]\fP

Modify the number of base cases that have been performed.

Definition at line 103 of file neighbor_search_rules.hpp.

References mlpack::neighbor::NeighborSearchRules< SortPolicy, MetricType, TreeType >::baseCases.

template<typename SortPolicy , typename MetricType , typename TreeType > double \fBmlpack::neighbor::NeighborSearchRules\fP< SortPolicy, MetricType, TreeType >::CalculateBound (TreeType &queryNode) const\fC [private]\fP

Recalculate the bound for a given query node.

template<typename SortPolicy , typename MetricType , typename TreeType > void \fBmlpack::neighbor::NeighborSearchRules\fP< SortPolicy, MetricType, TreeType >::InsertNeighbor (const size_tqueryIndex, const size_tpos, const size_tneighbor, const doubledistance)\fC [private]\fP

Insert a point into the neighbors and distances matrices; this is a helper function.

Parameters:

queryIndex Index of point whose neighbors we are inserting into.

pos Position in list to insert into.

neighbor Index of reference point which is being inserted.

distance Distance from query point to reference point.

template<typename SortPolicy , typename MetricType , typename TreeType > double \fBmlpack::neighbor::NeighborSearchRules\fP< SortPolicy, MetricType, TreeType >::Rescore (const size_tqueryIndex, TreeType &referenceNode, const doubleoldScore) const

Re-evaluate the score for recursion order. A low score indicates priority for recursion, while DBL_MAX indicates that the node should not be recursed into at all (it should be pruned). This is used when the score has already been calculated, but another recursion may have modified the bounds for pruning. So the old score is checked against the new pruning bound.

Parameters:

queryIndex Index of query point.

referenceNode Candidate node to be recursed into.

oldScore Old score produced by Score() (or Rescore()).

template<typename SortPolicy , typename MetricType , typename TreeType > double \fBmlpack::neighbor::NeighborSearchRules\fP< SortPolicy, MetricType, TreeType >::Rescore (TreeType &queryNode, TreeType &referenceNode, const doubleoldScore) const

Re-evaluate the score for recursion order. A low score indicates priority for recursion, while DBL_MAX indicates that the node should not be recursed into at all (it should be pruned). This is used when the score has already been calculated, but another recursion may have modified the bounds for pruning. So the old score is checked against the new pruning bound.

Parameters:

queryNode Candidate query node to recurse into.

referenceNode Candidate reference node to recurse into.

oldScore Old score produced by Socre() (or Rescore()).

template<typename SortPolicy , typename MetricType , typename TreeType > double \fBmlpack::neighbor::NeighborSearchRules\fP< SortPolicy, MetricType, TreeType >::Score (const size_tqueryIndex, TreeType &referenceNode)

Get the score for recursion order. A low score indicates priority for recursion, while DBL_MAX indicates that the node should not be recursed into at all (it should be pruned).

Parameters:

queryIndex Index of query point.

referenceNode Candidate node to be recursed into.

template<typename SortPolicy , typename MetricType , typename TreeType > double \fBmlpack::neighbor::NeighborSearchRules\fP< SortPolicy, MetricType, TreeType >::Score (TreeType &queryNode, TreeType &referenceNode)

Get the score for recursion order. A low score indicates priority for recursionm while DBL_MAX indicates that the node should not be recursed into at all (it should be pruned).

Parameters:

queryNode Candidate query node to recurse into.

referenceNode Candidate reference node to recurse into.

template<typename SortPolicy , typename MetricType , typename TreeType > size_t \fBmlpack::neighbor::NeighborSearchRules\fP< SortPolicy, MetricType, TreeType >::Scores () const\fC [inline]\fP

Get the number of scores that have been performed.

Definition at line 106 of file neighbor_search_rules.hpp.

References mlpack::neighbor::NeighborSearchRules< SortPolicy, MetricType, TreeType >::scores.

template<typename SortPolicy , typename MetricType , typename TreeType > size_t& \fBmlpack::neighbor::NeighborSearchRules\fP< SortPolicy, MetricType, TreeType >::Scores ()\fC [inline]\fP

Modify the number of scores that have been performed.

Definition at line 108 of file neighbor_search_rules.hpp.

References mlpack::neighbor::NeighborSearchRules< SortPolicy, MetricType, TreeType >::scores.

template<typename SortPolicy , typename MetricType , typename TreeType > const \fBTraversalInfoType\fP& \fBmlpack::neighbor::NeighborSearchRules\fP< SortPolicy, MetricType, TreeType >::\fBTraversalInfo\fP () const\fC [inline]\fP

Get the traversal info.

Definition at line 114 of file neighbor_search_rules.hpp.

References mlpack::neighbor::NeighborSearchRules< SortPolicy, MetricType, TreeType >::traversalInfo.

template<typename SortPolicy , typename MetricType , typename TreeType > \fBTraversalInfoType\fP& \fBmlpack::neighbor::NeighborSearchRules\fP< SortPolicy, MetricType, TreeType >::\fBTraversalInfo\fP ()\fC [inline]\fP

Modify the traversal info.

Definition at line 116 of file neighbor_search_rules.hpp.

References mlpack::neighbor::NeighborSearchRules< SortPolicy, MetricType, TreeType >::traversalInfo.

Member Data Documentation

template<typename SortPolicy , typename MetricType , typename TreeType > size_t \fBmlpack::neighbor::NeighborSearchRules\fP< SortPolicy, MetricType, TreeType >::baseCases\fC [private]\fP

The number of base cases that have been performed.

Definition at line 142 of file neighbor_search_rules.hpp.

Referenced by mlpack::neighbor::NeighborSearchRules< SortPolicy, MetricType, TreeType >::BaseCases().

template<typename SortPolicy , typename MetricType , typename TreeType > arma::mat& \fBmlpack::neighbor::NeighborSearchRules\fP< SortPolicy, MetricType, TreeType >::distances\fC [private]\fP

The matrix the resultant neighbor distances should be stored in.

Definition at line 129 of file neighbor_search_rules.hpp.

template<typename SortPolicy , typename MetricType , typename TreeType > double \fBmlpack::neighbor::NeighborSearchRules\fP< SortPolicy, MetricType, TreeType >::lastBaseCase\fC [private]\fP

The last base case result.

Definition at line 139 of file neighbor_search_rules.hpp.

template<typename SortPolicy , typename MetricType , typename TreeType > size_t \fBmlpack::neighbor::NeighborSearchRules\fP< SortPolicy, MetricType, TreeType >::lastQueryIndex\fC [private]\fP

The last query point BaseCase() was called with.

Definition at line 135 of file neighbor_search_rules.hpp.

template<typename SortPolicy , typename MetricType , typename TreeType > size_t \fBmlpack::neighbor::NeighborSearchRules\fP< SortPolicy, MetricType, TreeType >::lastReferenceIndex\fC [private]\fP

The last reference point BaseCase() was called with.

Definition at line 137 of file neighbor_search_rules.hpp.

template<typename SortPolicy , typename MetricType , typename TreeType > MetricType& \fBmlpack::neighbor::NeighborSearchRules\fP< SortPolicy, MetricType, TreeType >::metric\fC [private]\fP

The instantiated metric.

Definition at line 132 of file neighbor_search_rules.hpp.

template<typename SortPolicy , typename MetricType , typename TreeType > arma::Mat<size_t>& \fBmlpack::neighbor::NeighborSearchRules\fP< SortPolicy, MetricType, TreeType >::neighbors\fC [private]\fP

The matrix the resultant neighbor indices should be stored in.

Definition at line 126 of file neighbor_search_rules.hpp.

template<typename SortPolicy , typename MetricType , typename TreeType > const TreeType::Mat& \fBmlpack::neighbor::NeighborSearchRules\fP< SortPolicy, MetricType, TreeType >::querySet\fC [private]\fP

The query set.

Definition at line 123 of file neighbor_search_rules.hpp.

template<typename SortPolicy , typename MetricType , typename TreeType > const TreeType::Mat& \fBmlpack::neighbor::NeighborSearchRules\fP< SortPolicy, MetricType, TreeType >::referenceSet\fC [private]\fP

The reference set.

Definition at line 120 of file neighbor_search_rules.hpp.

template<typename SortPolicy , typename MetricType , typename TreeType > size_t \fBmlpack::neighbor::NeighborSearchRules\fP< SortPolicy, MetricType, TreeType >::scores\fC [private]\fP

The number of scores that have been performed.

Definition at line 144 of file neighbor_search_rules.hpp.

Referenced by mlpack::neighbor::NeighborSearchRules< SortPolicy, MetricType, TreeType >::Scores().

template<typename SortPolicy , typename MetricType , typename TreeType > \fBTraversalInfoType\fP \fBmlpack::neighbor::NeighborSearchRules\fP< SortPolicy, MetricType, TreeType >::traversalInfo\fC [private]\fP

Traversal info for the parent combination; this is updated by the traversal before each call to Score().

Definition at line 148 of file neighbor_search_rules.hpp.

Referenced by mlpack::neighbor::NeighborSearchRules< SortPolicy, MetricType, TreeType >::TraversalInfo().

Author

Generated automatically by Doxygen for MLPACK from the source code.