Vibe ChessVibe Chess

JaVaFo: референсный движок жеребьёвки ФИДЕ

JaVaFo - движок жеребьёвки, который считается эталонной реализацией голландской системы. Сам по себе он не нужен организатору: это деталь под капотом судейских программ. Но знать о нём полезно - именно с ним сверяются все остальные. Другой открытый движок - bbpPairings.

Что это такое

JaVaFo - программа на Java, реализующая правила швейцарской системы Dutch. Её автор - Роберто Рикка, участвующий в работе комиссии ФИДЕ по программам жеребьёвки.

Как и bbpPairings, это не менеджер турнира: у движка нет интерфейса, списка участников и таблицы. Он получает файл с историей турнира и возвращает пары следующего тура - формат TRF.

Особый статус JaVaFo в том, что он служит образцом: реализации других разработчиков проверяют, совпадают ли их пары с тем, что даёт эталон.

Где применяется

  • Внутри судейских программ. Ряд менеджеров турниров использует его как расчётный модуль - организатор при этом видит только интерфейс программы.
  • Для проверки жеребьёвки. Спорную жеребьёвку можно пересчитать эталонным движком и сравнить результат.
  • При разработке. Те, кто пишет свои турнирные системы, сверяют вывод с эталоном.

Организатору любительского турнира JaVaFo сам по себе не понадобится ни разу. Полезно другое: знать, что «правильная» жеребьёвка - это не мнение судьи, а воспроизводимый расчёт, который можно проверить.

JaVaFo и bbpPairings

JaVaFobbpPairings
ЯзыкJavaC++
Статусреференсная реализация Dutchоткрытая реализация Dutch и Burstein
Интерфейснет, консольный запускнет, консольный запуск
Обмен даннымиTRFTRF
Где встречаетсявнутри судейских программLichess, SwissSys, свои сервисы, Vibe Chess

Интерфейс bbpPairings сознательно сделан похожим на JaVaFo - с разрешения автора эталона. Поэтому программы, умеющие работать с одним, обычно легко переключаются на другой.

В приложении Vibe Chess используется bbpPairings: он открыт, компилируется в обычный бинарник и не требует Java на сервере.

Зачем об этом знать организатору

Одна практическая мысль: жеребьёвка - это расчёт, а не решение человека. У неё есть эталон, и любые пары можно проверить.

Это снимает целый класс конфликтов. На вопрос «почему меня свели с ним» есть ответ: так посчитала программа по правилам ФИДЕ, и пересчёт эталонным движком дал бы то же самое. Именно поэтому в положении стоит писать «компьютерная жеребьёвка» - положение о турнире.

И вторая: программы жеребьёвки взаимозаменяемы, потому что говорят на одном языке - TRF. Турнир, начатый в одной программе, при необходимости досчитывается в другой.

Жеребьёвка без ручной работы

Проведём турнир, где пары считает движок по правилам ФИДЕ, а таблица обновляется сама. Напишите Алексею Сухорукову в Telegram: @mr_suhorukov.

Частые вопросы о JaVaFo

Что такое JaVaFo?

Движок жеребьёвки на Java, считающийся эталонной реализацией швейцарской системы Dutch. Интерфейса у него нет: он получает файл с историей турнира в формате TRF и возвращает пары следующего тура.

Нужен ли JaVaFo организатору турнира?

Нет. Это техническая деталь внутри судейских программ. Организатор работает с программой, а не с движком напрямую. Знать о нём полезно только чтобы понимать: жеребьёвка - воспроизводимый расчёт, который можно проверить.

Чем JaVaFo отличается от bbpPairings?

Языком и статусом: JaVaFo написан на Java и служит эталоном, bbpPairings - на C++ и реализует помимо Dutch ещё и Burstein. Оба работают через формат TRF и не имеют интерфейса. Интерфейс bbpPairings намеренно похож на JaVaFo.

Можно ли проверить жеребьёвку своего турнира?

Да, в этом и смысл эталона: файл турнира можно пересчитать другим движком и сравнить пары. На практике до этого доходит редко, но сам факт проверяемости - хороший аргумент в споре с участником.

Приложение для турниров

Турнир на вечер: от идеи до итоговой таблицы

Самая тяжёлая часть любительского турнира - не найти игроков, а расписать туры и не запутаться в очках. Эту часть закрывает приложение, причём бесплатно и без регистрации по анкете.

  • Швейцарская
    4-5 туров за вечер даже при большом составе
  • Круговая
    когда собрались своим кругом и хочется сыграть со всеми
  • Свободная встреча
    когда турнирная строгость не нужна - просто вечер шахмат

Не только бот: приложение, правила ФИДЕ и отчёт TRF

  • Приложение. Кроме бота есть приложение - в Telegram и просто по ссылке vibechess.ru/app: афиша событий города, состав турнира, живая таблица, ход тура, профиль и история партий - всё, что неудобно читать сообщениями.
  • Жеребьёвка по правилам ФИДЕ. Пары считает bbpPairings - открытый движок, реализующий систему Dutch: группы по очкам, переносы при нечётном составе, чередование цветов, без повторных встреч и без двух BYE подряд.
  • Отчёт в формате TRF. Завершённый турнир выгружается одним файлом в формате обмена данными ФИДЕ - его принимают судейские программы и федерации. В профиле для этого есть ID ФИДЕ, код ФШР, звание, пол и дата рождения.
  • Бесплатно. Всё перечисленное - без подписок, платных тарифов и лимитов на число турниров и участников.

Подробный обзор

Не хватает функции? Напишите разработчикам

Бот постоянно дорабатывается под реальные турниры. Если вам нужна возможность, которой пока нет, - командой /support прямо в боте напишите разработчикам. Многие функции появились именно по просьбам организаторов, и полезные идеи внедряются быстро.

Что почитать дальше

Открытый движок - bbpPairings. Формат обмена - TRF. Программы - Swiss-Manager, Vega.