Randomized surfing

Jump to navigation Jump to search
Revision as of 11 November 2013 at 08:12.
The highlighted comment was created in this revision.

Randomized surfing

I've played around a fair bit with adding random factors to my surfing. (Very, very carefully - you don't want to sacrifice super effective bullet dodging vs weaker guns.) It seems like there has to be something there! But I never got it to outperform my non-randomized version. Will be cool to see what you come up with.

Edit: Might be more accurate to say I've played with adding it to my Flattener.

    Voidious (talk)03:58, 23 October 2013

    Yeah, my attempts always did worse as well.

      Chase08:51, 23 October 2013
       

      I still feel like there's more potential for randomness in surfing than has been seen in use to-date. Specifically, I have plans I've yet to try regarding what I'd call an "obsucated goto" movement to be used as part of surfing. Despite efforts I've heard of thus far being unsuccessful I have a feeling that against the strongest targeting systems out there, a well-designed "pure random" movement with "obfuscated goto paths" (important!) might at least perform around the same as surfing/flattening systems.

        Rednaxela (talk)01:48, 24 October 2013

        Well, none of my efforts have been seen in use because I didn't release any of them. :-) But I've tinkered quite a bit, so it's not for lack of trying.

        The idea I thought had the most promise involved generating a completely new/random movement profile every time you get hit. Also tried instead/also a new profile every X ticks, or every time a wave passes, or modeling those random stats in a fair number different distributions (flat with flat juice to super spiky), and in various mixes of random + normal flattener. I guess it's possible some of those would've helped against certain bots, but my testing on this is usually restricted to 2-3 strong bots, since the only improvement I'd really care about is beating DrussGT without sacrificing too much vs Shadow/XanderCat. ;)

          Voidious (talk)04:52, 24 October 2013

          Well, I'm far less experienced than you guys are. It might not go too well. What I was thinking was that Phantom would track the bullets as precisely as possible, then find a random angle, velocity, and distance to escape them. Sounds a bit like a flattener. Or maybe it will just do BasicSurfer or BasicGTSurfer movement until it dies, then switch to flat movement. Anyway, Phantom may not ever get released. It sounds like implementing this type of movement is pretty difficult.

            BeastBots101 (talk)05:32, 7 November 2013
             
             

            The weakness with deterministic movements is your opponent can reverse engineer it, then create a specialist gun which would use your own deterministic movement to predict with near 100% accuracy where to shoot.

            Random movement is a more conservative strategy which still perform okayish even if someone tries to use a specialist gun against it.

            But since no one is trying to create specialist anti-surfer guns in the rumble right now, deterministic movements tend to outperform random movements overall.

              MN (talk)01:34, 8 November 2013

              Specialized guns can be complex and costly (in terms of development and testing). But it's true that if you had a copy of the enemy robot's movement code and added all its data up exactly the same way it does (during battle) that you would perfectly be able to predict its movement if it doesn't use any kind of random mechanism.

              But with even a slight error, the difference will grow exponentially, since essentially robocode robots are very complex systems to which the theories of chaos theory definitely apply.

                Chase03:27, 8 November 2013

                I, at least, try to minimize the effects of noise, specially when dealing with floating point precision arithmetic. So, chaos theory doesn't apply to my bots. I guess most bots follow the same path.

                And, unless someone is trying to flatten virtual waves, it is possible to have perfect information about most deterministic movement systems. Probably all surfers and all active flatteners.

                It would be interesting if someone tries to create some kind of "BigBlackBook" bot.

                [EDIT: Actually, chaos theory do apply, but additional information gathered in scans done along the battle can compensate for it and still make specialist guns possible.]

                  MN (talk)15:48, 9 November 2013

                  Actually, you can't perfectly predict enemy movement even if you have their exact stats and prediction setup because you see their movements a tick later than them. It is probably enough to thrash them pretty thoroughly, but it won't be perfect.

                  My take on why random surfing hasn't worked out well is because of the same reasons that make a classic Raiko-style random movement not work out as well as surfing: where you currently are affects which locations are reachable. Flattening takes this into account, particularly with 2-wave surfing where you can plan to get to those far-out GFs. Using purely random GF selection will mostly result in GFs you can't reach, or if you try to scale it to where you can reach it will end up being susceptible to statistical analysis from overlaying lots of movements in a classic anti-random-movement style.

                    Skilgannon (talk)10:12, 11 November 2013