JaVaFo, a pairing engine
for the FIDE (Dutch) System
JaVaFo is the name of a program that implements the pairing rules of the Swiss System called “FIDE (Dutch) System”, described in the FIDE handbook, chapter C.04.3.
JaVaFo is authored and intellectually owned by Roberto Ricca, former programmer, International Arbiter and current Secretary of the FIDE Commission “Systems of Pairings and Programs” (SPPC), formerly known as “Swiss Pairings Programs”.
The name JaVaFo
(pronounced yäväfö') comes from
concatenating the first and the last letter of the author's three nephews,
The FIDE Dutch Algorithm
The Dutch System has been brought to FIDE by the Dutch International Arbiter Geurt Gijssen in the early Nineties, and it has quickly become the main pairing system supported by FIDE. The most important activity of the FIDE Commission dedicated to the definition of pairing systems (the aforementioned SPPC) has been the continuous tweaking of the system wording or of its behaviour, in order to reach a more broad comprehensibility.
Since 2016, the system is being called FIDE (Dutch) System and has a section of the handbook (C.04.3) exclusively dedicated to it, while the other FIDE-supported systems are presented altogether in sub-sections of the ensuing section (C.04.4).
A bit of history
In its original presentation, the wording of the Dutch System was more similar to a software algorithm than a classical set of rules. There was a good reason behind that. In fact, the legend says that first came the Swiss Master program that was implementing the Dutch System, then the rules to be published by FIDE were modelled on the behaviour of such program.
This dichotomy in the Dutch rules was, for quite a long time, the main source of confusion for both arbiters and programmers: should they follow (implement) the rules described in the handbook or behave as Swiss Master was behaving (build a clone for programmers)?
On top of that, at least until 2011, the FIDE handbook (at that time, section C.04.1, called “Swiss System Based On Rating”) was not very helpful, as some of its rules, perhaps because of how they were born, were ambiguous when not inconsistent. The end-result of this was that there were some situations (rather extreme situations, indeed) in which different officially FIDE endorsed programs produced different pairings, even in top brackets. And all of them could be right!
From 2011 to 2013, at the FIDE Congresses in Krakow,
The work of the SPPC was not finished yet, and the
final push came in 2015 and 2016, at the FIDE Congresses in
The pairing engine
Helped by the role that its author has in the SPPC, JaVafo has often been the first pairing engine available complying with any rule adjustment made by the SPPC.
Although, after bbpPairings (see) was released in August 2016, JaVaFo cannot be considered any more the best product on the market, it is still a decent benchmark against which to test other pairing engines.
Or even use it tout-court.
As confirmed by the list of FIDE Endorsed Programs (Section C.04, Appendix A, Annex 3), JaVaFo (particularly, its older version 1.4) is the pairing engine of a few such programs, after the respective authors used the notes shown here, similar to the following ones, to integrate JaVaFo in their tournament-manager.
An Advanced User Manual (JaVaFo-AUM) is available in various formats:
· pdf file (note: in-lined hyper-links may or may not work, depending on browser or personal settings)
The current version of JaVaFo is 2.1 (made available for the first time on February 1st, 2017).
JaVaFo is written in Java (there are no relationships between the names Java and JaVaFo - it is just a coincidence). As said in the manual, JaVaFo can be used either as a stand-alone program by everyone or, with some manouvering, as a standard java-archive by a Java developer.
In order to use JaVaFo as stand-alone program, a computer needs a Java Virtual Machine (JVM) to run it. Very likely, it already has it. To find it out, go to the Control Panel and look for a "Java" icon among all Control Panel items. If there is such icon, Java is already installed, and just its version may need a check: double-click on the Java icon or on the corresponding link, select tab General, then press button About: a pop-up window will report the current version. JaVaFo has been prepared using Java version-7, so any version of Java equal to 7 or greater, ensures a proper working of JaVaFo.
If there's no "Java" icon up there, just go to the official java site (www.java.com), follow the instructions to download the latest release of Java for the computer operating system, then install it using an 'Administrator' account - this is a very simple and straightforward operation, which will require just a few minutes.
Once all of this has been done, a computer is ready to run JaVaFo.
As long as it is pronounced properly (again, it is yäväfö') and spelled
correctly (again: javafo, JaVaFo and
JAVAFO are ok,
Although thousands of positive tests have been performed against bbpPairings (at least for the stand-alone program), the product is a new one and some unexpected behaviour may surface. Please report any problems to firstname.lastname@example.org.