Massive Assault Official Forum
   
It is currently Thu Mar 28, 2024 2:58 pm

All times are UTC - 5 hours




Post new topic Reply to topic  [ 34 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: Формулы Глико - в студию!
PostPosted: Tue Dec 15, 2009 6:46 am 
Offline
Veteran
User avatar

Joined: Wed Apr 09, 2008 2:05 am
Posts: 152
Karma: 6

Location: Варшава
Давно стоит вопрос о "странностях" расчета очков за выигрыш и проигрыш (см. viewtopic.php?f=40&t=25051 и рейтинг Янниума :) )
Вопрос наверно к Jedi_Knight: можно ли опубликовать формулы Глико, заложенные в игре? Можно сами формулы, можно часть кода (извлечем их сами).

P.S. Думаю, получив формулы узнаем много интересного :wink:


Top
 Profile  
 
 Post subject: Re: Формулы Глико - в студию!
PostPosted: Tue Dec 15, 2009 8:54 am 
Offline
Veteran

Joined: Sun May 24, 2009 6:26 am
Posts: 195
Karma: 1
Я примерно представляю себе эту формулу. И если честно никаких "странностей" в расчёте очков за проигрыш и выигрыш в тех случаях не было. В этой формуле очень большое значение имеет рейтинг RD- чем он больше, тем больше очков ты получаешь в случае победы, и вместе с тем больше очков теряешь в случае поражения. И следовательно ,чем он меньше ( потолок равен 90 меньше не бывает), тем меньше очков ты получаешь в случае победы и меньше теряешь в случае поражения. Величина этого рейтинга зависит от частоты завершения игр . Чем чаще игрок завершает игры, тем этот рейтинг ниже и ,следовательно, чем он ( игрок ) их завершает реже тем он ( рейтинг) выше. При этом можно предположить следующее - чем у игрока меньше игр, тем выше у него этот рейтинг.


Top
 Profile  
 
 Post subject: Re: Формулы Глико - в студию!
PostPosted: Tue Dec 15, 2009 9:51 am 
Offline
Veteran

Joined: Sun May 24, 2009 6:26 am
Posts: 195
Karma: 1
В общем нашёл я описание этой системы. Хотел закинуть всю статью сюда, но формулы почему-то не закидываются. ссылка на статью ; http://www.gambler.ru/tr/description/gliko.html


Last edited by BuKTOP on Tue Dec 15, 2009 11:12 am, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: Формулы Глико - в студию!
PostPosted: Tue Dec 15, 2009 10:25 am 
Offline
Veteran

Joined: Sun May 24, 2009 6:26 am
Posts: 195
Karma: 1
Система рейтингования Глико.
Профессор Марк Е. Гликман
Бостонский Университет
Июнь 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, и б) он проиграл игроку, чей рейтинг не заслуживает доверия, и потому о его собственной игровой силе могут быть сделаны лишь небольшие догадки.

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

где 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' означают рейтинги и рейтинговые отклонения на момент окончания рейтингового периода. Тогда формулы обновления рейтинга и рейтинговых отклонений примут следующий вид:
Image
где
Image

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

Пример:

Для демонстрации Шага 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

Мы можем посчитать
Image

отсюда имеем
Image
и
Image

Замечания:

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

Image

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


Top
 Profile  
 
 Post subject: Re: Формулы Глико - в студию!
PostPosted: Tue Dec 15, 2009 11:33 am 
Offline
Veteran
User avatar

Joined: Wed Apr 09, 2008 2:05 am
Posts: 152
Karma: 6

Location: Варшава
BuKTOP wrote:
очень большое значение имеет рейтинг RD- чем он больше, тем больше очков ты получаешь в случае победы, и вместе с тем больше очков теряешь в случае поражения

Да, вот он - источник странностей рейтинга! Это многое объясняет :)

Зартак проведет математические расчеты и сообщит вам о результатах...


Top
 Profile  
 
 Post subject: Re: Формулы Глико - в студию!
PostPosted: Tue Dec 15, 2009 12:56 pm 
Offline
Veteran

Joined: Sun Sep 14, 2008 3:07 am
Posts: 139
Karma: -1
zartak wrote:
BuKTOP wrote:
очень большое значение имеет рейтинг RD- чем он больше, тем больше очков ты получаешь в случае победы, и вместе с тем больше очков теряешь в случае поражения

Да, вот он - источник странностей рейтинга! Это многое объясняет :)

Зартак проведет математические расчеты и сообщит вам о результатах...

впечатлил


Top
 Profile  
 
 Post subject: Re: Формулы Глико - в студию!
PostPosted: Tue Dec 15, 2009 2:14 pm 
Offline
Sea Wolf
User avatar

Joined: Tue Dec 09, 2008 1:17 pm
Posts: 1035
Karma: 32

Location: Россия, Нижний Новгород
Два предложения:
1. Ввести альтернативный рейтинг, например, TrueSkill.
2. Ввести "турнирный" рейтинг.
Где-нибудь на сайте/форуме сделать страничку, где бы эти рейтинги были показаны.
И чем раньше, тем лучше, все-равно мы от этого никуда не уйдем.
P.S. А господ, развлекающихся накачкой глико "а ля янниум-валла" - штрафовать в трехкратном размере - мало им не покажется :o (конечно, если точно доказаны махинации)...


Top
 Profile  
 
 Post subject: Re: Формулы Глико - в студию!
PostPosted: Tue Dec 15, 2009 2:49 pm 
Offline
Veteran
User avatar

Joined: Wed Apr 09, 2008 2:05 am
Posts: 152
Karma: 6

Location: Варшава
Зартак повычислял очки за выигрыш согласно официальной странице проф. Гликмана (http://math.bu.edu/people/mg/glicko/gli ... licko.html) для нескольких конкретных игр и сравнил с результатами всевидящего Ока. Цифры сильно не сходятся, потому что явно внесены модификации относительно оригинальной Глико:

В формуле переменной g(RD): в знаменателе экспоненты явно не 400 стоит, а несколько тысяч. В результате больший разброс игроков по очкам. В МАНе уровень чемпионов - 6тыс, а в системе Эло (на которой базируется Глико) сам Каспаров имеет порядка 2800.

Также введен множитель, отвечающий за размер карты (Швейцария:Микронезия = 6,35:1)

Для дальнейшего анализа требуется код формул, заложенных в МАНе

Рекомендации Зартака как сделать рейтинг Глико отвечающим реальности: (эдак для МАНа 3го :) )

А) Ввести систему Глико-2 /правда там формулы более замороченные http://math.bu.edu/people/mg/glicko/glicko2.doc/example.html

Б) Изменить параметр текущей Глико-1: Марк Гликман настоятельно рекомендует установить "rating period" в 5-10игр. Иными словами рейтинг должен обновляться каждые 5-10 выигрышей/проигрышей, а не после каждой игры как сейчас

И на примере игр yannium vs walla можно увидеть (во всевидящем оке) важность параметра RD.

Сначала Янниум выжидает пару месяцев (ни с кем не играя), наращивая свой RD. Идет серия игр с Валлой, и обратите внимание - максимум "сливок" Янниум снимает в самых первых выиграшах.
Его RD падает, а вместе с ним и очки за выигрыш. Янниум вовремя останавливается (иначе проигрыш Валлы будет больше выигрыша Янниума) и снова впадает в "спячку".
А вот Валла регулярно играет, поэтому его RD всегда близок к минимуму в 90, чтобы снизить потерю очков за проигрыш.


Top
 Profile  
 
 Post subject: Re: Формулы Глико - в студию!
PostPosted: Tue Dec 15, 2009 3:37 pm 
Offline
Developer
User avatar

Joined: Tue Jul 01, 2008 10:31 am
Posts: 791
Karma: 18
zartak
введём сразу trueskill.

_________________
Image


Top
 Profile  
 
 Post subject: Re: Формулы Глико - в студию!
PostPosted: Tue Dec 15, 2009 4:56 pm 
Offline
Developer
User avatar

Joined: Tue Jul 01, 2008 10:31 am
Posts: 791
Karma: 18
Я исправил янниума. : - ) только ему не говорите, он так и будет видеть себя на втором месте, пусть дальше рейтинг у валлы cливает.

_________________
Image


Top
 Profile  
 
 Post subject: Re: Формулы Глико - в студию!
PostPosted: Tue Dec 15, 2009 5:35 pm 
Offline
Sea Wolf
User avatar

Joined: Tue Dec 09, 2008 1:17 pm
Posts: 1035
Karma: 32

Location: Россия, Нижний Новгород
666


Top
 Profile  
 
 Post subject: Re: Формулы Глико - в студию!
PostPosted: Wed Dec 16, 2009 2:38 am 
Offline
Veteran
User avatar

Joined: Wed Apr 09, 2008 2:05 am
Posts: 152
Karma: 6

Location: Варшава
Jedi_Knight wrote:
введём сразу trueskill.

Trueskill разработан специально для мультиплеерных игр (например deathmatch в Halo) в отличие от Глико (а в МАНе игра идет только один-на-один):
Quote:
So, what is the difference to the Glicko system? Glicko was developed as an extension of ELO and was thus naturally limited to two player matches which end in either win or loss. Glicko cannot update skill levels of players if they compete in multi-player events or even in teams.

[http://research.microsoft.com/en-us/projects/trueskill/]
Мнение Зартака: толку переходить на Trueskill? :) Лучше доработать Glicko (перейти на Glicko-2, обновлять рейтинг после серии игр).


Top
 Profile  
 
 Post subject: Re: Формулы Глико - в студию!
PostPosted: Wed Dec 16, 2009 3:59 am 
Offline
Tough Nut
User avatar

Joined: Wed Jul 29, 2009 6:48 am
Posts: 49
Karma: 0
Хочется добавить вот что. Какая бы хорошая ни была система рейтинга, ее следует очень тесно интегрировать с игрой.

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

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

_________________
Ибо нефиг...


Top
 Profile  
 
 Post subject: Re: Формулы Глико - в студию!
PostPosted: Thu Dec 17, 2009 4:25 am 
Offline
Sea Wolf
User avatar

Joined: Tue Dec 09, 2008 1:17 pm
Posts: 1035
Karma: 32

Location: Россия, Нижний Новгород
Одна цитата:

...Для подсчета шахматного рейтинга используется система профессора Глико.

Основное ее отличие от рейтинга Эло заключается в том, что в нее введен коэффициент статистической погрешности (rating deviation), который зависит от времени бездействия, не активности шахматиста. Чем больше он не играл, тем больше эта погрешность. Эта погрешность индивидуальна для каждого игрока. Поэтому величина приращения рейтинга после партии у игроков может отличаться. У игрока, который не играл дольше это приращение будет больше...


Top
 Profile  
 
 Post subject: Re: Формулы Глико - в студию!
PostPosted: Thu Dec 17, 2009 4:33 am 
Offline
Sea Wolf
User avatar

Joined: Tue Jul 29, 2008 2:26 am
Posts: 1127
Karma: 22

Location: Московская обл,п.Белоозерский
Очень тонкое замечание,Сапсан.Система не распознает различие между реально не играющим человеком и игроком,проводящим длительные матчи,будь то по лимиту,либо просто затяжные.Поэтому этот РД и "колбасит" рейтинг не пойми как.

_________________
"Будь в силах ты мечтать...о достижимом"


Top
 Profile  
 
 Post subject: Re: Формулы Глико - в студию!
PostPosted: Thu Dec 17, 2009 5:58 am 
Offline
Sea Wolf
User avatar

Joined: Tue Dec 09, 2008 1:17 pm
Posts: 1035
Karma: 32

Location: Россия, Нижний Новгород
И еще один момент.
Рейтинги постоянно растут.
Нет, речь не о повышении мастерства и т. п., речь о постоянном росте планки, потолка...
А ведь в системе Эло этого нет, там даже определенному уровню рейтинга соответствует вполне определенный спортивный разряд...

В конце августа подбирал материал для небольшого исследования :wink: , используя данные Всевидящего Ока. Вот пара диаграмм.
Attachment:
6.JPG
6.JPG [ 31.1 KiB | Viewed 44481 times ]

По оси х - десятидневки, у - глико рейтинг игрока, данные на конец августа, тип линии тренда, для примера, взят линейный ( что не факт :) )... При логарифмическом типе линии тренда - тот же рост...
Attachment:
11.jpg
11.jpg [ 35.17 KiB | Viewed 44481 times ]


Top
 Profile  
 
 Post subject: Re: Формулы Глико - в студию!
PostPosted: Thu Dec 17, 2009 8:10 am 
Offline
Developer
User avatar

Joined: Tue Jul 01, 2008 10:31 am
Posts: 791
Karma: 18
sapsan
у нас модифицированный глико, там как-то учитывается макс. текущий рейтинг. ииз-за этого оно растёт.

_________________
Image


Top
 Profile  
 
 Post subject: Re: Формулы Глико - в студию!
PostPosted: Thu Dec 17, 2009 8:25 am 
Offline
Sea Wolf
User avatar

Joined: Tue Dec 09, 2008 1:17 pm
Posts: 1035
Karma: 32

Location: Россия, Нижний Новгород
Короче, получается, рейтинг сам себя поднимает?! Спада я не замечал...
Просто идет элементарная девальвация рейтинга - 3000 очков глико сейчас и год назад - две большие разницы...
Неправильно это, не должно так быть...


Top
 Profile  
 
 Post subject: Re: Формулы Глико - в студию!
PostPosted: Thu Dec 17, 2009 3:59 pm 
Offline
Veteran
User avatar

Joined: Wed Apr 09, 2008 2:05 am
Posts: 152
Karma: 6

Location: Варшава
Зартак считает: дефляция рейтинга (как в Эло) еще хуже. Инфляция неизбежное зло, и хорошо когда она на небольшом уровне :)


Top
 Profile  
 
 Post subject: Re: Формулы Глико - в студию!
PostPosted: Fri Dec 18, 2009 12:57 am 
Offline
Sea Wolf

Joined: Thu May 25, 2006 12:31 pm
Posts: 269
Karma: 1
Рейтинг - это шкала,эталон,по которой определяются уровни мастерства игроков.Очевидно,что эталон не должен изменяться,иначе он не сможет выполнять свою функцию.

Вот,к примеру,шахматный рейтинг:
* более 2700 — Супер-гроссмейстер, претендующий на звание чемпиона мира по шахматам;
* 2500—2699 — гроссмейстер;
* 2400—2499 — международный мастер;
* 2200—2399 — национальный мастер;
* 2000—2199 — кандидат в мастера;
* 1800—1999 — первый разряд;
* 1600—1799 — второй разряд;
* 1400—1599 — третий разряд;
* 1200—1399 — средний любитель (четвертый разряд);
* 1000—1199 — слабый любитель (пятый разряд);
* менее 1000 — новичок.

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


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 34 posts ]  Go to page 1, 2  Next

All times are UTC - 5 hours


Who is online

Users browsing this forum: No registered users and 46 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Karma functions powered by Karma MOD © 2007, 2009 m157y