Christoph Gerlach's Homepage

Home


Personals
... about me


Comic books by Andreas Fecke


MacMahon, my pairing program for Go tournaments


My favorite Music


Promoting Go


Picture Galleries

Impressum

 

Christoph

 

Copyright © 2005 by Christoph Gerlach

mm_icon.jpg (2370 Byte) MacMahon 2.48

A pairing program for Go tournaments by Christoph Gerlach

 

This page contains information about the pairing program for Go tournaments that I wrote. It is also possible to download the current version of my program from here.

See the archive for examples of tournament-files.

Purpose: My program helps you to handle a Go tournament running the MacMahon or the Swiss System (which is a special case of the MacMahon-System). It lets you register players, do pairings, enter results, print lists and so on. I promise you my program can do more than any other pairing program can. Almost everything of the MacMahon specification (is there a definitive?) is supported as various tie breakers (SOS, SOSOS, SODOS, CUSS, ...) and a super-macmahon-group. I cannot list all the features here. Download the current version and try yourself.

The program can also be used with other board games that are played one-on-one like Chess, Shogi, Abalone, ...

Pairing algorithm: As far as I know my program is the only one which has an exact algorithm for the optimization. The pairings are generated in two steps. The first evaluates the matches between each pair of players. The evaluation-function (cost-function) is equivalent to the MacMahon-System (not exact in any case; e.g. the seeding of players within one group is a heuristic - not in all situations this part of the cost-functions will have it's minimum where it should be according to the MacMahon-System, but this is more or less a theoretical result - I didn't find many examples for this in reality). This first step is more or less the same as in most of the other pairing programs. The second step is the optimization. And here the "maximum weight perfect matching algorithm" by Edmonds (invented at the end of the sixties) guarantees the optimum pairing according to the evaluation in the first step. This is a big advantage compared with other pairing programs. What is a good evaluation function worth if the optimization part has it's own mind of what a good pairing is like?
Almost all parameters of the evaluation function can be influenced by you. This will not be necessary in most cases but if you are running tournaments for special purposes the default parameters may not fit well. If you want to run a strict MacMahon-System (not looking at club or countries of the participants and some other things) you will have to change some parameters. For more information take a look at the "algorithm options"-dialog in my program.

System requirements: "MacMahon" runs on Windows 95 and higher (95, 98, NT 4.0, Windows 2000 or XP; "MacMahon" will probably still run under Windows 3.1 but I couldn't test this...). The CPU has to be a 386 at least. RAM should be 4 MB at least and 8 MB recommended.

Using conditions: The use of my program in Go tournaments is free in 2005 (worldwide) as it was in the last years as well. I expect not to have to pay an entry fee if I attend your tournament and you are using my program.

I want to keep the option to change this from year to year. So you have to check this before using my program in 2006 (watch this space or ask me). It would be nice if you could send me the tournament file of your tournament after you used my program.
Anyway I cannot take any warranty for anything. If your tournament crashes (or anything else) because of my program you cannot charge me. You have to accept this before using my program.

References: "MacMahon" is used in most of the important tournaments in Europe (and many others): Paris (2001), Amsterdam (2001), Hamburg (2002), European Championships in Abano/Italy (1996), Luminy/France (1997), Mamaia/Romania (1998), Podbanske/Slowakia (1999), Strausberg/Germany (2000) and Zagreb/Croatia (2002).

Download: Version 2.48 (Zip-Archive, released 2005-10-31, ca. 155 KByte)

And my thesis (German language, sorry): My thesis in PDF-Format (ca. 270 KByte). You will need Acrobat Reader to view/print the file.
In my thesis you will find a description of the MacMahon-System and a detailed explanation of the optimization algorithm.

Next Versions: I am completely rewriting my pairing program (still). The pairing algorithm and most features of the MacMahon-System will not change but it will have a redesigned user interface. If you have any suggestions for an improved user interface this is the time to send me a mail with your ideas! Anyway the release of a 3.0-Version is postponed to 2005 or later due to my other activities. Instead I will keep releasing 2.xx-Versions if necessary or useful.

Known Problems:

  • Long Filenames are not supported with Windows 2000 or XP. (Annoying)

  • At least in one case the usage of seeding by rating in round 2 resulted in an unacceptable pairing.

  • The "Algorithm Progress Window" does not work on all machines. Sometimes just strange things happens, sometimes the program crashes. If you want this window (turn on the switch in the "Other Options..."-Dialog), you should save your data before running a pairing.

  • Under Windows XP the program might crash during the making of a pairing. Run MacMahon in Windows-98-Mode to avoid this problem.


Contact me:
Christoph Gerlach
In der Steinriede 3
30161 Hannover
Germany

Tel.: +49-511-7000552
e-mail: christoph@cgerlach.de


Last modified: 2005-10-31