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 (see).

The author

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

The name JaVaFo (pronounced yäväfö') comes from concatenating the first and the last letter of the author's three nephews, Johanna, Victoria and Francesco. Therefore, in its correct spelling, J, V, F are all capital letters. Of course, depending on the circumstances, also javafo or JAVAFO are proper spellings, but please never use Javafo, as J, V and F have all the same dignity.

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 (i.e. "build a clone" in programmers' lingo)?

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, Istanbul and Tallinn, the SPPC performed some heavy rewriting on the Dutch rules in order to remove the grandest part of the ambiguities. The rules defined after such Congresses (known as the 2013-rules) stood for a few years, and the most used version of JaVaFo (1.4) was based on them.

The work of the SPPC was not finished yet, and the final push came in 2015 and 2016, at the FIDE Congresses in Abu Dhabi and Baku. First, some amendments were introduced in order to solve problems that were brought to the SPPC attention during the years. Then, the Dutch rules were reworded so deeply that the newly approved text hardly resembles the original one that so many perplexities brought to the readers. 

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, A.10 - Annex 3), JaVaFo 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:

·            standard web page

·            pdf file (note:  in-lined hyper-links  may  or  may  not  work,  depending  on browser  or  personal settings)

·            rar archive

The current version of JaVaFo is 2.2 (made available for the first time on September 15th, 2018 - although programs relying on JaVaFo have started using it since November 2017).

Instructions

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.

Conclusion

As long as it is pronounced properly (again, it is yäväfö') and spelled correctly (again: javafo, JaVaFo and JAVAFO are ok, Javafo is wrong!), JaVaFo is free of charge. Just mention rrweb.org/javafo (i.e. this page) when using it in a commercial product and drop a note to the author (address below) telling him just so.

Although thousands of positive tests have been performed against bbpPairings (at least for the stand-alone program), some unexpected behaviour may always surface. Please report any problems to javafo@rrweb.org.