Pairing players during a Go tournament is a complex task. One must register the players, pair them using a pairing system, gather the results and display the information to the players. Several standalone programs offer these functionalities, however they are often game-specific and maintained and developed by a single person. The pairing itself is non-trivial, because of different pairing systems and of many parameters influencing them. This creates challenges for an intuitive user interface which can be used by non-experts tournament organizers. In this article, Pairgoth is presented, a new pairing software inspired from Opengotha, a mainstream Go pairing software heavily used in Europe. Several improvements have been added to the pairing algorithm, which has also been made more generic. New pairing systems can easily be implemented in Pairgoth. Although initially designed for Go, it can easily be used for other games such as Chess, Shogi or Scrabble. Pairgoth consists of a pairing engine coupled with a web-based user interface. This allows management of the tournament from several machines, including smartphones. It already supports Swiss and MacMahon pairing systems, while more options are currently under development (Round-Robin, accelerated Swiss, Amalfi, …). Pairgoth was tested in real conditions at the international Grenoble tournament (TIGGRE 2024, 5 rounds Mac-Mahon tournament with top group and super top-group, 158 players from 29k to 7d) and at international Paris tournament (51st TIP, 6 rounds Mac-Mahon tournament with top-group, 160 players from 30k to 8d). Pairgoth was also successfully used during the 2024 European Go Congress in Toulouse, where nearly a thousand players participated. It was used for the prestigious main tournament as well as the majority of the side tournaments. It was recently used in the 2024 KPMC edition, making Pairgoth used in several countries. On top of presenting Pairgoth, this article also tackles challenges encountered in pairing engines such as deterministic randomness, non-uniqueness of pairings, and the computation of fair standing criteria.
Read full abstract