Рейтинг-система УФГО

Якщо Ви не знаєте, в який розділ писати, пишіть сюди!
Аватар користувача
liver
Advanced Member
Повідомлень: 1824
З нами з: 31 березня 2003, 00:24
Розряд: 1d
Звідки: Odesa

Повідомлення liver »

Так же как и с темой о жеребьёвке, не зная куда писать, написал в раздел обо всём.

Причиной образования этой ветки стало то, что мне наконец-то стала известна система расчёта рейтинга, которую использует Владимир Корсак.

Ниже впервые публикуется рейтинг-система УФГО(дальше по тексту - РС), которую Корсак использует на протяжении семи лет.

Теперь сама система.

Несколько вводных слов.

Поскольку РС имеет в основе рейтинг-систему для расчёта европейского рейтинга, то вначале приведу текст европейской рейтинг-системы.

Оригинал размещён по ссылке: http://gemma.ujf.cas.cz/~cieply/GO/gor.html

Европейская рейтинг-система. Описание

Рейтинг-система получена из ЭЛО рейтинг-системы, используемой международной шахматной федерацией (ФИДЕ). Она основана на идее, что возможно определить вероятность победы в партии Se, зависящей от разницы в рейтинге противников dR = R(B) - R(A). Для игрока с меньшим рейтингом (назовём его "игрок A") значение верооятности следующее:

(1) Se(A) = 1/[exp(dR/a)+1]

Вероятность победы оппонента с бОльшим рейтингом ("игрок B") находится из равенства:

(2) Se(A) + Se(B) = 1 - e

Если e = 0, то в (2) сумма двух вероятностей побед была бы равна единице. Однако такое упрощение приводит к "сползанию" рейтингов, поскольку прогрессирующие игроки забирают очки рейтинга у установившихся игроков.
С этим борятся различными инструментами, такими как введением нижнего порога, изменениями в расчёте вероятности победы, в некоторых специфических случаях обновление рейтинга и наконец введением небольшого параметра e > 0 . Мы используем e = 0.014, которое выравнивает колебания рейтинга игроков уровня данов. Хотя такое небольшое значение оказывает незначительный эффект на колебания рейтинга игроков в одном турнире, параметр позволяет настроить систему рейтингов в долгосрочной перспективе.

В одной партии на равных рейтинг игрока изменяется согласно

(3) Rнов - Rстар = con*[S(A) - Se(A)], где S(A) - полученный исход партии (1, 0 или 0.5 в случае дзиго) и параметр con характеризует величину изменения. В нашей системе con - это убывающая функция зависящая от рейтинга игрока.
В таблице 2 приведена зависимость параметров con и a от рейтинга. Для удобства приведены значения вероятностей побед слабого игрока над сильным при разнице в рейтинге в 100 пунктов. Для расчёта значений между приведёнными в таблице мы используем линейную экстраполяцию и con = 10, a = 70 для рейтингов больше 2700.

Замечание.

Послетурнирный рейтинг вычислен исходя из того, что каждый игрок играет со всеми противниками с начальным рейтингом, который он имел до турнира. Это означает, что рейтинги не обновляются после каждой игры и "новые" рейтинги расчитываются на основе старых, добавляя все расчёты после завершения турнира. Другими словами мы предполагаем, что рейтинги игроков не изменяются во время турнира.
Если подтверждённый уровень игрока значительно повысился (как минимум на два уровня для игроков-любителей и на один уровень для профессионалов) относительно заранее установленного уровня, рейтинг игрока пересчитывается. Это позволяет иметь дело с сильно прогрессирующими игроками и с теми, кто редко участвует в турнирах. Чтобы избежать нежелательных колебаний в нижней части рейтинг-таблицы, падение значения рейтинга ограничено 100 пунктами.

Рейтинг-система УФГО

Здесь будут приведены отличия РС от европейской рейтинг-системы.

1. Вместо поправочного коэффициента e для предотвращения "сползания" рейтинга вводится коэффициент развития в формулу расчёта нового рейтинга.

Вместо (3) используется формула

(4) Rнов - Rстар = con*[S(A)- Se(A)+(3100-Rстар)/50000]

2. При расчёте каждого нового рейтинга используется рейтинг, расчитанный для предыдущего тура.

3. Используется определённая формула для определения аномального результата, то есть при превышении нового рейтинга, расчитанного после всех туров, значения

Rстар + con * ( 0.45 + (3100 - Rстар) / 50000.0) * N, где N - количество туров,

старый рейтинг устанавливается значением нового рейтинга и процедура расчёта рейтинга повторяется.

4. Понижение рейтинга не ограничивается, но начальный рейтинг выше 100 пунктов не может опускаться ниже отметки 100.

5. Существует особая процедура расчёта рейтинга для игроков, имеющих рейтинг меньше 100.
За каждую проигранную партию игроку даётся одно очко рейтинга. За каждую выигранную партию игроку даётся 5 очков рейтинга.
За выигрыш у игроков с рейтингом выше 100 начисляются дополнительные бонусы. За выигрыш у игрока уровня 400 и выше - 7 очков, 200 - 5 очков, 100 - 3 очка.
Если сумма бонусов в турнире достигла 9-ти, то это считается аномальным результатом и процедура расчёта рейтинга повторяется, где за исходный рейтинг принимается вновь расчитанный.
Аватар користувача
liver
Advanced Member
Повідомлень: 1824
З нами з: 31 березня 2003, 00:24
Розряд: 1d
Звідки: Odesa

Повідомлення liver »

замечание к п.2 отличий РС от европейской.

Считаю, что нужно отказаться от такого способа расчёта. Во первых, это противоречит тому, что делается предположение о достоверности начального рейтига, который принимается за основу как в системе жеребёвки, так и в рейтинг-системе. Во-вторых, фактический рейтинг игрока не меняется во время турнира, игрок входит в турнир с его новым уровнем, который нужно определить относительно какой-то базовой достоверной величины, какой является его старый рейтинг.
В третих, ссуществует противоречие в процедуре анализа аномального результата, где в формуле эталона порогового рейтинга, выше которого существует аномальный результат берётся рейтинг предтурнирный, без учёта последовательности рейтингов в течение турнира(которая влечёт за собой последовательность параметра con).

Единственной причиной такого способа расчёта может служить лишь отсутствие полноценной программы расчёта рейтинга, которая может "помнить" начальные рейтинги игроков.
yuray76
Advanced Member
Повідомлень: 110
З нами з: 11 березня 2003, 08:41
Контактна інформація:

Повідомлення yuray76 »

liver @ Aug 22 2008, 10:51 PM писав: Единственной причиной такого способа расчёта может служить лишь отсутствие полноценной программы расчёта рейтинга, которая может "помнить" начальные рейтинги игроков.
:D
Тут трошки смішно. Як це так? Існуюча програма може запамятати і вивести на монітор зміну рейтингу кожного гравця після всіх зіграних турів, а запамятати початковий рейтинг гравців не може. Упс... :blink:
Аватар користувача
liver
Advanced Member
Повідомлень: 1824
З нами з: 31 березня 2003, 00:24
Розряд: 1d
Звідки: Odesa

Повідомлення liver »

yuray76 @ Aug 22 2008, 11:38 PM писав:
liver @ Aug 22 2008, 10:51 PM писав: Единственной причиной такого способа расчёта может служить лишь отсутствие полноценной программы расчёта рейтинга, которая может "помнить" начальные рейтинги игроков.
:D
Тут трошки смішно. Як це так? Існуюча програма може запамятати і вивести на монітор зміну рейтингу кожного гравця після всіх зіграних турів, а запамятати початковий рейтинг гравців не може. Упс... :blink:
Но это же так?

Или нет?
Аватар користувача
liver
Advanced Member
Повідомлень: 1824
З нами з: 31 березня 2003, 00:24
Розряд: 1d
Звідки: Odesa

Повідомлення liver »

Просмотрел ещё раз текст программы расчёта рейтинга.

Рейтинг начальный есть при расчёте.

Это в версии программы, где загружается Excel файл.

До неё такого не было.

Нужно было подставлять предыдущий рейтинг.

Я знаю, что изначально было так, и для удобства расчёта изменилась рейтинг-система.
Но теперь же можно считать правильно. Программа с загрузкой из Excel существует 5 лет, хотя я и узнал о ней в прошлом году.
Аватар користувача
liver
Advanced Member
Повідомлень: 1824
З нами з: 31 березня 2003, 00:24
Розряд: 1d
Звідки: Odesa

Повідомлення liver »

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

Вариант 1. Расчёт рейтинга после каждого тура основывается на начальном рейтинге до турнира.

NN ФИО                  Рейт  1    2    3    4    5   Очки Бухг Берг Пб NRat
01 Player1              2400 02+ч 03-б 05+ч 04-б 06+б    3   12    6  3 2403
   Player2              2400 01-б 05+ч 04-ч 06+б 03+ч    3   12    6  3 2403
   Player3              2400 04+ч 01+ч 06+ч 05-б 02-б    3   12    6  3 2403
   Player4              2400 03-б 06+ч 02+б 01+ч 05-б    3   12    6  3 2403
   Player5              2400 06+ч 02-б 01-б 03+ч 04+ч    3   12    6  3 2403
06 Player6              1000 05-б 04-б 03-б 02-ч 01-ч    0   15    0  0 1016

Вариант 2. Расчёт рейтинга после каждого тура основывается на новом рейтинге, расчитанном в предыдущем туре

1 Игрок1 2400 2+ 3- 5+ 4- 6+ 2401
2 Игрок2 2400 1- 5+ 4- 6+ 3+ 2402
3 Игрок3 2400 4+ 1+ 6+ 5- 2- 2400
4 Игрок4 2400 3- 6+ 2+ 1+ 5- 2401
5 Игрок5 2400 6+ 2- 1- 3+ 4+ 2402
6 игрок6 1000 5- 4- 3- 2- 1- 1015

Какие можно сделать выводы?

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

То есть использование зависимых друг от друга рейтингов, невелирует действие коэффициента развития.
В таком варианте рейтинговая масса будет "сползать" относительно силы игроков.
И второе, рейтинги подвергаются колебаниям, которые приводят к непредсказуемым результатам в подобных сложных системах.

Почему мы пришли к таким результатам?

С точки зрения рейтинг-системы, турнир - это серия независимых испытаний для подтверждения гипотезы о том, что рейтинги игроков верны.

Используя рейтинги игроков на старте турнира для расчёта нового рейтинга мы тем самым не меняем вероятности исходов с потенциальными соперниками игроков. В этом случае мы сохраняем условие независимости испытаний.

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

Объясню на простом примере с монетой.

Пусть по результатам предыдущих экспериментов мы имеем математическое ожидание выпадения орла близкую к 0.5.
Мы решили провести новый эксперимент с 10-ю испытаниями. То есть мы хотим десять раз подбросить монету.
После первого подбрасывания выпадает орёл. По методике, которая используется сейчас, мы должны скорректировать математическое ожидаение выпадения орла на основе одного испытания. И так поступать после каждого испытания.
Классическая наука говорит о том, что нужно результат десяти испытаний привести к среднему значению.

У меня всё.
yuray76
Advanced Member
Повідомлень: 110
З нами з: 11 березня 2003, 08:41
Контактна інформація:

Повідомлення yuray76 »

liver @ Aug 23 2008, 07:25 AM писав:
Но это же так?

Или нет?
Воно то вроді і так, і не так.
liver @ Aug 23 2008, 07:32 AM писав:

Я знаю, что изначально было так, и для удобства расчёта изменилась рейтинг-система.

Да, спочатку, напевне, було саме так. Розрахунок вівся в напів автоматизованому режимі. Тому розрахунок турніру базувався на початковому рейтингу гравців. За наявності програми, яка дозволяла розраховувати рейтинг гравців лише за результатом однієї партії, такий метод розрахунку був зручним. Часто густо доводилося розраховувати великі міжнародні турніри, в яких брали участь декілька гравців з України. За старим методом обрахунку достатньо було перерахувати рейтинг лише українських гравців. Існуючий метод розрахунку тягнув за собою необхідність перерахунку рейтингу, як правило, всіх гравців. Це займало дуже багато часу. На мою думку, тому і тільки тому при розрахунку турнірів використовувався метод, при якому рейтинг гравця не змінювався на протязі турніру.

Щодо програмного забезпечення, то нема великого значення як рахувати, оскільки все зводиться до перестановки двох рядків коду. У варіанті який ми маємо сьогодні ці рядки мають вигляд

for i := 1 to N1 do
for j := 1 to N2 do
begin
//розрахунок рейтингу за результатом однієї партії
end;

де N1, N2 – відповідно кількість турів та гравців.

Якщо розрахунок турніру вести з фіксованим початковим рейтингом гравців, то код зміниться наступним чином

for i := 1 to N2 do
for j := 1 to N1 do
begin
//розрахунок рейтингу за результатом однієї партії
end;

От і вся арифметика, якщо говорити про програму.
Тому, вислів
liver @ Aug 22 2008, 10:51 PM писав: Единственной причиной такого способа расчёта может служить лишь отсутствие полноценной программы расчёта рейтинга, которая может "помнить" начальные рейтинги игроков.
виглядає для мене дивним.

Сама програма ніяк не вплинула і не може вплинути на вибір тієї чи іншої системи розрахунку рейтингу.
Аватар користувача
Небайдужий
Advanced Member
Повідомлень: 4838
З нами з: 01 січня 2007, 13:26
Розряд: 6k
Звідки: м. Рівне
Контактна інформація:

Повідомлення Небайдужий »

Вважаю недоцільною ревізію нині діючої рейтингової системи, так як стабільність системи підтверджена багатьма роками її існування і ставиться як приклад стабільності, наприклад в Росії.
Рейтинг, це завжди не точна величина. Вона дуже відносна і має наближений характер. Чи варто говорити про точність у 1-2 очка, коли сама рейтинг-система не передбачає великої точності, а слугує лише відносному розміщенню гравців за силою гри. А постійні кореляції у міжнародних турнірах (зовнішня кореляція) та ведення окремих регіональних рейтингів і надання регіональним представникам права самостійно корегувати рейтинги гравців нижче 2 кю за результатами регіональних турнірів (в тому числі і форових) дають можливість системі функціонувати достатньо стабільно. Таку схему готові перейняти навіть представники інших країн.
Так для чого ж нам її міняти?
Не утримуй те, що минає, і не відштовхуй те, що приходить ... і тоді щастя саме знайде тебе.
Омар Хайям
Аватар користувача
liver
Advanced Member
Повідомлень: 1824
З нами з: 31 березня 2003, 00:24
Розряд: 1d
Звідки: Odesa

Повідомлення liver »

2 yuray76:

всё же хотелось увидеть аргументацию такого же уровня, который предложил я.

На мою думку, тому і тільки тому при розрахунку турнірів використовувався метод, при якому рейтинг гравця не змінювався на протязі турніру.

Для того, щоб змінити свою думку, Вам потрібно уважно ще раз прочитати перший та шостий пости цієї гілки, якщо Ви маєте університетську освіту за фахом "Математика".

От і вся арифметика, якщо говорити про програму.

Ось тому і повинно бути і дивно і смішно, що з'явилась можливість вести розрахунок у відповідності до класичної науки, але це не здійснилося.

Тому, вислів

Цитата (liver @ Aug 22 2008, 10:51 PM)
Единственной причиной такого способа расчёта может служить лишь отсутствие полноценной программы расчёта рейтинга, которая может "помнить" начальные рейтинги игроков.

виглядає для мене дивним.

Тому я і зробив висновок, що якщо автори програми дружать з математикою, то єдиною причиною неправильного розрахунку рейтинга може вважатися лише обмежені можливості версії програми.

Я б і не писав нічого, якщо б розбіжності у результатах двох алгоритмів були незначними, але написав тільки після того, як провів дослідження і побачив, що розбіжності значні.
Аватар користувача
liver
Advanced Member
Повідомлень: 1824
З нами з: 31 березня 2003, 00:24
Розряд: 1d
Звідки: Odesa

Повідомлення liver »

Напомню историю изменения рейтинг-системы.

Изначально существовала рейтинг-система, ссылка на описание которой находится здесь:

http://ufgo.org/UFGOdocs/RaitUFGo.htm

Потом Корсак ввёл новую рейтинг-систему. Для чего? Не знаю. Он не говорил, и узнал я об этом только в прошлом году, хотя он её изменил в 2001.
Но плохого он ничего не сделал, он приблизил её к европейской. Это плюс. Может в этом и была его мотивация.
Плохо то, что он её не опубликовал, поскольку рейтинг-система - фундаментальный документ УФГО.

Что касается истории программы.
Изначально программа была простой, в ней были два поля для ввода рейтингов двух игроков и двух полей, где выводились расчитанные рейтинги.
Я помню, как вначале на этой программе считал на основе старого рейтинга, то есть менял только рейтинг соперника в поле рейтинга второго игрока и Корсак
принимал мой результат расчёта, возможно и сам так считал.
Потом Володя добавил кнопку, по которой расчитанный рейтинг игроков попадает автоматически в поле рейтинга для обсчёта.
Володя хорошо знал старую рейтинг-систему и как выяснилось позже, знал и новую - европейскую, в которой также учитывается старый рейтинг на протяжении всего турнира.
Я ему говорил тогда, что надо же считать на основе старого рейтинга.
На что он ответил, что эта программа простая и удобная и расчёт на основе старого рейтинга усложнит алгоритм, а расхождения незначительные. Этот момент я помню чётко, поскольку я хоть и не разделял такой подход, но его ответ меня удовлетворил, т.к. действительно, лучше уж так, чем считать вручную.

Я продолжал считать правильно и отсылать результаты турниров с расчитанным рейтингом и Володя их принимал.
О варианте программы с расчётом рейтингов всего турнира я узнал год назад. Тогда и начал интересоваться, а какой же алгоритм использует Корсак.
Когда узнал, включил в свою программу расчёт нового рейтинга.
Одесса Золотая - единственный турнир, где можно проверить расчёт рейтинга по программе Корсака и по моей. Расчитали. Получиолись расхождения. Причём значительные(больше 100 очков за счёт аномалки у Дижура Никиты).
Стал разбираться дальше, провёл эксперимент. Результаты опубликовал.
Вот и всё.

Я никого не хотел этим оскорбить.
Почему мой труд вызывает у кого-то негатив?
Відповісти