User talk:Rednaxela/SaphireEdge

From Robowiki
Jump to navigation Jump to search

When you finish all components, how you merge it? Will you use crowd? » Nat | Talk » 08:44, 24 March 2009 (UTC)

NN Series

Just a question, which library do you use? The small NeuralLib, NRLIBJ, TDNN, JSOMAP or your specially created? » Nat | Talk » 08:02, 24 March 2009 (UTC)]

A little custom 200-line class I wrote. Supports momentum, bais weights, easy to modify for any transfer functions, arbitrary numbers/sizes of layers, and batch training. It's not perfect but I'm fairly pround of it. :-) --Rednaxela 08:15, 24 March 2009 (UTC)

AS Series

Well, it's not quite ready for TC tests yet but right now I'm working on a new more robust and smarter so called "Crowd Targeting" system than what I had in RougeDC. I'm not quite sure it's perfected yet but here's one very good sign: I set up hypothetical surfing stats an enemy might have and the system is consistantly giving a negative weighting to those stats when against surfers, and giving a zero-ish weight for those stats against random movers! I still have some work to do (for one it adapts much too slowly right now), but I think it's exciting that it's able to so reliably detect surfing behavior and choose a reasonable weight for simulated surfing stats! --Rednaxela 09:08, 3 January 2009 (UTC)


Success! AS03 is looking pretty nice! Still lots more potential to squeeze out but this is looking quite good so far! --Rednaxela 16:35, 22 March 2009 (UTC)

Huge success! AS04 simultaneously improved against surfers while recorvering random mover score too! WaveSerpent really gets totally kicked around too here! --Rednaxela 14:33, 23 March 2009 (UTC)

VCS Series

Based on VCS01-03 It's seeming that increasing granularity of segmentation of this current gun configuration dramatically increases anti-surfer performance (not that that is very good) however causes a small but notable decrease in performance against random movers (or not?). What I wonder now however is, how strong is possible against non-surfers with only a single pure-tickwave VCS buffer? I see bots in that challenge with scores notably better in the non-surfer category, however half are DC (Chalk and DCResearch) and the other half are multi-buffer (Phoenix & Dookious). Anybody else have any thoughts about how strong single-buffer VCS can get? --Rednaxela 07:53, 20 December 2008 (UTC)

IMO a single buffer can only ever be so strong against surfers (although perhaps your inter-segment smoothing will help with this) due to the fact that your segmentation is rarely exactly the same as them. A single buffer can be very strong against non-adaptive movement though, just look at Raiko. --Skilgannon 17:57, 20 December 2008 (UTC)

I'd agree that a single buffer is rather limited in how it can do against surfers, what I'm speaking about for now is against non-adaptive movement. I suppose my next step will be switching over to TargetingChallengeRM and and benchmarking Raiko, Bee modified to use a single buffer only, VCS04, and VCS04 modified to remove antialiasing/interpolation. Having those three should give quite a solid "baseline". Before I move beyond gun beyond single-buffer VCS (and I intend to move it far beyond that), I want to get the single-buffer VCS componant nailed down realllllly solid (in other words: Build the best damn single-buffer VCS gun there has ever been (against non-adaptives)). Right now I have the temptation to do a mad scientist laugh. Anyone else ever had that feeling when robocoding? :) --Rednaxela 02:20, 21 December 2008 (UTC)

Okay, so this is stronger thank Raiko, however is slightly weaker still than a version of Bee modified to use only a single-buffer. Next I'll try weighting my firing waves higher than non-firing as that may help. --Rednaxela 00:37, 23 December 2008 (UTC)

Woah, it seems that switching to smoothed bin insertions certainly helped overall. I think next I'll try a hybrid method of bin insertion that is smoothed but takes botwidth into account too. --Rednaxela 19:24, 23 December 2008 (UTC)

Well, from now on I'll remember this: Bin insertion shape makes a BIG difference and the optimal is certainly not a rectangle across the botwidth like I first presumed. VCS09 is kind of troubling yet uplifing at once. On one hand it demonstrates that my antialiasing/interpolation scheme is of much value, but on the other hand I need to figure out why it's so far behind SingleBufferBee without it. I can't think of any reason for it to be so much weaker considering both are very similarly natured. I wonder how much better than VCS08 it will be though once I fix whatever problem it has and re-enable antialiasing/interpolation... :) --Rednaxela 17:50, 24 December 2008 (UTC)

Wowzers! It seems VCS12 is very strong in TCRM! The things I know of that beat it, are DrussGT, Dookious, and some experimental versions of RougeDC's gun that never saw the rumble. Now.... if I can just get it past the 90 barrier, then just a little further to beat DrussGT's TCRM score and make the best anti-random-movement gun yet using only a single (though fancy) VCS buffer. Only then will I be satisfied with my take on VCS and be able to proceed to the next stage of Project SaphireEdge! *cackles like a madman* Wonder what it will take to make the final steps to making SaphireEdgeVCS the king of TCRM... Well first I'm going to find out just why VCS12 still underperforms SingleBufferBee... this will be VCS13's job. In retrospect, maybe I should have given seperate version numbering to the versions with and without antialiasing/interpolation? --Rednaxela 02:16, 28 December 2008 (UTC)

Well VCS13 failed to demonstrate improvement, and VCS11 is close enough to SingleBufferBee anyways, so in VCS14-16 I focused on improving ontop of VCS12 more. Seems that VCS16 is quite good, nearly passing the 90 mark! --Rednaxela 06:17, 29 December 2008 (UTC)

Nice! VCS20 is looking very strong! Ahead of Phoenix by a sizable amount, just baaarely behind RougeDC TC52's score of 90.24, and also closing in on DrussGT's 90.5 score! And to think this is just a single VCS buffer! :P --Rednaxela 05:29, 30 December 2008 (UTC)

Very impressive! Although, by doing all that smoothing, it seems to me that you are actually making it more in effect like a DC gun =) Are you also doing 'aliasing' when you read the data back to find a firing angle? Or just find the highest bin in the current buffer? Happy New Years =) --Skilgannon 20:53, 31 December 2008 (UTC)

Well, VCS20 turned out to bit less impressive after the rest of the seasons completed, but indeed this does seem to closer approximate like a DC gun works. Also I'm not 'aliasing' or true smoothing really, I'm doing anti-aliasing. See the example section to see how it's applied to images. Imagine you had a grid a pixels, but a point you want to insert isn't exactly in the center of a pixel, instead you can just tint all pixels adjacent to the point. In a similar way I'm writing to all buffers adjacent to the situation when I get a data point, and when reading, I do interpolation in a matching manner (I take a weighted average of all buffers adjacent to the current situation). With 6 dimensions like I'm currently using, this means each write writes to up to 64 buffers, and each read reads up to 64 buffers (it's frequently less because it's not uncommon for a given situation to be at the "edge" of one or two dimensions where it's only adjacent to a single segment). So for both reading and writing, at any given point in time I con't consider any single buffer to be the 'current' one, rather I consider a weighted mixture of buffers adjacent to the situation to be the current 'one'. To find the firing angle I don't do anything different from the norm of using the highest bin, the only difference is that the "current buffer" is a mixture of several. That make sense? :)

Now what bothers me is if I can improve this any further. I consider VCS16 to be my 'base version' now as nothing else has provided a conclusive improvement over it, and I've had 7 unsuccessful trials in a row. Further segments don't seem to be able to help, and changes to the anti-aliasing/interpolation methods I've toyed with didn't work either. Is roughly 90.0 the limit of this technique? I'm having trouble deciding if I should let the VCS series rest and begin the other parts SaphireEdge research or not. Perhaps I should try the Fourier analysis targeting idea I've been toying with...

Happy New Years!
--Rednaxela 21:47, 31 December 2008 (UTC)