mlpack  master
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
mlpack::emst::DTBRules< MetricType, TreeType > Class Template Reference

Public Types

typedef tree::TraversalInfo< TreeType > TraversalInfoType
 

Public Member Functions

 DTBRules (const arma::mat &dataSet, UnionFind &connections, arma::vec &neighborsDistances, arma::Col< size_t > &neighborsInComponent, arma::Col< size_t > &neighborsOutComponent, MetricType &metric)
 
double BaseCase (const size_t queryIndex, const size_t referenceIndex)
 
size_t BaseCases () const
 Get the number of base cases performed. More...
 
size_t & BaseCases ()
 Modify the number of base cases performed. More...
 
double Rescore (const size_t queryIndex, TreeType &referenceNode, const double oldScore)
 Re-evaluate the score for recursion order. More...
 
double Rescore (TreeType &queryNode, TreeType &referenceNode, const double oldScore) const
 Re-evaluate the score for recursion order. More...
 
double Score (const size_t queryIndex, TreeType &referenceNode)
 Get the score for recursion order. More...
 
double Score (TreeType &queryNode, TreeType &referenceNode)
 Get the score for recursion order. More...
 
size_t Scores () const
 Get the number of node combinations that have been scored. More...
 
size_t & Scores ()
 Modify the number of node combinations that have been scored. More...
 
const TraversalInfoTypeTraversalInfo () const
 
TraversalInfoTypeTraversalInfo ()
 

Private Member Functions

double CalculateBound (TreeType &queryNode) const
 Update the bound for the given query node. More...
 

Private Attributes

size_t baseCases
 The number of base cases calculated. More...
 
UnionFindconnections
 Stores the tree structure so far. More...
 
const arma::mat & dataSet
 The data points. More...
 
MetricType & metric
 The instantiated metric. More...
 
arma::vec & neighborsDistances
 The distance to the candidate nearest neighbor for each component. More...
 
arma::Col< size_t > & neighborsInComponent
 The index of the point in the component that is an endpoint of the candidate edge. More...
 
arma::Col< size_t > & neighborsOutComponent
 The index of the point outside of the component that is an endpoint of the candidate edge. More...
 
size_t scores
 The number of node combinations that have been scored. More...
 
TraversalInfoType traversalInfo
 

Detailed Description

template<typename MetricType, typename TreeType>
class mlpack::emst::DTBRules< MetricType, TreeType >

Definition at line 23 of file dtb_rules.hpp.

Member Typedef Documentation

template<typename MetricType , typename TreeType >
typedef tree::TraversalInfo<TreeType> mlpack::emst::DTBRules< MetricType, TreeType >::TraversalInfoType

Definition at line 85 of file dtb_rules.hpp.

Constructor & Destructor Documentation

template<typename MetricType , typename TreeType >
mlpack::emst::DTBRules< MetricType, TreeType >::DTBRules ( const arma::mat &  dataSet,
UnionFind connections,
arma::vec &  neighborsDistances,
arma::Col< size_t > &  neighborsInComponent,
arma::Col< size_t > &  neighborsOutComponent,
MetricType &  metric 
)

Member Function Documentation

template<typename MetricType , typename TreeType >
double mlpack::emst::DTBRules< MetricType, TreeType >::BaseCase ( const size_t  queryIndex,
const size_t  referenceIndex 
)
template<typename MetricType , typename TreeType >
size_t mlpack::emst::DTBRules< MetricType, TreeType >::BaseCases ( ) const
inline

Get the number of base cases performed.

Definition at line 91 of file dtb_rules.hpp.

References mlpack::emst::DTBRules< MetricType, TreeType >::baseCases.

template<typename MetricType , typename TreeType >
size_t& mlpack::emst::DTBRules< MetricType, TreeType >::BaseCases ( )
inline

Modify the number of base cases performed.

Definition at line 93 of file dtb_rules.hpp.

References mlpack::emst::DTBRules< MetricType, TreeType >::baseCases.

template<typename MetricType , typename TreeType >
double mlpack::emst::DTBRules< MetricType, TreeType >::CalculateBound ( TreeType &  queryNode) const
inlineprivate

Update the bound for the given query node.

template<typename MetricType , typename TreeType >
double mlpack::emst::DTBRules< MetricType, TreeType >::Rescore ( const size_t  queryIndex,
TreeType &  referenceNode,
const double  oldScore 
)

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
queryIndexIndex of query point.
referenceNodeCandidate node to be recursed into.
oldScoreOld score produced by Score() (or Rescore()).
template<typename MetricType , typename TreeType >
double mlpack::emst::DTBRules< MetricType, TreeType >::Rescore ( TreeType &  queryNode,
TreeType &  referenceNode,
const double  oldScore 
) 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
queryNodeCandidate query node to recurse into.
referenceNodeCandidate reference node to recurse into.
oldScoreOld score produced by Socre() (or Rescore()).
template<typename MetricType , typename TreeType >
double mlpack::emst::DTBRules< MetricType, TreeType >::Score ( const size_t  queryIndex,
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
queryIndexIndex of query point.
referenceNodeCandidate node to be recursed into.
template<typename MetricType , typename TreeType >
double mlpack::emst::DTBRules< 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
queryNodeCandidate query node to recurse into.
referenceNodeCandidate reference node to recurse into.
template<typename MetricType , typename TreeType >
size_t mlpack::emst::DTBRules< MetricType, TreeType >::Scores ( ) const
inline

Get the number of node combinations that have been scored.

Definition at line 96 of file dtb_rules.hpp.

References mlpack::emst::DTBRules< MetricType, TreeType >::scores.

template<typename MetricType , typename TreeType >
size_t& mlpack::emst::DTBRules< MetricType, TreeType >::Scores ( )
inline

Modify the number of node combinations that have been scored.

Definition at line 98 of file dtb_rules.hpp.

References mlpack::emst::DTBRules< MetricType, TreeType >::scores.

template<typename MetricType , typename TreeType >
const TraversalInfoType& mlpack::emst::DTBRules< MetricType, TreeType >::TraversalInfo ( ) const
inline
template<typename MetricType , typename TreeType >
TraversalInfoType& mlpack::emst::DTBRules< MetricType, TreeType >::TraversalInfo ( )
inline

Member Data Documentation

template<typename MetricType , typename TreeType >
size_t mlpack::emst::DTBRules< MetricType, TreeType >::baseCases
private

The number of base cases calculated.

Definition at line 129 of file dtb_rules.hpp.

Referenced by mlpack::emst::DTBRules< MetricType, TreeType >::BaseCases().

template<typename MetricType , typename TreeType >
UnionFind& mlpack::emst::DTBRules< MetricType, TreeType >::connections
private

Stores the tree structure so far.

Definition at line 105 of file dtb_rules.hpp.

template<typename MetricType , typename TreeType >
const arma::mat& mlpack::emst::DTBRules< MetricType, TreeType >::dataSet
private

The data points.

Definition at line 102 of file dtb_rules.hpp.

template<typename MetricType , typename TreeType >
MetricType& mlpack::emst::DTBRules< MetricType, TreeType >::metric
private

The instantiated metric.

Definition at line 119 of file dtb_rules.hpp.

template<typename MetricType , typename TreeType >
arma::vec& mlpack::emst::DTBRules< MetricType, TreeType >::neighborsDistances
private

The distance to the candidate nearest neighbor for each component.

Definition at line 108 of file dtb_rules.hpp.

template<typename MetricType , typename TreeType >
arma::Col<size_t>& mlpack::emst::DTBRules< MetricType, TreeType >::neighborsInComponent
private

The index of the point in the component that is an endpoint of the candidate edge.

Definition at line 112 of file dtb_rules.hpp.

template<typename MetricType , typename TreeType >
arma::Col<size_t>& mlpack::emst::DTBRules< MetricType, TreeType >::neighborsOutComponent
private

The index of the point outside of the component that is an endpoint of the candidate edge.

Definition at line 116 of file dtb_rules.hpp.

template<typename MetricType , typename TreeType >
size_t mlpack::emst::DTBRules< MetricType, TreeType >::scores
private

The number of node combinations that have been scored.

Definition at line 131 of file dtb_rules.hpp.

Referenced by mlpack::emst::DTBRules< MetricType, TreeType >::Scores().

template<typename MetricType , typename TreeType >
TraversalInfoType mlpack::emst::DTBRules< MetricType, TreeType >::traversalInfo
private

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