Ninetieth KGS Computer Go Tournament

Sunday February 3rd, 2013

These results also appear on an official KGS page.


format32-round Swiss
board size9×9
time4 minutes plus 10/30s


The first round started at 16:00 UTC.

Result table

Crazy stv Zen19 AyaMC ManyF Orego oakfo gnugo
B13R W092 B01316 W0192 B124R J31 W0740 J10 W1112 B118R W02074 B1272 W1302 W12R B18R J23 B129R W132R B148 W01228 B01725 W126R B1282 W11R B114R W125R W16R B116R W122R W1516 B1152 W12124 23½533½330½Winner
2stv W03R B192 W11316 B1192 W024R J31
W06R B015R W017R B021R W1262 B029R W04R B110R W020R B122R W130R W122 J8 W11446 B1162 W1232 W15R B111R W128R W17R B112R W127R B132R B118 W1188 B1252 22531½301½
3Zen19S B1740 J10 B0112 W018R B12074 W0272 B0302 B16R W115R B117R W121R B0262 W129R
B15R W114R B116R W125R W01F B11310 W1198 B122R W131T W04F B19R W124R B032T B03F W18R B123R B02F W11234 B12844 21½543½348
4AyaMC B02R W08R J23 W029R B032R B14R W010R B120R W022R B030R W05R B014R W016R B025R
W06R B194 W015R J24 W13R J12 W119R B121R W127R B11R W111R B118R W128R B131R B1710 W11322 B11712 W1266 17½510176½
5ManyFaces1 W048 B11228 W11725 B026R W0282 B022 J8 B01446 W0162 B0232 B11F W01310 B0198 W022R B031T B16R W094 B115R J24
W17R B118R W130R W054 B110R W121R B125R W129R B1334 W11114 B12022 W12718 B032T 17510½196½
6Orego12 B01R W014R B025R B05R W011R B028R B14F W09R B024R W132T B03R J12 B019R W021R B027R B07R W018R B030R
W12R B113R J15 B117R W120R B026R J6 B182 W1102 B1162 J22 B1232 W029R B1314 13448101
7oakfoam B06R W016R B022R B07R W012R B027R W032R W13F B08R W023R W01R B011R W018R B028R W031R B154 W010R B021R W025R B029R B02R W013R J15 W017R B020R W126R
B148 W1927 B11412 W11923 B124R W13020 497½75½
8gnugo3pt8 B0516 W0152 B02124 W018 B0188 W0252 W12F B01234 W02844 W0710 B01322 W01712 B0266 W0334 B01114 W02022 B02718 W132T J6 W082 B0102 W0162 J22 W0232 B129R W0314 W048 B0927 W01412 B01923 W024R B03020

In the table above,
   0 is a loss
   1 is a win
   J is jigo
   left superscript is the player's colour
   right superscript is the round in which the game was played
   a subscript shows how the result was determined:
      R for resignation
      T for time
      F for forfeit
      a number for the points difference after counting.
All the 0s, 1s and Js are links to the game record.

Excluding forfeited games, Black won 60 games, White won 55 games, and there were 9 jigoes.

Seven players registered for the tournament. I therefore added GNU Go, running on a single processor of my own desktop PC. I believe that having this play is better than having byes. GNU Go is so weak that it is unlikely to affect the result, but strong enough that it can win the occasional game.


At the start of round 1, Zen19S was not connected to KGS. Its operator was asleep, and his alarm clock had failed to ring. However he woke up later, and got Zen19S working in time to play in round 5. So Zen19S forfeited its games in the first four rounds.

Zen19S vs oakfoam
At game end

In round 8, oakfoam and Zen19S both passed in the position shown to the right. Zen19S listed the dead groups correctly, but oakfoam claimed that its group in the bottom right was alive. I don't know whether it failed to understand that this "bent four in the corner" group can be killed, or whether it optimistically claims that all its stones are alive. (I wish KGS included these claims in the game record, rather than just the statement "Disagreement over tournament scoring. Switching to cleanup mode.") So the clean-up phase started, and oakfoam immediately resigned. In round 23 another game between Zen19S and oakfoam ended in the same way.

After 16 rounds, the scores were stv 11½,  CrazyStone 11½,  Zen19S 10½,  ManyFaces1 8½,  AyaMC 7½,  Orego12 7½,  oakfoam 5½,  gnugo3pt8 1½. So it looked as if Zen19S might win, despite forfeiting its first four games.

In round 19, oakfoam and gnugo3pt8 failed to agree on the status of some groups at the end of the game, and so the clean-up phase started. Gnugo3pt8 passed instead of capturing any of oakfoam's dead groups, and so lost, in a won position. This surprised me. I had thought that GNU Go handled such situations correctly. I wonder if its "--monte-carlo" flag, which I had set for this event, somehow disables its handling of the clean-up phase. In round 30, another game between oakfoam and gnugo3pt8 ended in the same way.

In round 20, Zen19S beat CrazyStone by killing all its stones. This put Zen19S in the lead (on tie-break).

After 24 rounds, the scores were Zen19S 17½,  CrazyStone 16,  stv 15½,  AyaMC 13½,  ManyFaces1 13,  Orego12 11,  oakfoam 7½,  gnugo3pt8 2.

After 28 rounds, the scores were CrazyStone 20,  Zen19S 19½,  stv 19½,  AyaMC 16½,  ManyFaces1 15,  Orego12 11,  oakfoam 8½,  gnugo3pt8 2.

In round 32, Manyfaces1 joined its game with gnugo3pt8, but never made a move, and lost on time.

Also in round 32, Zen19S killed all Orego12's stones, but was disconnected by its operator before the game had formally ended. So Zen19S lost on time.

Annual points

Players receive points for the 2013 Annual KGS Bot Championship as follows:

Crazy Stone8
Many Faces of Go1

Details of processor numbers, power, etc.

Aya, running all 12 threads on an i7-980X 3.3GHz 6cores +HT.
Crazy Stone, running on a 24-core PC.
GNU Go version 3.8, running with Monte-Carlo enabled, on a single 3.3GHz Intel i5-2500 CPU.
Many Faces of Go, running on an Amazon EC2 Cluster Compute Eight Extra Large Instance, 2 x Intel Xeon E5-2670, using 16 cores, 16 threads, and 48 GB of memory.
oakfoam, running 20 threads on 2 x Intel Xeon E5645 @ 2.4 GHz.
Orego, running on one node of our custom Linux cluster Fido. The node has two AMD Six Core Opteron 2427 2.2 GHz processors (12 cores total), 8 GB RAM, Centos Linux.
Steenvreter version r137, running on an AMD system with 46 threads at 2.2Ghz.
Zen, running on a mini-cluster of a dual 6-core Xeon X5680@4 GHz 24GB RAM, a 6-core i7 3930K@4 GHz 16 GB RAM, a 6-core Xeon W3680@4 GHz 12 GB RAM, and a 6-core i7 980X@4 GHz 6 GB RAM computers connected via a GbE LAN. 30 cores total.