Twenty-eighth KGS Computer Go Tournament

Sunday July 8th, 2007

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


 Formal divisionOpen division
format8-round Swiss5-round Swiss
board size9×913×13
time8 minutes absolute13 minutes absolute


The first round started at 15:00 UCT for the Formal and 15: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   9×9


Open Division   13×13


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 four new programmers and their programs to this event.

break, playing as 'break', is by Chinese programmer YangYun. His English is limited, and I know little about how it works.

GGMC Go, playing as 'ggmcbot', is by Japanese programmer Hideki Kato. It had already competed in the Computer Olympiad a month ago, where it was running on a Playstation 3; the version which competed on KGS was running on a PC. It uses MC/UCT.

Goanna, playing as 'agog', is by Joel Veness, from Sydney, Australia. It is named after an australian lizard. It has no connection with Bruce Ellis's Goanna, which came second in the 1984 Usenix computer go tournament in Salt Lake City.

SimonBot, playing as 'SimonBot', is by another Japanese programmer, Yoshimasa Ito. He originally planned to enter it for the Formal division, but had reservations about whether it would handle the game end properly, so I persuaded him to enter the Open division instead.

Formal division

When round 1 started, AyaBot did not join its game, it was already playing a human in the room. When this game finished, it joined its game with CrazyStone, having used up three of its eight minutes. CrazyStone eventually won, as it would probably have done anyway.

In round 2, AyaBot did not make any move in its game, and eventually lost on time. It went on to lose all its subsequent games like this. I assume that something was wrong with its configuration file.

After dpthought and break had played five moves each, break stopped responding, and eventually lost on time. I do not know whether this was a bug, or just slowness; it had already spend a minute and a half on its fourth move.

In round 3, AyaBot did join its game, but did not move. So it is not obvious what its problem was.

The dpthought/MonteGNU game was strange. The entire game is shown to the right. After this MonteGNU passed, then dpthought passed. They then agreed on the scoring: all the stones are alive, so there is no territory, and white wins by the komi. One pass at this stage of the game could be attributed to an error by one of them programs. But two, on consecutive moves, makes me suspect a system error of some kind. Or does dpthought pass whenever its opponent does?

Open division

Goanna was meant to play in the Open division, as 'agog2', as well as in the Formal. However I had forgotten to register it for the Open division so it was unable to play. (Once play is about to start in a division, I am unable to register bots. So if you have connected to KGS in plenty of time to watch your bot play, it's a good idea to look on the KGS page about the division, and check that I have registered it and got its name right.)

When round 1 started, AyaBot2 did not join its game, it was already playing a human in the room. When this game finished, it joined its game with HBotSVN, having used up seven of its thirteen minutes. It still beat HBotSVN. AyaBot2 did not make any moves in any subsequent round, as it was having the same problem as Aya in the Formal division.

SimonBot obtained a lost position in its game against IdiotBot, with all the groups completely safe and all the dame filled. But instead of passing, it kept crashing, reconnecting and crashing again while trying to score the game, until it lost on time. Its owner realised that it was going to behave like this in all its games, and agreed to withdraw it from the event.

In the round 2 game Mango/hb04, when hb04 as Black played the marked stone in the game shown to the right, Mango resigned. The owners of both programs then ask me to reverse the result and assign the win to Mango, and as I agreed that this position is a clear win for Mango, I did so. Mango's owner Guillaume Chaslot said that he would try to remove the bug that caused this resignation, before the next round. However his changes introduced some other problem.

In round 3 Mango resigned normally in a lost position against StoneCrazy.

In round 4 Mango played to the end in its game with GNU, but failed to score the game. I counted it and assigned it as a win to GNU. However the players did not regard the game as over, and kept reconnecting to it. I had to use my admin power to kill the game, to allow them to play in the next round.

In round 5 Mango played to the end in its game with WeakBot50k, and again failed to score the game. I counted it and assigned it as a win to Mango.

The end of the HBotSVN/IdiotBot game, shown on the right, was of some interest. Black has clearly won. However White, using MC/UCB, believed it had a 100% chance of winning. This is because in its MC playouts, it thought that Black was very likely to play at A11, making a dead black group. In its playouts it assumes that neither player will fill an own solid one-point eye. However it recognises solid one-point eyes because they all match one of the templates below, allowing for rotations. The eye at A11 does not match any of these, so was not recognised.

This was explained to me by HBotSVN's author, Jason House.

In the future ...

... I hope that Aya, break, dpthought, Mango, MonteGNU and SimonBot will be able to identify and fix their various problems, and will play here again. I believe that part of the value of these KGS events is that they expose so much strange behaviour from bots, in an environment where it is harmless, so that the programmers can fix it.