Difference between revisions of "User talk:Voidious/TripHammer"

From Robowiki
Jump to navigation Jump to search
(→‎0.8498: whoah)
(→‎0.8498: A great week in Robocode)
Line 44: Line 44:
  
 
Whoah -- looks like you've cracked open the RM ceiling that DrussGT has been slowly pushing upwards.  Nice work!  --[[User:Darkcanuck|Darkcanuck]] 15:27, 30 September 2009 (UTC)
 
Whoah -- looks like you've cracked open the RM ceiling that DrussGT has been slowly pushing upwards.  Nice work!  --[[User:Darkcanuck|Darkcanuck]] 15:27, 30 September 2009 (UTC)
 +
 +
Wow! Do you mind if I take at look at (and take ideas from) how you are defining your dimensions? Because if you're scoring 91.20 with just the KNN I think there's some magic you've got here that isn't just the clustering... --[[User:Skilgannon|Skilgannon]] 17:56, 1 October 2009 (UTC)

Revision as of 18:56, 1 October 2009

Initial chatter

Interesting gun... I wonder, if you smooth all hit into an array or using DrussGT-like method, it should be a lot faster. » Nat | Talk » 04:50, 13 September 2009 (UTC)

Ooh.. interesting... this makes me more inclined to make my try my cluster-tree idea, which I started to implement but then got distracted with melee things.. but I do want to get my melee stuff more finished before I got back to that.. hmmm --Rednaxela 05:16, 13 September 2009 (UTC)

I wonder how this would compare with one of our regular k-nearest-neighbors guns using 1/250th of the number of scans? Also, you say you're using precise GFs, what method are you using on finding an angle? The method Rednaxela and I use, which is best described as precise-range-overlap, is the best I have tested. Also, I assume this means you've written your own precise-GF utility method. I remember when writing mine something I was grateful for was that bots in robocode are represented by non-rotating rectangles =) --Skilgannon 07:42, 13 September 2009 (UTC)

The precise GF code is just the same as Dookious has been using for ages. I think Dooki was the first bot to find the advantage to using precise GFs, actually =), though I know PEZ had experimented with it even before that. Anyway, it's not that precise that I am looking at bot width... just that I use precise prediction to calculate the max escape angle instead of just Math.asin(8 / bullet speed). I calculate the escape angle the enemy could reach if he moved full speed perpendicularly (and just ran into any walls), then the escape angle the enemy would reach if he did the same but with Wall Smoothing, and I take the larger of the two. I have been wondering if it's worth tweaking this to be even more precise, perhaps I'll take a look. Funny to look and see that the last change I made to Dookious was tweaking the precise GF code in 1.573...
About the KNN comparison, do you mean which would perform better with 1/250th the data? Or if this gun had 1/250th the data so that the clusters were of similar size? It's also worth noting that switching from displacement vectors to (precise) GFs was an immediate boost in score - I may run some TCRM seasons with Diamond's gun switched to use GFs for a fairer comparison. Diamond gets ~89.85 with its main gun, even with displacement vectors.
--Voidious 08:56, 13 September 2009 (UTC)
Ha! When I read "Dooki was the first bot to find the advantage to using precise GFs", I start to dig myself into Dookious code before I return and read "Anyway, it's not that precise that I am looking at bot width...". I think Doki is just only robot that use precise MEA now. For the KNN comparison, I think Skilgannon mean the later, he wants to test k-NN with similar size. » Nat | Talk » 09:36, 13 September 2009 (UTC)
Phoenix also uses precise MEA in its gun, I'm pretty sure. And Diamond doesn't use it for precise GFs, but it does use (precise MEA / traditional MEA) as its wall distance attribute in 1v1. --Voidious 14:31, 13 September 2009 (UTC)
Yeah, what I mean is that each cluster has 1/250th of your data, and you use the entire cluster to determine what the angle to shoot at should be, so why not use KNN with your K set to size/250 for a comparison? And there's been a bit of confusion I think, what you do is precise MEA, not precise (ie. subpixel) GF hitranges like Garm, RougeDC, DrussGT (in the gun only) and Wintermute. --Skilgannon 10:55, 13 September 2009 (UTC)
Ohhh, gotcha. Sorry for my half asleep ramblings, then. =) I've always thought of that as "precise bot width" or "precise intersection". I still think "precise GF" is an accurate description of what I do here (along with "precise MEA"), since in this system, GF1 is precisely the maximum bearing offset the enemy can reach in his current orbital direction, which is what GF1 is meant to describe. With traditional MEA, GF1 is just a very rough approximation. No argument that both increases the precision of a GF system, though. --Voidious 14:31, 13 September 2009 (UTC)
As someone who's never ever used 'precise MEA' in a gun... I wonder how using it would affect SaphireEdge, and how much that might boost it into a lead over TripHammer by... :) --Rednaxela 14:48, 13 September 2009 (UTC)
Well, every gun is different, of course, but I bet you'd gain a lot. Dooki's TC2K6 score jumped by ~1 whole point when I made the switch. (See scores on Dookious/DookiLightning - 1.16 added precise MEA, 1.161 tweaked it further.) --Voidious 15:15, 13 September 2009 (UTC)
From my investigations, using precise MEA helped a lot in the targeting challenges but not much in the rumble - no idea why =) FWIW the DrussGT in the TCRM isn't using any form of precise MEA. --Skilgannon 16:40, 13 September 2009 (UTC)
I gained almost 10 points when I implemented precise MEA in Dookious, it's what sent me past 2100... however, I later found what might have been a performance enhancing bug in that same version, so I can't say for sure. In the RoboRumble Gun Challenge, precise MEA gained ~6 points (legitimately). It makes sense precise MEA would have more effect in TCs, because with power 3 bullets, the walls impact the MEA a lot more. --Voidious 16:48, 13 September 2009 (UTC)

Speaking of "Rumble vs TC"... unless I broke something (possible, unlikely I think), Diamond 1.37's k-means gun posts consistently better TCRM scores than the old general purpose one, yet it lost 0.4% APS in the rumble. Ouch! --Voidious 14:28, 14 September 2009 (UTC)

0.8498

The big "breakthrough" here (91.35 in TCRM) was doing KNN instead of pulling in nearby clusters when I don't have enough data. My KNN cluster size is min(data points / 30, 250), and whenever the nearest k-means cluster has less data than that, I do KNN instead. Previously, I was pulling in up to 5 nearby clusters as long as I had less than 250 data points, a mechanic which I'd tweaked up to 90.96.

By comparison, if 0.8498 chooses its KNN option all the time, it scores 91.20. So the k-means is only giving a small (but measurable) boost, presumably in the SuperNodes. Tweaking the KNN cluster size might close the gap, but on the other hand, tweaking how/when I use KNN could widen it further.

As a sidenote, I think there are still a lot of ideas worth exploring with different forms of clustering. I've got one more idea I'm going to try next, and I'll also keep tweaking the k-means / knn hybrid.

--Voidious 13:20, 30 September 2009 (UTC)

Congrats! So k-means does have some good over kNN. Look forward for the real robot! Nat Pavasant 13:24, 30 September 2009 (UTC)

Wow! That's an amazingly high TCRM result there! Makes me have this urge to work on my cluster-tree idea... but I already have Glacier and SaphireEdge on the table, haha --Rednaxela 13:57, 30 September 2009 (UTC)

Whoah -- looks like you've cracked open the RM ceiling that DrussGT has been slowly pushing upwards. Nice work! --Darkcanuck 15:27, 30 September 2009 (UTC)

Wow! Do you mind if I take at look at (and take ideas from) how you are defining your dimensions? Because if you're scoring 91.20 with just the KNN I think there's some magic you've got here that isn't just the clustering... --Skilgannon 17:56, 1 October 2009 (UTC)