Thirty-eighth KGS Computer Go Tournament

Sunday May 4th 2008

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


 Formal divisionOpen division
format6-round Swiss6-round Swiss
board size19×1919×19
time18 minutes absolute18 minutes absolute


The first round started at 13:00 UTC for the Formal and 13:10 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   19×19


Open Division   19×19


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

As last month, no "official" MoGo entered, so I allowed CzechBot, Petr Baudiš's build of MoGo, to enter.

CzechBot was MoGo (with pondering enabled) running on a 2x2.5GHz A64 4800+.
GNU was GNU Go, running on one core of a dual core AMD Athlon 64 processor running at 2.2 GHz.
HBotSVN was HouseBot, running on an Intel Pentium dual core T2330 (1.6GHz/533Mhz FSB/1MB cache).
LeelaBot was Leela, running on 1 x Intel Xeon 5355 @ 2.66Ghz.
LeelaBot2 was Leela, running on 1 x Intel Core 2 Quad Q6600 @ 2.4Ghz.
MonteGNU was GNU Go with UCT enhancements, running on one core of a dual core AMD Athlon 64 processor running at 2.2 GHz.
Orego was Orego, running on a Mac using two 3 GHz Dual-Core Intel Xeons (hence 4 cores altogether).
SimpleBot was running on one cpu of a dual core AMD Athlon.
WeakBot50k was running on one cpu of a dual core AMD Athlon.

WeakBot50k was shown on the server as having a rating of "2d?", which was displayed in its games as "2d". Of course its real strength is much lower than this. There is currently a bug in the KGS rating code, such that when a player with a confirmed (i.e. non-?) rating loses that rating by not playing enough rated games, it is replaced, not by "?", but by a high rating with a "?", possibly related to the upper bound of its uncertainty interval.

Formal division

There were three entrants, so byes were necessary. Only one game was played in each round.

LeelaBot2 won all four of its games, GNU lost twice to LeelaBot2 and beat Orego twice, and Orego lost all four games. Strangely, LeelaBot2 was black in all four of its games: most pairing algorithms would have avoided this.

Open division

In round 1, CzechBot won a sensible game against MonteGNU. WeakBot50k won easily against HBotSVN, as did LeelaBot against SimpleBot.

In round 2, LeelaBot beat CzechBot, despite playing some odd moves. HBotSVN was reconfigured to use RAVE, but still lost all its stones to MonteGNU.

In round 3, CzechBot, LeelaBot and MonteGNU won easy games. In the game between HBotSVN and CzechBot, only CzechBot submitted a final_status_list (HBotSVN does not implement final_status_list), and the server therefore marked all HBotSVN's dead groups as alive and asked them to resume play until all the dead groups had been killed. HBotSVN almost lost on time during this, and had only three seconds left by the time all the dead stones had been removed.

In round 4, HBotSVN was reconfigured to use two threads. It lost all its stones in its game against LeelaBot. After both players passed, the server marked all HBotSVN's dead stones alive as in its previous game, and told the players to resume. LeelaBot, which was suffering from some lag, timed out during this resolution phase. Meanwhile CzechBot and MonteGNU won easy games.

In round 5, CzechBot won an interesting game against LeelaBot. MonteGNU and SimpleBot won easy games.

In round 6 LeelaBot again played some strange-looking moves, and its opponent MonteGNU appeared to be winning for a while, but LeelaBot eventually won the game by 1½ points. CzechBot and SimpleBot won easy games.

Losses after Game Stop

The outcome of the round four game between LeelaBot and HBotSVN was unfortunate: HBotSVN won on time in the resolution phase, long after the "real" game was over. If it had not lost this game, LeelaBot would have won the division.

When I first wrote my report on this tournament, I reacted badly to this game, and placed HBotSVN on probation until it implemented the game end protocol "properly" and in particular implemented final_status_list. I was soon persuaded that I should not have done this. HBotSVN's behaviour at the game end is in accordance with what it specified by the rules. Its author, Jason House, has done nothing that should have been criticised.

I therefore annull the "probation", and apologise to Jason for my comments.

I still consider the outcome of the LeelBot/HBotSVN game unfortunate. Some possible solutions: