Re: Does anyone have a backup of Rednaxela's updated KD tree?

Gustaf Andersson <[email protected]> Thu, 9 Sep 2021 23:33:29 -0700 (PDT)
Newsgroups gmane.comp.java.robocode
Message-ID <[email protected]>
------=_Part_2264_855486063.1631255609943
Content-Type: multipart/alternative; 
	boundary="----=_Part_2265_2121059790.1631255609943"

------=_Part_2265_2121059790.1631255609943
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

Thank you for the quick response and help!


Best,
Gustaf
fredag 10 september 2021 kl. 00:03:26 UTC+2 skrev Rednaxela:

> Hi Gustaf,
>
> Back in 2010 I said the same modified zlib license I used for my 2nd gen=
=20
> tree works ( see here:=20
> https://robowiki.net/wiki/User_talk:Rednaxela/kD-Tree#3rd_gen_tree_licenc=
e=20
> ) and I stand by that, but never got around to adding the notice to the=
=20
> code. Just added the notices in the gitlab repo now. That license does=20
> allow commercial use.
>
> Simplest way to implement saving/loading would be to add "implements=20
> Serializable" to KdNode and use Java serialization, though that wouldn't =
be=20
> the most efficient of course. Plenty of other ways to handle saving/loade=
d=20
> of course. I personally don't have plans to work on adding such myself=20
> though. Could also be an argument that it's better to not save the tree=
=20
> itself, and instead just save the points that went into making the tree.=
=20
> This tree was designed for adding points one by one at runtime to have lo=
w=20
> overhead, but if you're loading a bunch of existing points at once you ca=
n=20
> make a much better balanced tree. If one wanted to adapt this code to mak=
e=20
> a better tree from a bulk list of loaded points, the simplest route would=
=20
> likely involve modifying KdNode to allow larger nodes to be temporarily=
=20
> instantiated, and proceed to run the splitting until getting to nodes tha=
t=20
> fit the normal bucket size settings.
>
> Best Regards,
> Alex
>
> On Thu, Sep 9, 2021 at 1:59 PM Gustaf Andersson <[email protected]>=
=20
> wrote:
>
>> Hi,
>>
>> Is there any license associated with the 3rd gen kd-tree? I can't seem t=
o=20
>> find one. Is it available for commercial use?=20
>>
>> It would be useful to save/load the tree to/from a file, would that be=
=20
>> possible to implement?=20
>>
>> 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=20
>>> along to me.
>>>
>>> The version from Gaussian's source there is just the "2nd gen" version=
=20
>>> that is the same version as is directly pasted onto the Robowiki page. =
The=20
>>> newer "3rd gen" one was the one behind the broken link.
>>>
>>> I went into my old backups, found the Mercurial repo, converted it to=
=20
>>> git, and re-hosted it:
>>>
>>> https://gitlab.com/agschultz/robocode-knn-benchmark/-/tree/master/ags/u=
tils/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/sou=
rce/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=
=20
>>>>> for an older version which does not include the nearest-neighbor iter=
ator.
>>>>>
>>>>> Thanks!
>>>>>
>>>> --=20
>> You received this message because you are subscribed to the Google Group=
s=20
>> "Robocode" group.
>> To unsubscribe from this group and stop receiving emails from it, send a=
n=20
>> email to [email protected].
>> To view this discussion on the web visit=20
>> https://groups.google.com/d/msgid/robocode/19cace31-8591-4889-a3e2-e9f77=
5fb9fb2n%40googlegroups.com=20
>> <https://groups.google.com/d/msgid/robocode/19cace31-8591-4889-a3e2-e9f7=
75fb9fb2n%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/9513f944-85d4-4393-ab77-75d61514ab59n%40googlegroups.com.

------=_Part_2265_2121059790.1631255609943
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,<div><br></div><div>Thank you for the quick response and help!<br><br></=
div><div><br></div><div>Best,</div><div>Gustaf</div><div class=3D"gmail_quo=
te"><div dir=3D"auto" class=3D"gmail_attr">fredag 10 september 2021 kl. 00:=
03:26 UTC+2 skrev Rednaxela:<br/></div><blockquote class=3D"gmail_quote" st=
yle=3D"margin: 0 0 0 0.8ex; border-left: 1px solid rgb(204, 204, 204); padd=
ing-left: 1ex;"><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 ( s=
ee here: <a href=3D"https://robowiki.net/wiki/User_talk:Rednaxela/kD-Tree#3=
rd_gen_tree_licence" target=3D"_blank" rel=3D"nofollow" data-saferedirectur=
l=3D"https://www.google.com/url?hl=3Dsv&amp;q=3Dhttps://robowiki.net/wiki/U=
ser_talk:Rednaxela/kD-Tree%233rd_gen_tree_licence&amp;source=3Dgmail&amp;us=
t=3D1631340553987000&amp;usg=3DAFQjCNFCTnybSmHR8K7YhioiO6W6X3du8A">https://=
robowiki.net/wiki/User_talk:Rednaxela/kD-Tree#3rd_gen_tree_licence</a> ) an=
d I stand by that, but never got around to adding the notice to the code. J=
ust added the notices in the gitlab repo now. That license does allow comme=
rcial use.</div><div><br></div><div>Simplest way to implement saving/loadin=
g would be to add &quot;implements Serializable&quot; to KdNode and use Jav=
a serialization, though that wouldn&#39;t be the most efficient of course. =
Plenty of other ways to handle saving/loaded of course. I personally don&#3=
9;t have plans to work on adding such myself though. Could also be an argum=
ent that it&#39;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 addi=
ng points one by one at runtime to have low overhead, but if you&#39;re loa=
ding 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 l=
ist of loaded points, the simplest route would likely involve modifying KdN=
ode to allow larger nodes to be temporarily instantiated, and proceed to ru=
n the splitting until getting to nodes that fit the normal bucket size sett=
ings.</div><div><br></div><div>Best Regards,</div><div>Alex</div></div><br>=
<div class=3D"gmail_quote"></div><div class=3D"gmail_quote"><div dir=3D"ltr=
" class=3D"gmail_attr">On Thu, Sep 9, 2021 at 1:59 PM Gustaf Andersson &lt;=
<a href data-email-masked rel=3D"nofollow">[email protected]</a>&gt; w=
rote:<br></div></div><div class=3D"gmail_quote"><blockquote class=3D"gmail_=
quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,=
204);padding-left:1ex">Hi,<div><br></div><div>Is there any license associat=
ed with the 3rd gen kd-tree? I can&#39;t seem to find one. Is it available =
for commercial use?=C2=A0</div><div><br></div><div>It would be useful to sa=
ve/load the tree to/from a file, would that be possible to implement?=C2=A0=
</div><div><br></div><div>Thanks!</div><div><br></div><div>Best,</div><div>=
Gustaf<br><br></div><div class=3D"gmail_quote"><div dir=3D"auto" class=3D"g=
mail_attr">s=C3=B6ndag 13 juni 2021 kl. 14:44:38 UTC+2 skrev Rednaxela:<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"><div>Hi all!<div><b=
r></div><div>Indeed seems those links are down. Thanks to fnl for forwardin=
g this along to me.</div><div><br></div><div>The version from Gaussian&#39;=
s source there is just the &quot;2nd gen&quot; version that is the same ver=
sion as is directly pasted onto the Robowiki page. The newer &quot;3rd gen&=
quot; one was the one behind the broken link.</div><div><br></div><div>I we=
nt into my old backups, found the Mercurial repo, converted it to git, and =
re-hosted it:</div><div><a href=3D"https://gitlab.com/agschultz/robocode-kn=
n-benchmark/-/tree/master/ags/utils/dataStructures/trees/thirdGenKD" rel=3D=
"nofollow" target=3D"_blank" data-saferedirecturl=3D"https://www.google.com=
/url?hl=3Dsv&amp;q=3Dhttps://gitlab.com/agschultz/robocode-knn-benchmark/-/=
tree/master/ags/utils/dataStructures/trees/thirdGenKD&amp;source=3Dgmail&am=
p;ust=3D1631340553987000&amp;usg=3DAFQjCNFyB6Vo5GF8dxJLQyTa5GfivS9AhA">http=
s://gitlab.com/agschultz/robocode-knn-benchmark/-/tree/master/ags/utils/dat=
aStructures/trees/thirdGenKD</a><br></div><div><br></div><div>Also updated =
the Robowiki page accordingly.</div><div><br></div><div>Best Regards,</div>=
<div>Rednaxela<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 wrot=
e:<br></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">You are right=
 that the links are broken :\<div><br></div><div>I found this source file f=
rom Rednaxela for a KdTree:</div><div><a href=3D"https://valelab4.ucsf.edu/=
svn/micromanager2/trunk/plugins/Gaussian/source/ags/utils/KdTree.java" rel=
=3D"nofollow" target=3D"_blank" data-saferedirecturl=3D"https://www.google.=
com/url?hl=3Dsv&amp;q=3Dhttps://valelab4.ucsf.edu/svn/micromanager2/trunk/p=
lugins/Gaussian/source/ags/utils/KdTree.java&amp;source=3Dgmail&amp;ust=3D1=
631340553987000&amp;usg=3DAFQjCNFK7oO4WOrPv5eKImPzv0tAuzD_Yw">https://valel=
ab4.ucsf.edu/svn/micromanager2/trunk/plugins/Gaussian/source/ags/utils/KdTr=
ee.java</a><br><br>I hope this helps?</div><div><br></div><div class=3D"gma=
il_quote"><div dir=3D"auto" class=3D"gmail_attr">fredag den 11. juni 2021 k=
l. 19.43.24 UTC+2 skrev Matthew Gomes:<br></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 links on the RoboWiki seem to be bro=
ken, and only the code for an older version which does not include the near=
est-neighbor iterator.</div><div><br></div><div>Thanks!<br></div></blockquo=
te></div></blockquote></div></blockquote></div>

<p></p></blockquote></div><div class=3D"gmail_quote"><blockquote class=3D"g=
mail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204=
,204,204);padding-left:1ex">

-- <br>
You received this message because you are subscribed to the Google Groups &=
quot;Robocode&quot; group.<br>
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href data-email-masked rel=3D"nofollow">robocode+u...@googlegrou=
ps.com</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&amp;utm_source=3Dfooter" target=3D"_blank" rel=3D"nofo=
llow" data-saferedirecturl=3D"https://www.google.com/url?hl=3Dsv&amp;q=3Dht=
tps://groups.google.com/d/msgid/robocode/19cace31-8591-4889-a3e2-e9f775fb9f=
b2n%2540googlegroups.com?utm_medium%3Demail%26utm_source%3Dfooter&amp;sourc=
e=3Dgmail&amp;ust=3D1631340553987000&amp;usg=3DAFQjCNFlnPi8aT4DvCvunaH6qW4v=
2RdTfw">https://groups.google.com/d/msgid/robocode/19cace31-8591-4889-a3e2-=
e9f775fb9fb2n%40googlegroups.com</a>.<br>
</blockquote></div>
</blockquote></div>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;Robocode&quot; 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/9513f944-85d4-4393-ab77-75d61514ab59n%40googlegroups.co=
m?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.com/d/msgid=
/robocode/9513f944-85d4-4393-ab77-75d61514ab59n%40googlegroups.com</a>.<br =
/>

------=_Part_2265_2121059790.1631255609943--

------=_Part_2264_855486063.1631255609943--