Tennis Tournament Generator (ttg)

alracTTG (Alrac's Tennis Tournament Generator)

What does it do?

AlracTTG tries to create a schedule for a tennis tournament, for example this one:

  • Number of players: 24
  • Number of games for each player: 3
  • Number of tennis courts: 6
  • Type of game: double

The tournament should have the following properties:

  • Players are redistributed in each round.
  • Two players should meet each other at most once.
  • Male/female distribution is as even as possible in each game.
  • In each game, the strength on both sides of the net is as even as possible.

So, this looks like a round-robin schedule, but here it is the case that not everybody plays against everybody else. Moreover: the teams (if you choose 'double') are not fixed, but shuffled as much as possible.

Implementation

AlracTTG runs in a web browser

AlracTTG is implemented using JavaScript and jQuery and runs in a web browser because:

  • Web browsers are available on most systems (Windows, Linux, OpenBSD, Android, ...).
  • Buttons, css, printing and so an are available without much programming effort.
  • The computations take place in the browser, there is no communication from the browser to a server, so the user doesn't have to worry about the privacy of the players. It is even possible to run alracTTG without an internet connection (exception: at this moment (feb 2020) the 'Epiphany' browser refuses to load local JavaScript files).

OK, you should check the code if you want to see if above statement is true...

Comma Separated Values used for import and export

For input and output of data, the csv (Comma Separated Values) format is used, which allows pre- and post processing using a spreadsheet program like MS-excel. Normally, the first input will be done using the built-in editor.

The output contains all results, so, with some practice, it is possible to adapt the results to your taste.

Genetic algorithm to find optimal solution

The schedule is computed using a simple genetic algorithm with crossing and mutation. A comprehensive description of genetic algorithms is available on Wikipedia.

Languages

It is the intention to make the program multi-lingual. At this moment the program speaks Dutch, English, German, Spanish, French, Finnish and Russian.

It should be noted, that most translations are done using Google-translate. Improvements are certainly possible.

Looking for another kind of tournament generator?

There are many tournament generators on the web, but not all of them are for free and for some you have to tell who you are in order to see the results.

A quick search gave this results:

There are more, but I did not find a free free program that does about the same as alracTTG. Let me know if I am wrong.