SCHEDULING OF TOURNAMENTS

JIM MORROW

Abstract. This paper is a description of an algorithm to schedule a round-robin tournament. A reference is Rosen Elementary Number Theory and its Applications, p. 158.

Here is a recipe for scheduling round-robin tournaments or league play. First let us assume that there are an odd number of teams and that we want each team to play each other team exactly once. If there are N teams, each team will play N − 1 matches. Since there are an odd number of teams, each week some team will have a bye. The Schedule will thus be N weeks long. Let the numbers 1, ⋯, N represent the teams. For the first week, take the numbers 1, ⋯, N and reverse them to get N, ⋯, 1 and place the reversed numbers under the original numbers as follows (an example will be given with N = 9):

(\begin{matrix}1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 \\ 9 & 8 & 7 & 6 & 5 & 4 & 3 & 2 & 1 \end{matrix})

The first week’s schedule will be:

team 1 2 3 4 5
opponent 9 8 7 6 B

where B denotes a bye. To find the next week’s schedule we shift the numbers by one:

(\begin{matrix}1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 \\ 8 & 7 & 6 & 5 & 4 & 3 & 2 & 1 & 9 \end{matrix})

to get:

team 1 2 3 4 9
opponent 8 7 6 5 B

Date: November 15, 1995.

In this scheme, each time a team is paired with itself, it gets a bye. The final result can be given by a matrix:

team 1 2 3 4 5 6 7 8 9

match

1  9 8 7 6 B 4 3 2 1
2  8 7 6 5 4 3 2 1 B
3  7 6 5 B 3 2 1 9 8
4  6 5 4 3 2 1 9 B 7
5  5 4 B 2 1 9 8 7 6
6  4 3 2 1 9 8 B 6 5
7  3 B 1 9 8 7 6 5 4
8  2 1 9 8 7 B 5 4 3
9  B 9 8 7 6 5 4 3 2

This scheme can be extended to an even number, N = 2n, of teams by scheduling the first N − 1 teams and then replacing the B in the schedule matrix by the team with number N. For example to schedule ten teams, replace the B in the above matrix with 10.

There is a short hand way of doing the above scheduling. It is not necessary to string out all of the numbers 1, ⋯, N and then the numbers N, ⋯, 1. Just start at any number (say 1) and fold the numbers back over themselves:

\binom{1 2 3 4 5}{9 8 7 6}

In this scheme 1 gets a bye and 2 plays 9, 3 plays 8, etc. Next start with 2:

\binom{2 3 4 5 6}{1 9 8 7}

Now 2 gets a bye, 3 plays 1, 4 plays 9, etc. This also produces a legal schedule.

If number of teams is odd, so that each team plays an even number of games, there is an easy way to schedule home and away games. Suppose team i plays team j. Suppose also that i < j. If i + j is odd then i is the home team. If i + j is even then j is the home team. Then each team plays half of its games at home and half away. For example in match number 3 in the above nine team schedule, team 8 is the home team and team 9 is away.