Who is Who in Real Ranking

Наша библиотека. Переводы и оригиналы
Проблемы Математики и Спорта

 

Система Глико.

Профессор Марк Е. Гликман

Бостонский Университет

Июнь 1998

 

Вы можете согласиться со мной или нет, но самым большим очарованием для игроков шахматных турниров или соперников в других видах спорта является измерение игровой силы. Система ранжирования Эло, разработанная в начале 60-х Арпадом Эло, была первой шахматной системой ранжирования, которая несла в себе вероятностную основу. Позже она была приянта многими шахматными федерациями и даже организациями различных игр (таких, как  Scrabble, настольный теннис и т.д.). Хотя система Эло является значительным шагом вперед по отношению к более ранним системам, она тоже несет в себе подводные камни. В 1995 году в ответ на имеющиеся там недостатки я создал систему ранжирования Глико. Система моя получена путем рассмотрения статистической модели исходов шахматных игр, и затем взятия математических приближений, позволяющих простейшие вычисления. Система Эло является одним из специальных случаев мой системы. Математические детали происхождения могут быть найдены в статье под названием "Оценка параметра в больших экспериментах попарных сравнений", выдержки из которой были опубликованы в статистическом журнале Прикладная Статистика, а могут быть найднены по адресу http://math.bu.edu/people/mg/research.html. Система Глико применяется в настоящий момент на свободном интернетовском шахматном сервере (FICS) и вариации системы Глико были приспособлены для нескольких коммерческих интернетовских игровых организаций, таких как ChronX, Case's Ladder и других.

 

Проблема системы Эло, которую исправляет система Глико, это достоверность рейтига игрока. Предположим, что два игрока, оба с коэффициентом Эло в 1700, встречаются на турнире, и первый игрок побеждает второго. По версии Американской Шахматной Федерации системы Эло первый игрок получит в этом случае 16 рейтинговых очков, а второй игрок потеряет эти 16 очков. Но предположим, что первый игрок только что вернулся к играм на турнирах после многих лет "отдыха", а второй игрок режется в шахматы каждый выходной. В этой ситуации рейтинг первого игрока в 1700 очков является не совсем достоверным отражением его силы, в то время как рейтинг второго игрока в 1700 является вполне реальным отражением его игрового мастерства. Моя интуиция подсказывает мне, что (1) рейтинг первого игрока должен увеличиться намного (больше 16-ти), поскольку его рейтинг не совсем реален, и то, что он побил игрока с пракутически точным рейтингом в 1700 очевидно наводит на мысль, что его сила намного выше 1700, и (2) рейтинг второго игрока должен немного уменьшиться (менее 16-ти очков), поскольку про его рейтинг и так уже известно, что он находится в районе 1700, и что он проиграл игроку, чей рейтинг не заслуживает доверия, и потому лишь небольшая часть о его собственной игровой силе может быть получена.

 

Хоть большинство ситуаций не столь экстремальны, я чувствую, что было бы полезным включить в систему ранжирования меру достоверности чьего-либо рейтинга. Система Глико поэтому превосходит систему Эло, вычисляя не только рейтинг, который может быть представлен, как "наилучшая догадка" о чьей-либо игровой силе, но и "рейтинговом отклонении " (РО), или, в статистической терминологии, стандартным отклонении, которая измеряет неопределенность рейтинга (высокие РО отвечают ненадежным рейтингам). Высокие РО показывают, что игрок играет не часто или игрок участвовал лишь в небольшом количестве игр. Низкий РО указывает на то, что игрок постоянно принимает участие в турнирах.

 

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

 

Обратите внимание, что в системе Глико изменения в рейтиге не столь сбалансированы, как это есть в системе Эло. Если рейтинг одного игрока возрос на x очков, то совсем необязательно , что рейтиг его соперника уменьшится на те же x очков.Фактически в системе Глико количетсво очков, на которое умнеьшится рейтинг соперника регулируется значениями РО обоих игроков.

 

Поскольку игрок в системе Глико имеет и рейтинг и РО, то обычно более информативно описать силу игрока в виде интервала (нежели просто указать его значение). Одним из путей является создание 95% доверительного интервала. Наименьшим значением интервала являеься рейтинг игрока минус двойной РО, а наивысшим значением является рейтинг игрока плюс двойной РО. Так, например, если чей-либо рейтинг равен 1850 и РО равно 50, то интервал будет простираться между 1750 и 1950. Мы можем сказать тогда, что мы на 95% уверены, что реальная сила игрока лежит находится между 1750 и 1950. Если у игрока низкий РО, то интервал будет уже, и мы будем на 95% уверены в реальной силе игрока в меньшем интервале значений.

Формулы:

Чтобы применить рейтинговый алгоритм, возьмем что игры внутри "рейтингового периода" происходят одновременно. Период этот может быть и несколько месяцев, и одна минута. В первом случае у игроков будут рейтинги и РО в начале рейтингового периода, потом мы рассмотрим исходы встреч, и в конце периода будут вычслены обновленные рейтинги и РО (которые потом в свою очередь будут использованы как начальные рейтинги и РО для последующего рейтиногвого периода). В последнем случае рейтигни и Робудут обновлены напоматчевой основе (именно этой системой пользуется FICS). Система Глико раьботает наилучшим образом, когда число игр в рейтинговом периоде невелико, скажем в среднем 5-10 на одного игрока за период. Длина времени рейтигового периода есть воля администратора.

 

Шаг 1. Определим рейтиг и РО для каждого игрока в начале рейтингового периода.

(а) Игрок еще не включенный в рейтинги получает 1500 очков рейтига и РО, равный 350.


(б) В противном случае, используя наипоследнейший рейтинг, и вычислив новый РО из старого РО (РОстарый) по формуле

 

Где t - число рейтинговых периодов со дня последней игры (т. е. если ранжируемы играл в самом последнем из рейтинговых периодов, то t=1), а c является константой, регулирующей увеличение неопределенности со временем. Выбор с мы обсудим чуть ниже. Вышеописанная формула гарантирует, что РО в начале рейтингового периода никигда не будет больше 350, РО для необсчитанного игрока.

 

Шаг 2. Выполнение следующих вычислений для обновления рейтинга каждого игрока по отдельности:

Предположим, что рейтиг игрока перед началом рейтингового периода равен r, и отклонение рейтига равно РО. Допустим, что рейтинги m соперников перед начало мтого же рейтингового периода равны r1, r2, …, rm и рейтинговые отклонения РО1, РО2, …, РОm. Также допусти, что s1, s2, … , sm - это исходы встреч с каждым из соперников, и они могут принимать значения либо 1, 0.5 или 0 соответсвенно в случае победы, ничьей или поражения. Заметим, что несколько игр против одного и того же соперника трактуются, как игры против разных соперников с одинаковыми рейтингами и РО.

 

Пусть r' и РО' означают рейтинги и рейтинговые отклонения на момент окончания рейтингового периода. Обновленческие формулы тогда примут следующий вид:


 

 

где


q = log 10 / 400 = 0.0057565


 

Эти вычисления следут выполнить для каждого игрока, попашего в рейтинговый период.

 

Пример:

Для демонстрации Шага 2 предположим, что игрок с рейтингом в 1500 сыграл матчи против 1400, 1550 и 1700, выиграв первую встресу и проиграл две оставшиеся. Предположим, что отклонение рейтинга этого игрока  равно 200, а у его оппонентов 30, 100, и 300 соответственно.

 

Тогда получаем:

 

j

rj

РОj

g(РОj)

E(s|r, rj, РОj)

исход (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,

РО'=151.4

 

Замечания:

Значение c используемое на шаге 1б может быть определено путем анализа данных, хоть это и может потребовать значительных вычислительных затрат. Другим подходом является определение – сколько времени (в единицах рейтинговых периодов) потребуется, чтобы рейтинг типичного игрока стал таким же неопределенным, как и игрока, не включенного в рейтигн. Для демонстрации вычислений, которые могут получиться в результате этого подхода, предположим, что типичный игрок имеет РО, равное 50, рейтинговый период в два месяца, и предполагается, что 5 лет (60 месяцев) потребуется для того, чтобы рейтиг типичного игрока стал таким же неопределенным, как и "рейтинг" неранжируемого игрока. Необходимое время будет равняться t=30 рейтинговых периодов (30 2-месячных периодов). Мы хотим найти такое c , чтобы

 

350=Ö5022(30)

 

В данном случае должно быть использовано с=63.2.

 

Одной из возникающих при вычислениях проблем системы Глико является то, что когда игрок сражается очень часто, то его рейтинг перестает ощутимо меняться (это соответсвует малому РО). Иногда э

то может воспрепятствовать значительному изменению рейтинга, когда игрок резко начал прогрессировать. Для разрешения данной проблемы я рекомендую, чтобы РО никогда не становилось меньше какого-то минимального значения, например 30, и тогда в короткий отрезок времени будут заметны рейтинговые изменения.

Hosted by uCoz