Project Outline: Swiss System Pairing Application

The Swiss System is an administrative system for conducting chess tournaments. The principles of the Swiss System are that every player plays in every round, no players play each other more than once, players should play others with the same score, and players should play as many games with the White pieces as the Black. In addition to calculating the pairings for each round of the tournament, the tool should calculate the players’ ratings at the end of the tournament. There are lots of special cases to consider and variants of the rules.

For further information, check out the following:

Subsystems

Registration

The Registration subsystem is responsible for accepting players as they register and assigning a unique identifier for each player. Registration may continue after the beginning of the tournament.

Pairings

The Pairings subsystem calculates the pairings for the forthcoming round given the players’ scores, their previous pairings and other information about the players. Occasional re-pairing may be necessary to override the automatically chosen pairings.

Results

The Results subsystem is responsible for accepting results as they come in and updating the tournament table. There are special rules for byes, re-entries, and provisional results for pairing purposes of games that are not finished by the start of the next round, so the results for pairing, ratings calculation and tournament scores are not always the same.

Ratings

The Ratings subsystem is responsible for calculatingplayers’ tournament ratings (the strength with which they played during the tournament given the ratings of their opponents) and the players’ new ratings (a weighted average of a player’s rating beforehand and his or her tournament rating).

Performance
The Performance subsystem simulates the actual playing of games, using a probability distribution of rating differences between paired players to generate a pseudo-random result for each game. The Performance subsystem is necessary for system testing, but would be replaced in real use by the user interface of the Results subsystem.


Back to 3300 home page