
SWISS PERFECT PROJECT
---------------------

Round-Robin Pairing Module,  March 1996
=======================================

CONTENTS:

1. Introduction
2. Licence
2. File List
3. Usage
4. Pairing Systems
5. Implementation


1. INTRODUCTION
---------------

This is the first release of the Swiss Perfect 3 Round-Robin
Pairing Module.  The release consists of the source code and
DOS executable which allows testing of the module.

The source code has been compiled successfully on DOS (Turbo C++),
Linux (gcc) and SCO Unix (gcc).

2. LICENCE
----------

This software is distributed under the Swiss Perfect Public
Licence (GNU-like public licence).
Please read copying.txt for details.

2. FILE LIST
------------

Swiss Perfect files:
   sp3rrpar.cpp    - round robin pairing module
   sp3rrpar.h      - header file for sp3rrpar.c
   l_types.h       - Swiss Perfect types

Test harness:
   sprr.cpp        - test program code

Executable
   sprr.exe        - DOS executable of the test program.

   makefile        - makefile for gcc (Linux)

3. USAGE
--------

Usage: sprr [options]

Options:
  -p N      number of players (default 10)
  -m        number of multiple rounds (default 1)
  -d N1-N2  rounds to be displayed (from N1 to N2)
  -r        Rutsch system

Example:
   sprr -p 100 -m 2 -d 152

This example is a request to display round number 152 ( -d 152 )
of a tournament with 100 players ( -p 100 ), played as a double
round-robin (-m 2) using standard pairing system (-r option
not specified).


4. PAIRING SYSTEMS
------------------

The module implements two different pairing methods:
  - standard
  - Rutsch.

The Standard Method
-------------------

This is the most commonly used method.

For N players (assuming N is an even number), in the first round
number 1 plays N, 2 plays N-1 and so on.

Then, in consecutive rounds, each player gets an opponent that has
the number of the opponent from the previous round incremented by
one.

The opponents' numbers wrap around at N-1.  If the player is to
play himself, he plays number N instead.  So pairing for number N
does not follow the general rule.

For example, in a tournament of 8, number 3 gets his opponents
in the following order:      6, 7, 1, 2, 8, 4, 5
Number 8 ( our "N" ) plays:  1, 5, 2, 6, 3, 7, 4


The Rutsch Method (Carousel)
----------------------------

This method is quite popular at lightning tournaments.
Before each round players move by one table clock-wise except
for player number 1 who stays at the first table merely
switching colours.


5. IMPLEMENTATION
-----------------

Both algorithms find pairings for a given round straight away
without having to calculate or know pairings for previous rounds.


--
Author: Robert Rozycki  
email:  rozycki@perth.dialix.oz.au
