<p>Oops, it seems like I did not look closely enough at the traversers to see how they were different, so it seems like most of my comment was not necessary... sorry about that.</p>

<p>I thought of something else, that may allow us to avoid needing a <code>Score(queryNode, referenceIndex)</code> function in each rules class.  What if each node in the vantage-point tree had three children: a zero-radius child that only contained the vantage point, the inner child (that does not contain the vantage point), and the outer child?  The <code>MinDistance()</code> and <code>MaxDistance()</code> functions would be correct for the vantage point child, so there would be no need for a <code>Score(queryNode, referenceIndex)</code>.  I think also that might simplify traversal greatly, because the vantage point child (the zero-radius child) will be a leaf node, and thus will be kept during the traversal.  Clever ordering of which child to visit first would result in, I think, an identical traversal to what you've already implemented.  Let me know what you think of that idea---like most of my ideas, I have not thought through the full details yet in order to try and provide a quick response, so it's possible there are fatal flaws I have not encountered in my thinking.</p>

<p>I haven't thought completely about why the pruning might not be doing a good job.  I'll try and think about this in the next few days, but I suspect that the <code>NeighborSearchRules</code> as implemented aren't actually doing the same thing (or even a similar thing) to the algorithm given in the paper.  I'll let you know what I think of.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">&mdash;<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/mlpack/mlpack/pull/708#issuecomment-234580961">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AJ4bFMihTcgLF8YQKjrGJ3VsexPrVMaBks5qYOacgaJpZM4I_COp">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/AJ4bFKPl7JxQ6ysNA2daQ9x1qct3HMmAks5qYOacgaJpZM4I_COp.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/mlpack/mlpack/pull/708#issuecomment-234580961"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>