Robo Home | Changes | Preferences | AllPages

Well, in my latest version of my development bot, I changed the segmentations around, and I noticed that despite overall increases in performance nearly all around, there was one spot where I had a significant performance drop: The very top advanced bots. I then ran some test battles against such bots, and watched their debugging consoles. So what did I find? They suddenly started getting their AntiSurferTargeting accurate on me (before they were often indecisive about which gun to use). So what segmentation change caused this? Well I'm not completely certain yet, however I believe the fact that I removed a weak segment on time (and in DynamicClustering, a time segment is basically the same as a rolling average effect) was the cause. So I suppose why I was fooling AntiSurferTargeting before was because I was rolling my stats just as they roll their stats over time.

So what I call AntiAntiSurferSurfing (nice name huh :)), is an extension of flattening that came to mind in response to noticing the effect of rolling surfing stats against AntiSurferTargeting guns. To start, I'll break down one way of looking at other movements:

So, logically, wouldn't a good way to counter AntiSurferTargeting be to basically flip one of those guns in reverse? Well, what characteristics do the common AntiSurferTargeting guns have? Well... So for AntiAntiSurferSurfing what do we want to do? Well I think: The last point in particular I think is somewhat counter-intuitive with normal Robocode thought, and indeed that last quality would be a weakness to Non-AntiSurferTargeting, however I don't think that would really be too big an issue when the flattening is the dominant factor (just as decrementing on hit is NOT a particularly strong factor in AntiSurferTargeting). I think something like this is probably the best way to counter AntiSurferTargeting, however it's biggest weakness is probably against plain GuessFactor targeting, and thus for this to be of any use, the real key would be knowing when to use it. I think what would be a real breakthrough, would be if someone found a nice way to try to estimate how quickly the enemy is currently rolling stats, and estimate if they're decrementing places they hit. A VirtualGuns-like MultiMode movement could do the trick for knowing when to use this to some degree, but in order to deal with how suddenly the enemy may switch guns you would need to have rolling stats on which movement is better, and I'm not sure if there would be enough information to learn which to use quickly enough. What are some other people's thoughts on countering things like AntiSurferTargeting? :)

-- Rednaxela

Hi Rednexela, which bot does this? I think I implements this in very buggy way of very-buggy BlackHole 0.1.11, but it screw up with normal stats and getting flat stats instead :-) Perhaps I need to do some Crowd Movement. --Nat

No bot does this to my knowledge, just a random idea... :) -- Rednaxela

Was just thinking how hard it could be to test this, as any bot with an AS gun surely uses VirtualGuns, so thought I'd mention it's really easy to disable Dooki's regular gun to test against his AS gun. Just comment out _gunManager.addGun(_mainGun); in dgun/DookiLightning.java / initializeGuns(). -- Voidious

Robo Home | Changes | Preferences | AllPages
Edit text of this page | View other revisions
Last edited April 16, 2009 16:42 EST by Voidious (diff)