Математика вероятности и логистическая функция

Систему разработал американский физик и шахматист венгерского происхождения Арпад Эло в конце 1950-х годов. Международная шахматная федерация ФИДЕ официально приняла ее в 1970 году. В основе модели лежит предположение, что уровень игры каждого человека в отдельной партии меняется случайным образом, подчиняясь нормальному или логистическому распределению. В конкретный день гроссмейстер может сыграть гениально или допустить грубый зевок, но среднее качество его ходов стремится к определенной стабильной величине.

Для расчета вероятности победы в системе используется логистическая кривая. Если встречаются игрок А с рейтингом R_A и игрок B с рейтингом R_B, математическое ожидание результата для игрока А вычисляется по формуле: E_A = 1 / (1 + 10^((R_B - R_A) / 400)). Результат E_A принимает значения от 0 до 1 и показывает расчетную долю очков, которую игрок должен набрать.

Число 400 в знаменателе степени выбрано эмпирически. Разница в 200 пунктов рейтинга дает фавориту математическое ожидание выигрыша около 0,76 (то есть 76% ожидаемых очков в серии встреч). Если разрыв увеличивается до 400 пунктов, ожидание победы сильного игрока вырастает примерно до 0,91. Если разница составляет 800 пунктов, вероятность успеха фаворита поднимается до 99%.

Формула обновления очков и коэффициент K

После завершения партии рейтинг каждого участника корректируется по формуле: R'_A = R_A + K * (S_A - E_A). Здесь S_A означает реальный исход встречи, где за победу начисляется 1 очко, за ничью присуждается 0,5, а за поражение ставится 0. Величина K называется коэффициентом развития и определяет чувствительность рейтинга к единичным исходам.

В правилах ФИДЕ значение коэффициента K различается для разных категорий игроков. Для новичков и юниоров до 18 лет пока их рейтинг не превысит 2300 пунктов используют K = 40, чтобы их цифры быстрее догоняли реальный прогресс. Для большинства взрослых шахматистов берут K = 20. Для игроков топ-уровня с рейтингом выше 2400 коэффициент снижают до K = 10, защищая их показатели от резких случайных скачков из-за одной неудачной партии.

Трудности переноса Эло в командные видеоигры

Классический метод Эло безупречно работает в дуэльных играх с фиксированными правилами вроде шахмат или го. В киберспорте формат обычно командный (5 на 5 в Dota 2, League of Legends или Counter-Strike), матчи динамичны, а вклад каждого участника трудно измерить сухим итогом карты.

  • Проблема командной ответственности: поражение фиксируется всей пятерке одинаково, даже если один участник играл идеально, а его союзник покинул сервер в начале раунда.
  • Ролевая специализация: в соревновательных играх игроки поддержки ставят обзор и жертвуют персонажем ради керри, из-за чего их личная статистика по фрагам оказывается ниже при колоссальном влиянии на победу.
  • Калибровка и смурфинг: опытные игроки заводят новые учетные записи и на этапе калибровки портят матчи новичкам, медленно набирая свой настоящий рейтинг при низком базовом коэффициенте.

Разработчики видеоигр модифицируют исходную идею. В соревновательных шутерах часто применяют алгоритм Glicko-2 Марка Гликмана или систему Microsoft TrueSkill. Glicko вводит показатель неопределенности рейтинга (RD). Если человек не играл полгода, система считает его силу плохо предсказуемой и увеличивает амплитуду начисления или списания очков в первых новых матчах. TrueSkill отслеживает не просто рейтинг, а байесовскую функцию распределения вероятности навыка команды, обновляя дисперсию после каждого командного раунда.

Как проверить систему через симулятор турнира

Для школьного или студенческого исследовательского проекта алгоритм легко смоделировать на языке Python методом Монте-Карло. Логика кода строится на сравнении скрытого истинного мастерства игроков с их видимым рейтингом.

Сначала создается массив из N игроков, каждому из которых задается фиксированное скрытое число навыка, сгенерированное по нормальному закону распределения (например среднее 1500, стандартное отклонение 200). Всем видимым рейтингам на старте присваивается одинаковое значение 1000 очков.

Далее запускается цикл из нескольких тысяч раундов. В каждом раунде случайно выбираются два соперника. Вероятность победы первого рассчитывается по классической формуле Эло, но с подстановкой их скрытого истинного навыка. Функция случайных чисел определяет победителя партии на основе этой вероятности. Затем видимые рейтинги игроков обновляются по стандартной формуле через коэффициент K.

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

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

Почему фавориту дают так мало очков за победу над слабым соперником?

Система начисляет очки за превышение математического ожидания. Если у сильного игрока ожидание выигрыша равнялось 0,95, его победа лишь подтверждает расчет и приносит крошечную прибавку. Основной риск фаворита заключается в возможной потере сразу десятков очков при ничьей или поражении.

Что такое инфляция рейтинга Эло?

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

Может ли рейтинг уйти в отрицательные значения?

Теоретически математическая формула допускает отрицательные числа при затяжной серии поражений на самом дне таблицы. На практике игровые платформы и шахматные федерации устанавливают искусственный нижний порог (например 100 или 400 очков), ниже которого рейтинг опуститься не может.

Чем Glicko отличается от классического Эло?

Glicko учитывает фактор надежности оценки. В формулу добавляется отклонение рейтинга (RD), которое постепенно растет во время отсутствия игрока и снижается по мере проведения частых стабильных матчей.