|
Проблема системы Эло, которую исправляет система Глико, это достоверность рейтинга игрока. Предположим, что два игрока, оба с коэффициентом Эло в 1700, встречаются на турнире, и первый побеждает второго. По версии Американской Шахматной Федерации системы Эло первый игрок получит в этом случае 16 рейтинговых очков, а второй игрок потеряет те же 16 очков. Но предположим, что первый игрок только что вернулся к играм на турнирах после многих лет "отдыха", а второй игрок режется в шахматы каждый выходной. В этой ситуации рейтинг первого игрока в 1700 очков является не совсем достоверным отражением его силы, в то время как рейтинг второго игрока в 1700 является вполне реальным отображением его игрового мастерства. Моя интуиция подсказывает мне, что (1) рейтинг первого игрока должен увеличиться намного (больше 16-ти), поскольку его рейтинг не совсем реален, и то, что он побил игрока с практически точным рейтингом в 1700 очевидно наводит на мысль, что его сила заведомо превышает 1700, и (2) рейтинг второго игрока должен немного уменьшиться (менее 16-ти очков), поскольку про его рейтинг и так уже известно, что а) он находится в районе 1700, и б) он проиграл игроку, чей рейтинг не заслуживает доверия, и потому о его собственной игровой силе могут быть сделаны лишь небольшие догадки.
Хоть большинство ситуаций не столь экстремальны, мне кажется, что в систему ранжирования полезно включить меру достоверности чьего-либо рейтинга. Потому-то система Глико и превосходит систему Эло, что вычисляет не только рейтинг R, который может быть представлен, как "наилучшая догадка" о чьей-либо игровой силе, но и "рейтинговое отклонение" (RD) (в статистической терминологии, стандартное отклонение), которое измеряет неопределенность рейтинга. Высокие RD отвечают ненадежным рейтингам, указывая, что игрок выступает не часто или что игрок участвовал лишь в небольшом количестве игр. Низкий RD указывает на то, что игрок постоянно принимает участие в турнирах.
В системе Глико игровой рейтинг изменяется только по прошествии игр, но его RD изменяется и после окончания игры, и по прошествии времени, в течение которого игрок не принимал участия в турнирах. Одним из свойств Системы является то, что сыгранные матчи всегда уменьшают RD игрока, а время, проведенное вне турниров, всегда его увеличивает. Смысл этого заключается в том, что чем больше сыграно игр, тем больше информации о способностях игрока получено, и тем точнее становится рейтинг. Время идет, и мы начинаем сомневаться в силе игрока, и это находит свое отражение в возрастании RD.
Обратите внимание, что в системе Глико изменения в рейтинге не столь сбалансированы, как это есть в системе Эло. Если рейтинг одного игрока возрос на x очков, то совсем необязательно, что рейтинг его соперника уменьшится на те же x очков. Фактически в системе Глико количество очков, на которое уменьшится рейтинг соперника, регулируется значениями RD обоих игроков.
Поскольку игрок в системе Глико имеет и рейтинг, и RD, то обычно более информативно описать силу игрока в виде интервала (нежели просто указать его значение). Одним из путей является создание 95% доверительного интервала. Наименьшим значением интервала является рейтинг игрока минус двойной RD, а наивысшим значением является рейтинг игрока плюс двойной RD. Так, например, если чей-либо рейтинг равен 1850 и RD равно 50, то интервал будет простираться между 1750 и 1950. Мы можем сказать тогда, что мы на 95% уверены, что реальная сила игрока лежит находится между 1750 и 1950. Если у игрока низкий RD, то интервал будет уже, и мы будем на 95% уверены в реальной силе игрока в меньшем интервале значений.
Формулы:
Чтобы применить рейтинговый алгоритм, будем считать, что игры внутри "рейтингового периода" происходят одновременно. Период этот может быть и несколько месяцев, и одна минута. В первом случае берутся рейтинги и RD игроков на начало рейтингового периода, затем рассмотриваются исходы встреч, и в конце периода вычисляются обновленные рейтинги и RD (которые потом в свою очередь будут использованы как начальные рейтинги и RD для последующего рейтингового периода). Когда период равен минуте, рейтинги и RD будут обновляются на поматчевой основе (именно этой системой пользуется FICS). Система Глико работает наилучшим образом, когда число игр в рейтинговом периоде невелико, скажем в среднем 5-10 на одного игрока за период. Длина времени рейтингового периода есть воля администратора.
Шаг 1. Определим рейтинг и RD для каждого игрока в начале рейтингового периода.
(а) Игрок еще не включенный в рейтинги получает 1500 очков рейтинга и RD, равный 350. (б) В противном случае, используя наипоследнейший рейтинг, и вычислив новый RD из старого RD (RDold) по формуле:
где t - число рейтинговых периодов со дня последней игры (т.е. если ранжируемый играл в самом последнем из рейтинговых периодов, то t = 1), а c является константой, регулирующей увеличение неопределенности со временем. Выбор c мы обсудим чуть ниже. Вышеописанная формула гарантирует, что RD в начале рейтингового периода никогда не будет больше 350 - значения RD для необсчитанного игрока.
Шаг 2. Для обновления рейтинга каждого игрока по отдельности выполняются следующие вычисления:
Предположим, что рейтинг игрока перед началом рейтингового периода равен r, и отклонение рейтинга равно RD. Допустим, что рейтинги m соперников перед началом того же рейтингового периода равны r1, r2, ..., rm и рейтинговые отклонения RD1, RD2, ..., RDm. Также допустим, что s1, s2, ... , sm - это исходы встреч с каждым из соперников, и они могут принимать значения либо 1, 0.5 или 0 соответственно в случае победы, ничьей или поражения. Заметим, что несколько игр против одного и того же соперника трактуются, как игры против разных соперников с одинаковыми рейтингами и RD.
Пусть r' и RD' означают рейтинги и рейтинговые отклонения на момент окончания рейтингового периода. Тогда формулы обновления рейтинга и рейтинговых отклонений примут следующий вид:
Эти вычисления следует выполнить для каждого игрока, попавшего в рейтинговый период.
Пример:
Для демонстрации Шага 2 предположим, что игрок с рейтингом в 1500 сыграл матчи против 1400, 1550 и 1700, выиграв первую встречу и проиграв две оставшиеся. Предположим, что отклонение рейтинга этого игрока равно 200, а у его оппонентов 30, 100, и 300 соответственно.
Тогда получим:
j
|
rj
|
RDj
|
gj
|
Ej
|
исход (sj)
|
1
|
1400
|
30
|
0.9955
|
0.639
|
1
|
2
|
1550
|
100
|
0.9531
|
0.432
|
0
|
3
|
1700
|
300
|
0.7242
|
0.303
|
0
|
d2 = ... = 231.662
отсюда имеем
r ' = 1464
RD ' = 151.4
Замечания:
Значение c используемое на шаге 1(б) может быть определено либо путем анализа данных (но это может потребовать значительных вычислительных затрат), либо определяя – сколько времени (в единицах рейтинговых периодов) потребуется, чтобы рейтинг типичного игрока стал таким же неопределенным, как у игрока, не включенного в рейтинг. Для демонстрации вычислений, которые могут случиться в результате этого подхода, предположим, что типичный игрок имеет RD, равное 50, рейтинговый период в две недели, и предполагается, что чуть меньше двух лет (96 недель) потребуется для того, чтобы рейтинг типичного игрока стал таким же неопределенным, как и "рейтинг" неранжируемого игрока. Необходимое время будет равняться t = 48 рейтинговых периодов (48 2-недельных периодов). Мы хотим найти такое c, чтобы:
3502 = 502 + c2(48).
В данном случае должно быть использовано с = 50
|
|