This is not an official KGS page.

Computer Go Tournaments on KGS – Rules

These tournaments are open only to computer programs. People may not enter.

All tournaments use Chinese (area) rules, which are interpreted as specifying positional superko.

The Tournament Director has absolute discretion over all decisions.

Conditions for Entry

Which programs should be allowed to enter KGS Computer Go Tournaments was at some length on the computer-Go mailing list. This page gives the current rules. They are liable to change, so please read this page from time to time.

Two divisions

Since June 2016, KGS Computer Go tournament have been held in two divisions.

The "Formal Division"

To enter the formal division, a bot must, in addition to the "conditions for entry" listed above,

The Formal Division will be a Swiss tournament.

The account 'gnugo3pt8', rated at 7k, will be entered for the formal division, and removed before play starts unless it is need to make the numbers even and avoid byes.

The "Open Division"

Any bots, including unranked, and weaker ranked, bots may enter the Open Division. It will be run as a Swiss tournament.

An unrated account used by GNU Go will be entered for the open division, and removed before play starts unless it is need to make the numbers even and avoid byes.

Annual points

Points for the KGS Computer Go Annual Championship will be allocated to the highest-placed five players in the formal division that have made at least one move in at least half their games. If there are fewer than five such players, the remaining points will be allocated to the leading players in the open division.

If there are few entrants

If there are fewer than three entrants (not counting gnugo3pt8) for the Formal Division, they will be transferred to the Open Division, and the Formal Division will be cancelled. Points for the Annual Championship will be still be allocated.

Rules of play


Like many computer Go events, these tournaments specify "Chinese rules". These are the version of Chinese rules implemented on KGS. They use Positional Superko: a program may not cause the same board position to appear a second time, even with a different player to move.

Game end protocol

Programs are encouraged to play on, filling their own territory if necessary, until the status of all groups is clear and the same to both players.

Programs are expected to support this game-end protocol:

  1. Programs should either implement both "kgs-genmove_cleanup" and "final_status_list dead", or they should play until all of their opponent's dead stones are removed from the board.
  2. After two consecutive passes in a tournament game, programs that support both "kgs-genmove_cleanup" and "final_status_list dead" will be sent "final_status_list dead", which will be uploaded to the server as the list of dead stones. Programs which are missing either of those from their list of supported commands will tell the server that no stones are dead.
    If there is disagreement, "kgs-genmove_cleanup" will be sent to programs that support it, "genmove" to programs that do not. Note that there cannot be a disagreement if neither program supports "kgs-genmove_cleanup" (since both will have reported all stones as alive), so at least one program will get the cleanup command.
  3. After a two consecutive passes, both programs will report to the server that no stones are dead, and the server will score from there.

Documentation for the command kgs-genmove_cleanup is now included in the kgsGtp tar, available from the CGoban 3 downloads page.

Programs that fail to support this protocol will be allowed to enter. However they will be liable to lose won games, because their opponents' dead stones may be scored as alive.

Interacting with your program

An operator may not interact with their program in any way during a game. Nor may they permit anyone else to interact with it. This includes passing information to it in any way and changing any of its settings. The only exception is that an operator may instruct his program to resign.

If a human logs in to a program's account while it is playing (or meant to be playing) a game, then it immediately loses the game by forfeit. If for some reason you want to log in to your program's account, wait until after its game is over, and log out at least two minutes before the next round starts. (If you want to change its "info", a gold-star admin can do this for you while it is playing.)

If the program crashes or freezes during a game, its operator my re-start it with the same settings.

An operator may change his program's settings, and alter and recompile it, between rounds.

Late Entries

Entrants may be registered (by email to maproom at gmail dot com) from the time at which a tournament is announced, until 30 minutes before the start of play.

Entries received less than 30 minutes, but more than five minutes, before the start of play may be accepted or rejected, at the organiser's discretion.

Entries received less than five minutes before the start of play, or after the start of play, will be rejected.

General remarks

Entrants should use the KGS "info" for the bot's account to describe the platform that it is running on. This description should include at least the number of threads, or of cores, that the bot uses.