<p>Yes, I see now how defeatist search and hybrid search are different.  I spent a while thinking about how to do hybrid search with other types of trees, and it doesn't really make sense---hybrid search is specific to spill trees only.</p>

<p>I agree that a pure <code>DefeatistTreeTraverser</code> would be a nice thing to add.  The literature I have seen---including the extended version of the spill tree paper (which I think is a draft)---does not really comprehensively survey whether or not simple defeatist search can produce reasonable results.  Since defeatist search can be implemented much more efficiently (there is no need for queues or scoring every node), it's possible that with spill trees, you can simply increase the overlap factor tau, and still get fast results.  I can also see how hybrid search can improve results significantly, but I am not sure how much the overhead will affect things.  What do you think?  If you're willing to take the time to implement the <code>DefeatistTreeTraverser</code> and some method like <code>GetNearestChild()</code>, we can do some testing to see which is the best approach.  (Probably that should be in a different PR, if you decide to go that route.)</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/747#issuecomment-238985341">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AJ4bFHbFuBFciJGYCvY4lehSyMaCpYCxks5qei1rgaJpZM4JZzLU">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/AJ4bFALehJz3Z_MyZeRj9uK8enBDt7Clks5qei1rgaJpZM4JZzLU.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/747#issuecomment-238985341"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/mlpack/mlpack","title":"mlpack/mlpack","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/mlpack/mlpack"}},"updates":{"snippets":[{"icon":"PERSON","message":"@rcurtin in #747: Yes, I see now how defeatist search and hybrid search are different.  I spent a while thinking about how to do hybrid search with other types of trees, and it doesn't really make sense---hybrid search is specific to spill trees only.\r\n\r\nI agree that a pure `DefeatistTreeTraverser` would be a nice thing to add.  The literature I have seen---including the extended version of the spill tree paper (which I think is a draft)---does not really comprehensively survey whether or not simple defeatist search can produce reasonable results.  Since defeatist search can be implemented much more efficiently (there is no need for queues or scoring every node), it's possible that with spill trees, you can simply increase the overlap factor tau, and still get fast results.  I can also see how hybrid search can improve results significantly, but I am not sure how much the overhead will affect things.  What do you think?  If you're willing to take the time to implement the `DefeatistTreeTraverser` and some method like `GetNearestChild()`, we can do some testing to see which is the best approach.  (Probably that should be in a different PR, if you decide to go that route.)"}],"action":{"name":"View Pull Request","url":"https://github.com/mlpack/mlpack/pull/747#issuecomment-238985341"}}}</script>