Thirty-second KGS Computer Go Tournament

Sunday November 11th, 2007

These results also appear on official KGS pages: Formal Division, Open Division which link to the game records.


 Formal divisionOpen division
format8-round Swiss12-round Swiss
board size13×139×9
time13 minutes absolute8 minutes absolute


The first round started at 16:00 UCT for the Formal and 16:05 for the Open division.


As usual, the tournament was held in two divisions, Formal and Open, with more restrictive entry conditions for the Formal division.

Formal Division   13×13


Open Division   9×9


These tables show more wins than you might expect, see "Another Afterthought" below.

The "real" names of the bots listed above, and of their programmers, are listed here: programs which have registered for KGS Computer Go Tournaments.


We welcomed two new entrants to this event, MechaGoZil and StoneGrid.

MechaGoZil is MoGo, run on a cluster. Its operator 'fantius' is Chris Fant, who has previously run his FStoned in these events.

StoneGrid is by John Fan. He was not able to be present to watch the tournament or to look after StoneGrid, and asked me to remove it if it misbehaved. In fact it behaved well, played all its games, resigned in hopeless positions, and handled the scoring correctly. It won a respectable six out of twelve games.

Leela LeelaBot is a new name for Gian-Carlo Pascutto's program that played in the previous KGS bot tournament as 'Progo'. He changed the name to avoid confusion with Robert Rehm's program Progo. Anyway, Leela is a better name – Leela is a one-eyed cartoon character.

Peter Christopher initially entered his scottbot and pagebot. However he had to withdraw them because of ISP problems. Olivier Teytaud initially entered MoGoBot3, but had to withdraw it because of a bug.

Phil Garcia meant to enter GoTraxx for the Open 9×9 division, but there was a misundertanding and it played in the Formal 13×13 division. It is not good at 13×13 Go, but it still managed to win two games.

Some requests to entrants

I would like to address some general comments to people who enter their programs for these events. I don't suppose any of you will take any notice, but I'll try anyway.

Formal division

In round 1 KagoBot13 did not appear, and its opponent FirstGoBot won when it timed out. I removed KagoBot13 before the start of round 2.

In round 5 LeelaBot suffered its only loss, to FirstGoBot.

game diagram In the round 8 game between FirstGoBot and break13, this position appeared, White has just played the marked stone. Now Black played (stupidly) at a, White played at b to capture two stones, and Black (break13) tried to recapture the one stone. This was forbidden by the positional superko rule, and Black eventually timed out. I was at first puzzled by this, and misreported it. Wms persuaded me to look more carefully at the position, and I realised that the move was a superko infringement.

Open division

In round 1 KagoBot9 did not appear, and its opponent WeakBot50k won when it timed out. I removed KagoBot9 before the start of round 2.

In the round 4 game between MonteGNU and MechaGoZil, MechaGoZil played better, and achived a typical UCT position with all the dame filled and a win by the minimum possible margin (1½ points on a 9×9 board with no seki). Then play continued with some pointless moves that changed nothing, until both players passed in turn. No problem so far. Now they players disagreed on the status of a dead eyeless group belonging to MechaGoZil. One of them asserted that it was dead, and one (I am guessing that this was MechaGoZil but I have no way of knowing) asserted that it was alive. So play resumed, MonteGNU made its first move towards capturing this dead group, and MechaGoZil timed out.

There's some natural justice to this. Making false claims about the status of groups is fine; but if you make a false claim and then make no attempt to back it up, not even by passing, you deserve to lose. More seriously – this is MechaGoZil's first tournament, and I expect it will have improved its cleanup mode handling by the next one.

In round 4 greenpeep suffered its only loss, to MechaGoZil.


In the early days of UCT, it was noticeable how often a UCT program would win a game by half a point. This happened because UCT programs believe that any move that is certain to win is good enough, they don't care about the margin of victory. This could be quite entertaining for the spectators.

In those days, UCT programs rarely lost games. But now that a lot of bots use UCT, they often play each other and some of them do lose games. And some of them take the same approach when they are certain that they are going to lose: "if every move has a 0.00% chance of winning, it doesn't matter what move I make". This produces endgames that are very dull to watch: one player knows it is going to win, the other knows that it is going to lose, and they both make meaningless moves. Writing as a spectator, I would prefer it if a bot that knows it has 0.00% chance of winning would resign, or at least pass quickly.

Another Afterthought

The results tables on the KGS site include KagoBot9 and KagoBot13, which entered, failed to show up, timed out of their round 1 games, and were then removed. Those tables are consistent and, in a sense, correct.

The results tables above are copied directly from the tables on the KGS site, with the omission of the rows for the KagoBots. They are therefore inconsistent: they show more wins than there were games played. I could think about cleaning this up, but it's not obvious how to do it; in say the Formal division, round 1, FirstGoBot deserves at least as much credit for playing the absent KagoBot13 as GNU does for getting a bye. So I have left the tables as they are.