Документация Ultisport.ru
  • 🥏Для Игроков
    • Как зарегистрироваться
    • Как вступить в команду
    • Форма Расширенной Регистрации и Отказ от Ответственности
    • Отказ от ответственности в спортивных мероприятиях: Что это и зачем оно нужно?
    • Правила расчета групп
  • Как работает наш алгоритм швейцарской системы
  • 👬Для менеджеров команд
    • Как создать команду
    • Как добавить игроков в команду
    • Как принять игрока в команду
    • Как зарегистрировать команду на турнир
    • Как отправить ростер
    • Как редактировать ростер на турнир
    • Отправка списка персонала команды
    • Как поставить дух игры
    • Как снять заявку с турнира
    • Форма Расширенной Регистрации и Отказ от Ответственности
    • Оплата сборов
  • 👩‍💻 Для стафов
    • Вступление
    • Ведение игры
      • Как начать игру
      • Как добавлять очки
      • Как отредактировать очко
      • Как удалить очко
      • Как включить таймаут
      • Как включить халфтайм
      • Как поставить игру на паузу
      • Как отредактировать ростер команды
      • Как принудительно завершить игру
      • Как отрегулировать время игры
      • Как найти регламент?
      • Если пропал интернет
    • Мониторинг Духа Игры
  • 💼Для организаторов
    • Введение
    • Создание события
    • Редактирование информации о турнире
      • Информация о турнире
      • Формат турнира
      • Даты
      • Стадионы
      • Регламент
    • Турнир/Лига
      • Расширенная форма регистрации команды
      • Расширенная форма регистрации игрока и отказ от ответственности
      • Сборы и платежи
        • Управление сборами
        • Способы оплаты
        • Отслеживание платежей
      • Принятие заявок команд
      • Редактирование команд
      • Редактирование ростеров
    • Шляпный турнир
      • Прием заявок
      • Принятие заявок игроков
      • Создание команд
      • Распределение игроков
    • Сетка и расписание
    • Управление персоналом
    • Завершение мероприятия
    • FAQ
  • Передача игровых событий в vMix/OBS
  • 🚫Политика сайта
    • Публичная оферта на оказание услуг
    • Политика в отношении обработки персональных данных
    • Политика обработки файлов cookie
    • Как удалить свой аккаунт?
Powered by GitBook
On this page
  • Цель алгоритма
  • Как работает алгоритм
  • Как считаются штрафные баллы

Was this helpful?

Как работает наш алгоритм швейцарской системы

Last updated 2 days ago

Was this helpful?

В основе нашей системы лежит модифицированный алгоритм, изначально разработанный для турнира Windmill. Он основан на модели рейтинга силы команд и принципах швейцарской системы. Мы адаптировали этот подход под наши нужды — сделали его более гибким, с возможностью настраивать параметры для локальных и международных турниров.

Подробности о математике, лежащей в основе рейтинга силы, можно найти здесь:

Цель алгоритма

Главная задача — сделать матчи максимально интересными, равными по силам и напряжёнными. Мы стремимся к играм, в которых результат решается на последних минутах, а не в одностороннем разгроме. Чтобы это получилось, пары команд подбираются не случайно, а на основе актуальной силы каждого участника.

Как работает алгоритм

Алгоритм состоит из двух этапов:

  1. Расчёт силы команд

  2. Составление пар на следующий тур

Этап 1. Расчёт силы команд

После каждого тура мы обрабатываем все результаты и создаём матрицу матчей, где учитывается каждая сыгранная игра и её счёт.

На основе этих данных рассчитывается рейтинговая сила команды. Принцип такой:

  • Если команда A выиграла у команды B с разницей в 5 очков, то A получает +2.5 балла силы, а B — -2.5.

  • Если потом B выигрывает у C с разницей в 5 очков, то это влияет и на относительную силу A по сравнению с C.

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

Этап 2. Составление пар

Когда сила команд определена, система подбирает пары для следующего раунда. Для этого создаётся матрица всех возможных пар, и каждой паре присваиваются штрафные баллы — они отражают, насколько плохо эта пара подходит (например, из-за большой разницы в силе или других факторов).

Затем алгоритм выбирает такие пары, чтобы суммарное количество штрафных баллов во всём туре было минимальным.

    A     B     C     D
A   X    10    30    20
B  10     X    20    40
C  30    20     X    10
D  20    40    10     X

В этом случае оптимальным будет:

  • A против B

  • C против D

Суммарный штраф — 20, что минимально из всех возможных вариантов.

Как считаются штрафные баллы

В текущей версии алгоритма штраф рассчитывается на основе разницы рейтинговой силы:

  • Команда с силой 3.5 против команды с силой 1.0 получит штраф в 2.5 балла.

Дополнительно применяются особые штрафы, которые позволяют тонко настраивать поведение системы:

  • 100 000 штрафных баллов за повторную встречу команд — это делает такие пары практически невозможными.

  • 0.1 штрафного балла за игру с командой из той же страны — чтобы минимизировать «внутренние» матчи, особенно в международных турнирах.

Эти значения можно настраивать вручную организаторами — например:

  • В локальных лигах можно задать высокий штраф для команд из одного города или даже одного университета, если важно максимальное разнообразие соперников.

  • Или наоборот, снизить штраф до нуля, если внутрирегиональные встречи допустимы.

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

Power Rankings in Ultimate – Leaguevine