Меню

Отклонение рейтинга по glicko шахматы



ru.knowledgr.com

Система оценки Глико и система оценки Glicko-2 — методы для оценки силы игрока в играх умения, таких как шахматы и идут. Это было изобретено Марком Гликменом как улучшение системы оценки Elo, и первоначально предназначено для основного использования в качестве шахматной системы оценки. Основной вклад Гликмена в измерение — «надежность рейтингов», названный RD, для отклонения рейтингов.

И Глико и системы оценки Glicko-2 находятся под общественным достоянием и найденный осуществленный на серверах игры онлайн (как Шахматный Сервер Бесплатного Интернета, Chess.com, Chesscademy.com, ChessTempo.com, PokemonShowdown, Lichess, Nodewar, SchemingMind и Guild Wars 2). Формулы, используемые для систем, могут быть найдены на веб-сайте Глико.

RD измеряет точность рейтинга игрока. Например, у игрока с рейтингом 1500 и RD 50 есть реальная сила между 1400 и 1600 с 95%-й уверенностью. Дважды RD добавлен и вычтен из их рейтинга, чтобы вычислить этот диапазон. После игры сумма изменения рейтинга зависит от RD: изменение меньше, когда RD игрока низкий (так как их рейтинг уже считают точным), и также когда RD их противника высок (так как истинный рейтинг противника не известен, так мало информации получается). Сам RD уменьшается после того, чтобы играть в игру, но это будет увеличиваться медленно в течение долгого времени бездеятельности.

Система оценки Glicko-2 улучшает систему оценки Глико и далее вводит изменчивость рейтинга σ. Очень немного измененная версия системы оценки Glicko-2 осуществлена австралийской Шахматной Федерацией.

Определение

Эти шаги только относятся к оригинальной системе Глико, и не ее преемнику, Glicko-2.

Если игрок неноминальный, рейтинг обычно устанавливается в 1500 и RD к 350.

Шаг 1: Детермайн-Роуд

Новое Отклонение Рейтингов найдено, используя старое Отклонение Рейтингов :

Источник

Глико

Глико — система рейтингования, содана Профессором Марком Гликманом, в бостонском Университете в июне 1998 года.

Система Глико применяется в настоящий момент на свободном интернетовском шахматном сервере (FICS), а вариации системы Глико были приспособлены для нескольких коммерческих интернетовских игровых организаций, таких как ChronX, Case’s Ladder и других.

Вы можете соглашаться со мной или нет, но, по моему мнению, самым большим очарованием для игроков шахматных турниров или соперников в других видах спорта является измерение их игровой силы. Система ранжирования Эло, разработанная в начале 60-х Арпадом Эло, была первой шахматной системой ранжирования, которая несла в себе вероятностную основу. Позже она была принята многими шахматными федерациями и даже организациями, отвечающими за такие игры, как Scrabble, настольный теннис и т.д. Хоть система Эло и является значительным шагом вперед по отношению к более ранним системам, у нее тоже есть свои проблемы. В 1995 году, в ответ на имеющиеся там недостатки, я создал систему ранжирования Глико. Система моя получена путем рассмотрения статистической модели исходов шахматных игр, и принятия затем математических приближений, позволяющих простейшие вычисления. Система Эло является одним из специальных случаев моей системы.

Проблема системы Эло, которую исправляет система Глико, это достоверность рейтинга игрока. Предположим, что два игрока, оба с коэффициентом Эло в 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 соответственно.

Источник

Рейтинговые системы: как онлайн-игры определяют вашу крутость

Простыми словами о системах Elo, Glicko, Glicko-2 и TrueSkill.

Недавно мне стало интересно, как определяется мой ранг в среднестатистической онлайн-игре, поэтому я полез в Google и тут же нашёл ответ на свой вопрос.

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

Каждый новый игрок в системе Elo получает некое стартовое количество очков, например — 1500. Само количество непринципиально, главное – чтобы счётчик не ушёл в минус. При победе этот счётчик увеличивается, а при поражении — уменьшается, но количество очков, на которое изменяется рейтинг, непостоянное.

Читайте также:  Рейтинг эло шахматы как получить

Хоть описание статьи и содержит в себе сочетание «простыми словами», я всё-таки должен вставить пару формул. Маленьких и простых, честно!

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

«Бла-бла-бла, задолбал ты со своими формулами, обещал же, что будет просто!»

Без паники! На примере всё сразу прояснится. В этом мне поможет игра с открытой (пользователи видят, как изменяется их ранг) Elo-системой — Brawlhalla.

Лично я люблю эту игру, но уж очень мне не нравится тамошняя система подбора игроков в рейтинговой игре. Новичка с рейтингом 1300 может спокойно кинуть к платине с рейтингом в 1800, и тогда на экране будет твориться такое, что можно будет заливать на pornhub в раздел «изнасилований». Платина, разумеется, победит. Какой будет её рейтинг после победы?

1800+16*(1-(1 / (1 + 10^((1300-1800)/400)))) = 1800.85. Как изменится рейтинг новичка? 1300+16*(0-(1 / (1 + 10^((1800-1300)/400)))) = 1299.15. Короче говоря, рейтинги почти не поменяются. Что есть правильно: новичка кинуло к профессионалу, и он, очевидно, проиграл. Но что, если новичок выиграет? Изменим значения в формулах и посчитаем заново, как изменятся рейтинг.

Для платины: 1800+16*(0-(1 / (1 + 10^((1300-1800)/400)))) = 1784.85. Для новичка: 1300+16*(1-(1 / (1 + 10^((1800-1300)/400)))) = 1315.15. Рейтинг игроков изменился на 15,15 (а 16 — максимум) очков! Платина ушла в почти максимальный минус, а новичок — в плюс. Справедливо? Справедливо.

Elo выглядит вполне себе справедливо, да вот не совсем. Допустим, в матче встретились два игрока с рейтингом 1600. Оба должны играть одинаково хорошо, вот только первый играет раз в неделю (или по каким-то причинам вообще не заходил в игру с месяц), а второй играл днями и ночами. Скорее всего, второй игрок победит.

Система Glicko учитывает этот фактор и вводит новый параметр – рейтинговое отклонение, сокращенно – RD (потому что Ratings Deviation). Чем реже игрок заходит в игру, тем выше его RD. Суть системы Glicko заключается в том, что у игрока с высоким RD невозможно точно определить его рейтинг. Система не может определить, насколько хорош игрок, если он редко играет, поэтому задает рейтинги в виде интервалов.

Поскольку игрок в системе Glicko имеет и рейтинг, и RD, то обычно более информативно описать силу игрока в виде интервала (нежели просто указать его значение). Одним из путей является создание 95% доверительного интервала.

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

Здесь могли находиться формулы расчета рейтинга, но их нет. Хотите их увидеть — они вверху поста. Считается рейтинг Glicko гораздо сложнее рейтинга Elo.

Так что же с той игрой, где у игрока А и В по 1600 очков? Если победит тот, кто играл днями напролёт, то он получит меньшее количество очков, чем если бы победил его оппонент. А после игры RD обоих оппонентов снизится.

Вводим ещё один параметр! Теперь помимо основного рейтинга и RD появляется рейтинг изменчивости. Здесь система учитывает вероятность вашей победы или проигрыша.

Если вы играете стабильно, побеждая там, где должны победить и проигрывая более сильным соперникам, рейтинг изменчивости падает. Но если вы, имея платину, проигрываете бронзе или разрываете лучших игроков с подрубленными читами — рейтинг изменчивости будет расти.

Для меня Global Offensive — это пример игры, где вообще максимально непонятно, как меняется твой ранг. Ты можешь безрезультатно побеждать бесконечное количество игр, но после одного поражения тебя понизят. Valve не разглашает, как именно работает их рейтинговая система, и такой политики придерживаются и многие другие разработчики.

Можно было бы начать рассуждения со слов «с одной стороны, это плохо, потому что игроки не знают, сколько им играть до следующего ранга», но нет. Это – хорошо. Потому что будь их система на виду, как в упомянутой Brawlhalla, игроки смогли бы определить, за что даётся больше очков рейтинга, а за что – меньше. Игроки бы поняли, что за обезвреживание бомбы, например, даётся больше очков, чем за убийства в голову, а за высокую точность – больше, чем за спасение заложников.

Читайте также:  Список рейтинга мобильных телефонов

С этой информацией армия игроков стала бы фармить, и уже через пару дней игру заполонили бы псевдо-элиты. А пока игроки просто знают, что для повышения нужно побеждать, и это – вся информация, которая и необходима для нормальной игры, не переходящей в задротство. Если интересно, то на DTF уже есть подробная статья про рейтинг в CS (есть даже график, похожий на тот, что я использовал выше, но как-то я не осилил тамошнее объяснение). Однако что-то я отвлекся от темы, скажем — это было небольшое отступление на конкретном примере.

Резюмируя, можно определить, из каких параметров состоит рейтинг Glicko-2. Во-первых, это основной рейтинг, показывающий, насколько хорош игрок. Во-вторых, это RD — показатель, определяющий, насколько точен основной рейтинг. В-третьих, это рейтинг изменчивости, определяющий стабильность игры у игрока. В-четвертых, это период времени, на котором производится расчёт. Ну и, если хотите посмотреть, как считается Glicko-2 — вот так. А может и не так, у меня просто интеллекта не хватило понять описанное (RD вроде есть, рейтинг изменчивости — тоже, а вообще, отстаньте от меня, я гуманитарий).

Разработан компанией Microsoft для игр сервиса Xbox Live. О работе этой системы в интернете есть даже отдельная презентация, разобраться в которой весьма затруднительно.

В отличие от Glicko-2, имеет всего два параметра. Больше никаких там рейтингов изменчивости, только «мю» и «сигма». Первый определяет скилл игрока, второй — степень неопределённости в этом скилле (что-то похожее на RD).

Игроки с такой системой начинают на отметке 25 (это мю) при сигме в 25/3. Это означает, что истинный рейтинг новичков колеблется примерно в районе 21-29 очков. Чем больше матчей сыграл игрок, тем меньше диапазон сигма и тем точнее система определяет рейтинг. Крутость игрока определяется его средней эффективностью в нескольких последних матчах.

Есть ещё какая-то неведомая система Ree, находящаяся в открытом доступе, но информации о ней — кот наплакал. Как я понял, она не используется в видеоиграх напрямую, но позволяет вести учёт рейтинга чего-либо непосредственно на сайте.

Засим откланяюсь. Всем хороших игр и высокого рейтинга.

Источник

Система рейтинга Glicko: простой пример использования Clojure

Пару недель назад я писал о системе рейтингов Elo и, узнав о ней больше, я узнал, что одна из ее слабых сторон заключается в том, что она не учитывает надежность рейтинга игроков.

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

Марк Гликман написал систему рейтинга Glicko, чтобы учесть неопределенность, введя «отклонение рейтингов» (RD). Низкий RD указывает, что игрок часто участвует в соревнованиях, а более высокий RD указывает, что они этого не делают

Еще одно различие между Глико и Эло заключается в следующем:

Интересно отметить, что в системе Glicko изменения рейтинга не сбалансированы, как это обычно бывает в системе Elo.

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

Фактически, в системе Glicko величина, на которую уменьшается рейтинг противника, определяется RD обоих игроков.

Значение RD фактически указывает нам диапазон, в котором, вероятно, существует фактический рейтинг игрока. то есть 95% доверительный интервал.

Например, если игрок имеет рейтинг 1850 и RD 50, то интервал 1750 — 1950 или (Рейтинг — 2 * RD) — (Рейтинг + 2 * RD)

Алгоритм имеет 2 шага:

    Определите рейтинг и RD для каждого игрока в начале периода рейтинга. Если игрок без рейтинга, используйте значение 1500 и RD 350. Если у него есть рейтинг, мы рассчитаем новое RD из старого RD по следующей формуле:

  • t — количество рейтинговых периодов с момента последнего соревнования (например, если игрок
    соревновался в самый последний рейтинговый период, t = 1)
  • с является константой, которая определяет увеличение неопределенности с течением времени.
  • Обновите рейтинг каждого игрока и RD отдельно, используя следующую формулу:

    • r — предварительный рейтинг игрока
    • RD — отклонение рейтингов игрока до периода
    • r 1 , r 2 ,…, r m — рейтинги своих оппонентов перед периодом
    • RD 1 , RD 2 ,…, RD m — предопериодные рейтинги отклонений их оппонентов
    • s 1 , s 2 ,…, 2 m — очки против оппонентов. 1 — победа, 1/2 — ничья, 0 — поражение.
    • r ‘- рейтинг игрока после периода
    • RD ‘- отклонение рейтингов игрока после периода
  • В документе приведен пример для подражания, и включены промежуточные этапы, которые упростили построение алгоритма по одной функции за раз.

    Д функция была проще реализовать , так что я создал , что и г функции одновременно:

    Мы можем использовать следующую таблицу, чтобы проверить, что мы получаем правильные результаты, когда мы ее называем:

    Источник