All-play-all tournaments

competition_type string: "allplayall".

In an all-play-all tournament the control file lists a number of players (the competitors), and games are played between each possible pairing.

All games are played with no handicap and with the same komi. The players in each pairing will swap colours in successive games.

For most purposes an all-play-all tournament is equivalent to a playoff tournament with a matchup defined for each pair of competitors; the main difference is that reports include a results summary grid.

The tournament runs until rounds games have been played between each pairing (indefinitely, if rounds is unset).

Sample control file

Here is a sample control file:

competition_type = 'allplayall'

players = {
    'gnugo-l1' : Player("gnugo --mode=gtp --chinese-rules "
                        "--capture-all-dead --level=1"),

    'gnugo-l2' : Player("gnugo --mode=gtp --chinese-rules "
                        "--capture-all-dead --level=2"),

    'gnugo-l3' : Player("gnugo --mode=gtp --chinese-rules "
                        "--capture-all-dead --level=3"),

board_size = 9
komi = 6

rounds = 20
competitors = ['gnugo-l1', 'gnugo-l2', 'gnugo-l3']

Control file settings

The following settings can be set at the top level of the control file:

All common settings.

The following game settings: board_size, komi, move_limit, scorer.

The following additional settings:


List of player codes.

This defines which players will take part. Reports will list the players in the order in which they appear here. You may not list the same player more than once.


Integer (default None)

The number of games to play for each pairing. If you leave this unset, the tournament will continue indefinitely.

The only required settings are competition_type, players, competitors, board_size, and komi.


The live display and competition report summarise the tournament results in the form of a grid, for example:

            A   B   C
A gnugo-l1     4-5 3-5
B gnugo-l2 5-4     3-5
C gnugo-l3 5-3 5-3

Each row shows the number of wins and losses for the player named on that row against each opponent (in the example, gnugo-l1 has won 4 games and lost 5 against gnugo-l2).

If any games have unknown results (because they could not be scored, or reached the move_limit), they will not be shown in the grid.

The competition report also shows full details of each pairing in the same style as playoff tournaments.

For purposes of the tournament results API, the matchup ids are of the form AvB (using the competitor letters shown in the results grid).

Changing the control file between runs

You can add new players to the end of the competitors list between runs, but you may not remove or reorder competitors.