Twentieth KGS Computer Go Tournament

Sunday November 5th, 2006

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


 Formal divisionOpen division
board size13x139x9
time18 minutes absolute13 minutes absolute


Formal division: six-round Swiss.
Open division: eight-round Swiss.


The first round started at 18:00 UCT for the Formal and 18: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   13x13


Open Division   9x9


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

Open division

In round 1, HouseBot was several minutes late for its game. It was a victim of the "room membership bug", new to CGoban3, which I have mentioned before: to get a bot to play in a specific room for the first time, or after playing in some other room, it is necessary to close the bot, log in using its name and password, go into the room yourself, and then log off and re-launch the bot.

Razorbot2 (a modified GNU Go) did not show up at all. Its author, Mike Windels, had warned me that this might happen. In accordance with his instructions, I then removed it from the draw.

GoComputer, a new bot by Christoph Vielhauer and Hartwig Hanusch, won its first game, against HBotSVN. Then, when the dead stones had been agreed, it began a cycle of abandoning and rejoining the game about once a second, rather than acknowledge that it was over. Christoph writes

"After games ended, the kgsGTP-connection kept breaking. A reconnect was useless (i.e. connection broke again) until the game was killed. So unfortunately most games had to be scored by the tournament-director and then be manually killed (thanks to Nick for this!). Only then could GoComputer  reconnect for the next round. I suspect that GoComputer [is] calling kgsGTP (3.3.8) incorrectly. But since this problem did not occur with kgsGTP 2.6.12, I don't really know what is wrong."
He provided kgsGtp stack traces, in the computer-go mailing list; I see no need to reproduce them here. 

In round 2, GoComputer had the same problem, in its game with SimpleBot. Again I had to save the game myself, count it, assign a result, and kill the game. Records of GoComputer's aborted games are not available in the usual way from KGS, but they are all given below.

In round 3, GoComputer had the same problem. This time it was playing black, and white was MoGoBot. However, in trying to kill the MoGoBot-GoComputer game, I carelessly killed the MoGoBot13-GNU game instead. Of course, when as admin I try to kill a game, I get a confirmatory check dialog; unfortunately, this only names the white player, and I did not read it carefully. Thus the MoGoBot13-GNU game from the Formal division was irreversibly killed in mid-game. I very much regret this. (To explain this incident, I have this month written up the Open division before the Formal).

In round 4, GoComputer initially failed to show up for its game with IdiotBot. IdiotBot was black, and played a stone. About five minutes later, when GoComputer had still not shown up, IdiotBot lost interest and left the game, though it remained connected to the server. Later, GoComputer got connected, joined its game, and made a move. IdiotBot did not rejoin, and eventually lost on time. Thus the game was scored as a win for GoComputer.
      I have see such things happen before, and I do not understand it. It seems unlikely that IdiotBot abandoned the game of its own initiative. Was it induced to leave by something the server said to it? It seems to me that the result is correct (GoComputer did nothing wrong in turning up late) but unfortunate, and there is a bug somewhere, that ought to be addressed.
      A similar problem can arise in real-life tournaments. Suppose a game (in the London Open Go Tournament, say) has two-hour time limits. At the start of the game, White turns up, Black does not. White starts Black's clock. After half an hour, White gets bored and wanders off. Then Black arrives, plays a stone, presses the clock, and seeing no opponent, also wanders off. Now the referee observes what has happened - how, it at all, should he act?

In round 5 MoGoBot surprised the observers by losing its game with SimpleBot. This was MoGoBot's only loss.

Formal division

In round 1, valkyria defeated GNU in a close game, while Orego lost on time to MoGoBot, and AyaBot had a bye. In this event, Orego lost all its games on time.

In round 2, valkyria resigned against MoGoBot, while Orego lost on time to AyaBot, and GNU had the bye.

In round 3, valkyria resigned against AyaBot, and Orego had the bye. MoGoBot13 was playing as white against GNU, and had reached the diagrammed position with white to play, when the game was killed by my mistake, as described above. MoGoBot13 had 9:11 of its 18 minutes left, GNU had 15:42 left. The game record is available below.
      I think we all agreed that black has the best of this game, but that it is far from finished, and the result is not clear. There was no way of getting the game going again. I had to decide how to score it: I decided to treat it as a win for both players, as if both players had been assigned byes.
      The KGS server was of course unaware of this decision. For the purposes of the draw program I had to assign it as a win or a loss, and chose to assign it as a win to GNU. This means that the KGS results table is "officially" wrong. It also means that the Swiss algorithm used by the draw program may subsequently have given MoGoBot13 an easier draw than it deserved.

In round 4, MoGoBot won a close game against AyaBot, while Orego lost on time to GNU, and valkyria had the bye.

In round 5, AyaBot won a close game against GNU, while Orego lost on time to valkyria, and MoGoBot had the bye.

In round 6, MoGoBot won a close game against AyaBot, while valkyria lost on time to GNU, and Orego had a second bye.

Forfeited games

Open division, round 1: GoComputer-HBotSVN.sgf
Open division, round 2: GoComputer-SimpleBot.sgf
Open division, round 3: MoGoBot-GoComputer.sgf
Open division, round 5: GoComputer-HouseBot.sgf
Formal division, round 3: MoGoBot13-GNU.sgf