Any correspondence bot?

Hello ogs,

I am wondering if there is any bot with the following characteristics:

  • accepting “correspondence” speed
  • level anywhere higher than 7k to consistently play “good” moves me ( “good” from my point of view, I am around 10k :slight_smile: )
  • preferably playing non ranked games
  • and preferably answering fast

I noticed that most bots refuse “correspondence” speed, and I wonder why. The rational for playing a bot is that it would let me as much time as I want to analyse variations before playing, but I would not have to wait much for opponent move as against a true opponent :slight_smile:
I also would prefer an ogs bot to an external program, because it allows playing either from my phone or my computer.

Do you have any recommendation ?


Welcome at OGS. Like your concept, but don’t know if such a set up exists. Maybe if you approach a bot builder, there will be a correspondence bot one day.

Been wondering the same for a long time. Why no correspondence bots? What difference does it make to a bot anyway? A very low end server (even a raspberry pi?) might be able to play thousands of users simultaneously if the time settings were long enough.
With live games I typically crank the time settings to whatever maximum the bot allows anyway so I could play a high quality game myself. Meanwhile the bot blitzes all moves in an eyeblink.
There is literally no good reason. Whoever put up those bots just decided the games to be live.
Just occurred to me that none of the Go playing programs were designed with 1000 corr games in mind. All of them produce a big fat session for one game and focus on that one game only. So if you want the program to play N games you need to run N instances of it. Which wastes memory like crazy. So the problem is that no one has bothered to modify a go bot to suit this use case


Well, if N is not too large the memory problem is limited (I think).

Depends on the program. GnuGo is cheap, need 13 MB of RAM. You could run 1000 GnuGos. But for SDK and dan level we generally want to use a neural network and they can be huge. On my machine cpu-only katago gobbles 4.3 GB when running the old 15-block network. No way anyone runs 1000 katagos this way. Smaller and simpler networks also become quite big when loaded into RAM.

Indeed, it might be a limitation from the bots architecture.
Even if … I would have believed that running the bot requires a lot of ram for storing the network / the internal computation when searching for the best move, but storing a game state should have a minimal memory footprint. The limit in this case would be the number a game for which you can search an answer in parallel, not the number of games where it is the opponent’s turn. Unless some of the computation used to process a position at some turn n are cached and reused to accelerate the processing at turn n+2 ? I would have expected that only the most optimized bots do this, but I may well be wrong.

@AlexSand Yeah. Need to change the architecture. E.g. break katago into two programs, a server (only has the network) and a client (only has the game state). Then we could run 1 memory hungry server and 1000 low footprint clients. But to implement that is a lot of work.

1 Like

Great idea, and very fitted for OGS background. I hope it doesn’t go to the forgotten ones, but I’m no programmer myself.

IMHO - the trick to playing slow/correspondence games with a bot is just to download one on your desktop and use that to generate moves.

Gnugo isn’t the most interesting bot to play, but it will top out around 7k if you set the intelligence to max:

Otherwise, I’ve found this browser-based AI bot to play fairly interesting moves and it feels like it’s in the same 8k-10k zone:

You’ll have to keep one browser window open while you’re playing that bot, and there are no un-do’s, there way there are with Gnugo, but it’ll do the trick if that’s what you’re looking for.