Forty-fourth KGS Computer Go Tournament

Sunday November 16th 2008

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


 Formal divisionOpen division
format5-round Swiss5-round Swiss
board size19×1919×19
time43 minutes plus 25/20s43 minutes plus 25/20s


The first round started at 16:00 UTC 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   19×19


Open Division   19×19


The numbers in these tables do not add up as you might expect. One reason for this is that these numbers include a point assigned for each bye. Another may be that they include wins against players which were removed in the early stages of the event and which are not listed.

A bot new to these events was registered for the Open division, Jacques Basaldúa's QYZ. QYZ uses Monte Carlo tree search, guided by direction of play. When finished, it is intended as a replacement for GNU Go as the engine for GoKnot.

Another new bot to register was NineHeadBird, playing as zogoFBot and zogoOBot, by Zong, MengJun. However this was a mistake; he had intended to register for the December event, not for this one. ZogoOBot did appear in time to play in round 2 of the Open division, against IdiotBot, but only made three moves before losing its connection.

As last month, we used Canadian overtime of 25 stones in 20 seconds. The purpose is to ensure that a player that reaches the end of the sensible part of the game within the main time allocation, cannot be made to lose on time by an opponent that plays on pointlessly.

Again no entries were received from MoGo or from CrazyStone. I again accepted an entry from CzechBot, a build of MoGo by Petr Baudiš, on the understanding that I would remove it if MoGo's authors entered their own version.

Formal division

In round 1, ManyFaces received a bye, and AyaMC was drawn against the absent zogoFBot. So only one game was played, between Fuego and CzechBot SGF. In this, CzechBot played its second four stones high, while Fuego played more conventionally around the edge of the board. In the early middle game Fuego appeared to be ahead, but CzechBot came out better from a series of scrappy fights, and Fuego eventually resigned.

Fuego vs AyaMC
Moves 164 and 165.
In round 2, Fuego and AyaMC played a sensible-looking game, in which a big ko appeared on move 114. SGF. Both players fought this competently, using internal ko threats as far as possible, until Fuego ran out of these and AyaMC was able to connect the ko with move 133.
       The result was still close, until AyaMC exploited a "crane's nest" formation, so as to capture three stones, save its six stones on the top edge, and cut off a group in the upper right, as shown to the right.

CzechBot vs ManyFaces1
Moves 15-25.
W20: tenuki.
Also in round 2, CzechBot and ManyFaces1 played the sequence shown to the left SGF. With Black 15 ManyFaces1 started a ladder which clearly does not work. CzechBot presumably knew that it did not work, and felt that it could safely tenuki with move 20. But it was wrong: after the 23-24 exchange, the ladder does work, and ManyFaces1 captured the laddered stones.
       This sequence looked to me like one that might occur between a human dan-player and a human 3-kyu (CzechBot is in fact rated at 3-kyu on KGS). Judging from this sequence, and from others later in the game, CzechBot was being thoroughly outplayed.
       Of course, though CzechBot is a version of MoGo, it was only playing on a dual processor, while ManyFaces1 was running on a fast 32-core system, with 24 times the total power; so we should expect ManyFaces1 to play better. However, it appears that MoGo, a fairly pure MC program, scales better than ManyFaces, which uses MC but incorporates the knowledge of the old classical ManyFaces. MoGo's creators have found that it plays better the more processors it can use, without showing any signs of plateauing; and its best results have been achieved on an 800-node system. But Many Faces not only fails to improve with more than 32 cores, it plays worse. Even 32 may be too many for it: its author David Fotland said in the course of this game "32 core is too fast ... it does so many playouts the Many Faces knowledge is less effective".

In the round 3 game between CzechBot and AyaBot, CzechBot started playing its high stones with move 6 SGF. AyaBot competed with central stones of its own, and survived the scrappy central fighting which ensued. But it lost two groups in the lower right, leaving CzechBot ahead. AyaBot eventually resigned. Meanwhile ManyFaces1 beat Fuego.

AyaMC vs Fuego
Position after move 164.
In round 4, ManyFaces1 again beat CzechBot easily. AyaMC obtained a won position, shown to the right, in its game with Fuego SGF. AyaMC was also ahead on time, with 19 minutes remaining in the position shown, to Fuego's 8 minutes. But it somehow squandered its lead, and Fuego won.

In round 5, ManyFaces1 beat AyaMC, and CzechBot again beat Fuego.

Open division

In round 1, QYZ had some problem after move 110 of its game with break, reconnecting three times. To get the game going again, its operator passed for it, and the game resumed. The problem recurred after move 122, and this time it could not be persuaded to make a move, so he passed for it repeatedly. For move 216, break decided that it could affgord to pass too, and won by the 19 points of territory it had solidly secured, plus komi.
       QYZ's problem recurred in all the games it played, causing it to lose them all. From round 2 on, its operator found a way to resign for it instead of passing. The only point it scored was for a walkover against the missing zogoOBot.

In round 2, SimpleBot played very slowly against break, and lost on time. It also played very slowly in all its other games. This was not a problem for it in round 1, when it had a walkover against the missing zogoOBot, nor round 5, when QYZ, with continuing problems, was resigned by its operator on move 30; but SimpleBot also lost its round 2 and round 3 games on time.

In round 4, WeakBot50k, which had lost its round 1 game and won its other two, won for a third time, while ManyFaces2 was still playing. Until ManyFaces2 also won its round 4 game, WeakBot50k was shown at the top of the score table, ahead of ManyFaces2 on SOS. In this division, a strategy of making legal, and not insane, moves within the time limit can be effective.


Processor numbers, power, etc.

Aya, running on Xeon X5355 2.66GHz 2 CPU (4 cores on each CPU, so all 8 cores)
Aya, running on Opteron 852 2.6GHz 4 CPU (1 core on each CPU)
break, probably running on a single processor Intel(R) Celeron(R), 1.7Ghz
MoGo, running on 2 cores of a four-way Intel(R) Xeon(R) CPU 5130 @ 2GHz
was running on a Xeon E5420 2.5GHz 2x4cores, 8 GB
running on Linux, 4GB RAM, AMD Athlon(tm) 64 X2 Dual Core Processor 4000+ but doing very little computation
Many Faces of Go, running on a 32-core Xeon 3.2GHz: 4 nodes, 8 cores per node, connected by a 40Gbps network
Many Faces of Go, running on a 32-core Xeon 3.2GHz: 4 nodes, 8 cores per node, connected by a 40Gbps network
QYZ (Quasiwise), running on unspecified hardware
Linux, 4GB RAM, AMD Athlon(tm) 64 X2 Dual Core Processor 4000+, but using only one core
running on Linux, 4GB RAM, AMD Athlon(tm) 64 X2 Dual Core Processor 4000+, but using little computing power
zogo, running on an AMD TL-60 (dual 2.0GHz).
zogo, running on an AMD TL-60 (dual 2.0GHz).