<div dir="ltr"><span style="font-size:12.8px">Hello,</span><br style="font-size:12.8px"><br style="font-size:12.8px"><ul style=""><li style="margin-left:15px"><span style="font-size:12.8px">I have uploaded my draft for the project '<b>Implement tree types</b>' on GSOC 2016 site. Please review it.</span><br><br></li><li style="margin-left:15px">I have few doubts regarding the implementation of trees. Currently, I have mentioned 5 trees which would be implemented in the project time - <span style="font-family:Arial;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent"><b>Vantage point trees,interval trees, random projection trees, Bregman ball trees, segment trees</b>. </span><span style="background-color:transparent"><font color="#000000" face="Arial"><span style="white-space:pre-wrap">Among these,<b> I have coded vantage point trees based on a paper cited in the code. You can find the code on my github (<a href="https://github.com/parijat10">https://github.com/parijat10</a>)</b> . </span></font></span><span style="color:rgb(0,0,0);font-family:Arial;white-space:pre-wrap;background-color:transparent">
As far as I see, <span style="white-space:normal;font-family:Arial,'Helvetica Neue',Helvetica,sans-serif;font-size:12px;line-height:19.2px">X-tree, R*-tree, R-tree, Hilbert-R-tree, UB-tree, M-tree, kd tree, cover tree has been implemented in MLPack. Other trees which can be implemented includes space partitioning trees like principal direction trees, k-means trees.<b> <span style="font-size:small;line-height:normal;font-family:Arial;white-space:pre-wrap"> </span><span style="font-size:small;line-height:normal;font-family:Arial;white-space:pre-wrap;background-color:transparent">Please review trees I mentioned, whether it would be fine to implement them. I have basic knowledge of the all the mentioned trees. Please tell if you have some tree type in mind which I have missed or which would be good to work on.</span></b><br><br></span></span><span style="color:rgb(0,0,0);background-color:transparent"></span></li><li style="margin-left:15px"><span style="color:rgb(0,0,0);font-family:Arial;white-space:pre-wrap;background-color:transparent">Do you want me to write pseudo codes in the proposal?
</span></li><li style="margin-left:15px"><span style="color:rgb(0,0,0);font-family:Arial;white-space:pre-wrap;background-color:transparent">Also, I was thinking of merging issues similar to issue #275, that is, '</span><font size="2" style="color:rgb(51,51,51);font-family:Helvetica,arial,nimbussansl,liberationsans,freesans,clean,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol'">rearrange descendants in memory for faster accesses'. As far as I know, only cover tree has this issue. Please correct me any other trees also have this issue, so that I could add this to my project as well.</font></li></ul><div><font color="#333333" face="Helvetica, arial, nimbussansl, liberationsans, freesans, clean, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol"><br></font></div><div><font color="#333333" face="Helvetica, arial, nimbussansl, liberationsans, freesans, clean, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol">Parijat Dewangan</font></div><div><font color="#333333" face="Helvetica, arial, nimbussansl, liberationsans, freesans, clean, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol"><br></font></div><div style="font-size:12.8px"><span style="font-size:14.6667px;font-family:Arial;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent"> </span></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Mar 19, 2016 at 5:43 AM, Parijat Dewangan <span dir="ltr"><<a href="mailto:parijat10@gmail.com" target="_blank">parijat10@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello,<br><br><ul><li>I have uploaded my draft on GSOC 2016 site. Please review it. <br></li></ul><div><br></div><br>I have few doubts regarding the implementation of trees. Currently, I have mentioned 5 trees which would be implemented in the project time - <span><span style="font-size:14.6667px;font-family:Arial;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">Vantage point trees,k-means trees, random projection trees, Bregman ball trees, segment trees..
Among these, I have coded vantage point trees based on a paper. You can find the code on my github. </span></span><div><span><span style="font-size:14.6667px;font-family:Arial;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent"><br></span></span></div><div><span><span style="font-size:14.6667px;font-family:Arial;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">Please review the other trees, whether it would be fine to implement them. Please tell if you have some tree type in mind which I have missed. Also, I was
</span></span></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 11, 2016 at 8:26 PM, Ryan Curtin <span dir="ltr"><<a href="mailto:ryan@ratml.org" target="_blank">ryan@ratml.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>On Fri, Mar 11, 2016 at 06:00:28PM +0530, Parijat Dewangan wrote:<br>
> Hi,<br>
><br>
> I went through various research papers to have a better understanding of<br>
> the dual tree algorithms and various trees. Currently, I am focusing on<br>
> vantage point trees, by referring the following papers.<br>
><br>
</span>> - "IMPROVING DUAL-TREE ALGORITHMS"<br>
> <<a href="http://www.ratml.org/pub/pdf/2015improving.pdf" rel="noreferrer" target="_blank">http://www.ratml.org/pub/pdf/2015improving.pdf</a>> Thesis by Ryan Curtin .<br>
> - "Data Structures and Algorithms for Nearest Neighbor Search in<br>
<span>> General Metric Spaces by Peter N. Yianilos*"<br>
><br>
> I am completely comfortable with the MLPack API after going through the<br>
> above thesis of Ryan Curtin. So, I was thinking of coding vantage point<br>
> trees. What do you suggest ?<br>
<br>
</span>Sure, vantage point trees would be interesting. Note that vantage point<br>
trees are actually the same as metric trees, so we'll have to provide<br>
some documentation somewhere indicating that they are the same thing.<br>
<span><br>
> Should I provide you with the pseudo code of Vantage Point Trees? Or should<br>
> I try fixing some issues? I was thinking of taking up issue #275.<br>
> <a href="https://github.com/mlpack/mlpack/issues/275" rel="noreferrer" target="_blank">https://github.com/mlpack/mlpack/issues/275</a>.<br>
<br>
</span>If you can do #275 without breaking any of the tests, please feel free<br>
and I'd be happy to merge in the improvement. It will be a significant<br>
refactoring.<br>
<br>
Another possibility from there would be to implement a leaf size<br>
parameter for cover trees, that would cause the tree building process to<br>
terminate when the number of points in a node was small enough. But I<br>
think that would be a lot more difficult and maybe we can save that for<br>
another day... :)<br>
<br>
Thanks,<br>
<br>
Ryan<br>
<span><font color="#888888"><br>
--<br>
Ryan Curtin | "Like, with jetpacks?"<br>
<a href="mailto:ryan@ratml.org" target="_blank">ryan@ratml.org</a> | - Scott<br>
</font></span></blockquote></div><br></div>
</div></div></blockquote></div><br></div>