Re: Does anyone have a backup of Rednaxela's updated KD tree?
Alex Schultz <[email protected]> Thu, 9 Sep 2021 15:03:14 -0700
| Newsgroups | gmane.comp.java.robocode |
|---|---|
| Message-ID | <CANE3KEx2jw72-Cq9Eo1qFgkx=pQvDpA+ytm+NkzWz1t85FTJEQ@mail.gmail.com> |
--000000000000f88e9905cb972aa9 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Gustaf, Back in 2010 I said the same modified zlib license I used for my 2nd gen tree works ( see here: https://robowiki.net/wiki/User_talk:Rednaxela/kD-Tree#3rd_gen_tree_licence ) and I stand by that, but never got around to adding the notice to the code. Just added the notices in the gitlab repo now. That license does allow commercial use. Simplest way to implement saving/loading would be to add "implements Serializable" to KdNode and use Java serialization, though that wouldn't be the most efficient of course. Plenty of other ways to handle saving/loaded of course. I personally don't have plans to work on adding such myself though. Could also be an argument that it's better to not save the tree itself, and instead just save the points that went into making the tree. This tree was designed for adding points one by one at runtime to have low overhead, but if you're loading a bunch of existing points at once you can make a much better balanced tree. If one wanted to adapt this code to make a better tree from a bulk list of loaded points, the simplest route would likely involve modifying KdNode to allow larger nodes to be temporarily instantiated, and proceed to run the splitting until getting to nodes that fit the normal bucket size settings. Best Regards, Alex On Thu, Sep 9, 2021 at 1:59 PM Gustaf Andersson < [email protected]> wrote: > Hi, > > Is there any license associated with the 3rd gen kd-tree? I can't seem to > find one. Is it available for commercial use? > > It would be useful to save/load the tree to/from a file, would that be > possible to implement? > > Thanks! > > Best, > Gustaf > > s=C3=B6ndag 13 juni 2021 kl. 14:44:38 UTC+2 skrev Rednaxela: > >> Hi all! >> >> Indeed seems those links are down. Thanks to fnl for forwarding this >> along to me. >> >> The version from Gaussian's source there is just the "2nd gen" version >> that is the same version as is directly pasted onto the Robowiki page. T= he >> newer "3rd gen" one was the one behind the broken link. >> >> I went into my old backups, found the Mercurial repo, converted it to >> git, and re-hosted it: >> >> https://gitlab.com/agschultz/robocode-knn-benchmark/-/tree/master/ags/ut= ils/dataStructures/trees/thirdGenKD >> >> Also updated the Robowiki page accordingly. >> >> Best Regards, >> Rednaxela >> On Friday, June 11, 2021 at 10:51:33 AM UTC-7 fnl wrote: >> >>> You are right that the links are broken :\ >>> >>> I found this source file from Rednaxela for a KdTree: >>> >>> https://valelab4.ucsf.edu/svn/micromanager2/trunk/plugins/Gaussian/sour= ce/ags/utils/KdTree.java >>> >>> I hope this helps? >>> >>> fredag den 11. juni 2021 kl. 19.43.24 UTC+2 skrev Matthew Gomes: >>> >>>> All of the links on the RoboWiki seem to be broken, and only the code >>>> for an older version which does not include the nearest-neighbor itera= tor. >>>> >>>> Thanks! >>>> >>> -- > You received this message because you are subscribed to the Google Groups > "Robocode" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/robocode/19cace31-8591-4889-a3e2-e9f775= fb9fb2n%40googlegroups.com > <https://groups.google.com/d/msgid/robocode/19cace31-8591-4889-a3e2-e9f77= 5fb9fb2n%40googlegroups.com?utm_medium=3Demail&utm_source=3Dfooter> > . > --=20 You received this message because you are subscribed to the Google Groups "= Robocode" group. To unsubscribe from this group and stop receiving emails from it, send an e= mail to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/= robocode/CANE3KEx2jw72-Cq9Eo1qFgkx%3DpQvDpA%2Bytm%2BNkzWz1t85FTJEQ%40mail.g= mail.com. --000000000000f88e9905cb972aa9 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">Hi Gustaf,<div><br></div><div>Back in 2010 I said the same= modified zlib license I used for my 2nd gen tree works ( see here: <a href= =3D"https://robowiki.net/wiki/User_talk:Rednaxela/kD-Tree#3rd_gen_tree_lice= nce">https://robowiki.net/wiki/User_talk:Rednaxela/kD-Tree#3rd_gen_tree_lic= ence</a> ) and I stand by that, but never got around to adding the notice t= o the code. Just added the notices in the gitlab repo now. That license doe= s allow commercial use.</div><div><br></div><div>Simplest way to implement = saving/loading would be to add "implements Serializable" to KdNod= e and use Java serialization, though that wouldn't be the most efficien= t of course. Plenty of other ways to handle saving/loaded of course. I pers= onally don't have plans to work on adding such myself though. Could als= o be an argument that it's better to not save the tree itself, and inst= ead just save the points that went into making the tree. This tree was desi= gned for adding points one by one at runtime to have low overhead, but if y= ou're loading a bunch of existing points at once you can make a much be= tter balanced tree. If one wanted to adapt this code to make a better tree = from a bulk list of loaded points, the simplest route would likely involve = modifying KdNode to allow larger nodes to be temporarily instantiated, and = proceed to run the splitting until getting to nodes that fit the normal buc= ket size settings.</div><div><br></div><div>Best Regards,</div><div>Alex</d= iv></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_att= r">On Thu, Sep 9, 2021 at 1:59 PM Gustaf Andersson <<a href=3D"mailto:gu= [email protected]">[email protected]</a>> wrote:<br>= </div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;b= order-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<div><br></div><= div>Is there any license associated with the 3rd gen kd-tree? I can't s= eem to find one. Is it available for commercial use?=C2=A0</div><div><br></= div><div>It would be useful to save/load the tree to/from a file, would tha= t be possible to implement?=C2=A0</div><div><br></div><div>Thanks!</div><di= v><br></div><div>Best,</div><div>Gustaf<br><br></div><div class=3D"gmail_qu= ote"><div dir=3D"auto" class=3D"gmail_attr">s=C3=B6ndag 13 juni 2021 kl. 14= :44:38 UTC+2 skrev Rednaxela:<br></div><blockquote class=3D"gmail_quote" st= yle=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padd= ing-left:1ex"><div>Hi all!<div><br></div><div>Indeed seems those links are = down. Thanks to fnl for forwarding this along to me.</div><div><br></div><d= iv>The version from Gaussian's source there is just the "2nd gen&q= uot; version that is the same version as is directly pasted onto the Robowi= ki page. The newer "3rd gen" one was the one behind the broken li= nk.</div><div><br></div><div>I went into my old backups, found the Mercuria= l repo, converted it to git, and re-hosted it:</div><div><a href=3D"https:/= /gitlab.com/agschultz/robocode-knn-benchmark/-/tree/master/ags/utils/dataSt= ructures/trees/thirdGenKD" rel=3D"nofollow" target=3D"_blank">https://gitla= b.com/agschultz/robocode-knn-benchmark/-/tree/master/ags/utils/dataStructur= es/trees/thirdGenKD</a><br></div><div><br></div><div>Also updated the Robow= iki page accordingly.</div><div><br></div><div>Best Regards,</div><div>Redn= axela<br></div></div><div class=3D"gmail_quote"><div dir=3D"auto" class=3D"= gmail_attr">On Friday, June 11, 2021 at 10:51:33 AM UTC-7 fnl wrote:<br></d= iv><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bord= er-left:1px solid rgb(204,204,204);padding-left:1ex">You are right that the= links are broken :\<div><br></div><div>I found this source file from Redna= xela for a KdTree:</div><div><a href=3D"https://valelab4.ucsf.edu/svn/micro= manager2/trunk/plugins/Gaussian/source/ags/utils/KdTree.java" rel=3D"nofoll= ow" target=3D"_blank">https://valelab4.ucsf.edu/svn/micromanager2/trunk/plu= gins/Gaussian/source/ags/utils/KdTree.java</a><br><br>I hope this helps?</d= iv><div><br></div><div class=3D"gmail_quote"><div dir=3D"auto" class=3D"gma= il_attr">fredag den 11. juni 2021 kl. 19.43.24 UTC+2 skrev Matthew Gomes:<b= r></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex= ;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>All of the l= inks on the RoboWiki seem to be broken, and only the code for an older vers= ion which does not include the nearest-neighbor iterator.</div><div><br></d= iv><div>Thanks!<br></div></blockquote></div></blockquote></div></blockquote= ></div> <p></p> -- <br> You received this message because you are subscribed to the Google Groups &= quot;Robocode" group.<br> To unsubscribe from this group and stop receiving emails from it, send an e= mail to <a href=3D"mailto:[email protected]" target=3D"= _blank">[email protected]</a>.<br> To view this discussion on the web visit <a href=3D"https://groups.google.c= om/d/msgid/robocode/19cace31-8591-4889-a3e2-e9f775fb9fb2n%40googlegroups.co= m?utm_medium=3Demail&utm_source=3Dfooter" target=3D"_blank">https://gro= ups.google.com/d/msgid/robocode/19cace31-8591-4889-a3e2-e9f775fb9fb2n%40goo= glegroups.com</a>.<br> </blockquote></div> <p></p> -- <br /> You received this message because you are subscribed to the Google Groups &= quot;Robocode" group.<br /> To unsubscribe from this group and stop receiving emails from it, send an e= mail to <a href=3D"mailto:[email protected]">robocode+u= [email protected]</a>.<br /> To view this discussion on the web visit <a href=3D"https://groups.google.c= om/d/msgid/robocode/CANE3KEx2jw72-Cq9Eo1qFgkx%3DpQvDpA%2Bytm%2BNkzWz1t85FTJ= EQ%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter">https://groups.= google.com/d/msgid/robocode/CANE3KEx2jw72-Cq9Eo1qFgkx%3DpQvDpA%2Bytm%2BNkzW= z1t85FTJEQ%40mail.gmail.com</a>.<br /> --000000000000f88e9905cb972aa9--