BeepBoop seems to be losing ~1.5 APS

Jump to navigation Jump to search
Revision as of 6 February 2023 at 02:35.
The highlighted comment was edited in this revision. [diff]

BeepBoop seems to be losing ~1.5 APS

BeepBoopDiff.png

Comparing to the nearly identical 1.20, you can clearly see some random drops, which I suspect to be skipped turns on some old hardware.

The previous results of APS ~94.8 can be reproduced on my computer, so I think the previous results can be trusted.

@Beaming seems to be contributing to RoboRumble the most recently, we could work together to see if something could be done to ensure reproducibility of RoboRumble.

    Xor (talk)08:33, 15 January 2023

    I think I found a potential problem spot. One of my computers was 4 times slower and was using cpu constant from a 4 times faster computer. I recalculated cpu constant (by deleting the config file) and hope that the APS drop would resolve. It might explain why a better (subjectively) version of my bot in development performs worse than the old one.

    It would be nice if rumble client recalculated CPU constant at the start. It take very little time and provides more stability. But I also recall discussion that active throttling in modern hardware makes this number just an estimate.

    By the way in 2014 we had interesting discussion about Thread:User talk:Beaming/Smart bots competition allowing long calculation time for bots. Maybe it time to revive it since ML approaches developed quite a bit and they are CPU intensive.

    From other hand making a top ranking fast bot is a challenge in itself.

      Beaming (talk)19:51, 15 January 2023

      I agree. Enforcing recomputing of CPU constant at the start and per e.g. 100 battles is necessary, as it highly affects results and is easy to get wrong. By recomputing periodically, it can also solve the problem of other heavy tasks that affects RoboRumble, without adding too much overhead.

      I'm also thinking about adding some test set before allowing score submission, but that would be a long term plan.

      I'll submit a PR for recomputing CPU constant, any suggestions are welcomed.

        Xor (talk)10:51, 16 January 2023
         

        I'm also interested in adding a separate rumble with long calculation time.

        I'll add an option to multiply cpu constant by a factor (warning, advanced usage) from rumble config file, then *SmartRumble* could be realized. The initial participants could be copied from GigaRumble ;)

          Xor (talk)10:57, 16 January 2023
           

          I bought a low-end PC running Linux with 4 cores @ 1.33Ghz (cpu in 2016), and turbo-boost disabled. The cpu constant is 5x more than my master computer.

          I tried to run the entire rumble with roborunner, two instances in parallel, (which takes ~20x time to complete, since I run 8 instances normally), and by far the scores look fine. So I guess what actually causes strange scores is indeed using inaccurate cpu constants.

          Anyway, I haven't tried running other background tasks at the same time (because I don't have such tasks to run), so I'm not sure whether that affects the score as well.

            Xor (talk)17:29, 24 January 2023
             

            BeepBoop 1.21a seems to be losing only 0.1 APS now comparing to 1.2 (and 0.2 APS comparing to my local run).

            However, there are still some pairings with weird score:

            reeder.colin.WallGuy3 1.0
            hs.SimpleHBot 1.3
            darkcanuck.Holden 1.13a
            tobe.Saturn lambda
            

            I'm also running rumble client meanwhile, and couldn't find corresponding pairings from my logs.

            @Beaming Could you please also have a look at the logs to see which machine is producing the weird scores?

            I suspect most of the scores should be fine now, but some weird scores may still be producing under heavy load.

              Xor (talk)03:34, 6 February 2023