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

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

Как точно вычисляются значения Elo, не важно из-за этого факта: если команда A бьет команду B, то победа Elo a равна потере Elo B.

следовательно, у меня есть проблема с начальными значениями для моей рейтинговой системы:

  • должен ли я использовать начало значение "0" для каждого игрока? Сумма всех значений Elo будет постоянной. Но поскольку количество игроков растет, будет какая-то дефляция Elo, не так ли?
  • должен ли я использовать любое начальное значение больше 0? В этом случае, сумма всех значений рейтинга будет постоянно увеличиваться. Таким образом, может быть инфляция Elo. Проблема: точки Elo теряют значение, но начальное значение всегда остается неизменным.

Что делать? Вы можете мне помочь? Спасибо вперед!

7 ответов


вы можете начать с нуля и добавить коэффициент помадки к отображаемому счету, чтобы сохранить его выше нуля, или вы можете начать с 1000 - они то же самое. Да, с начальной точкой 1000 вы будете иметь все большее количество общих очков ELO в системе, но это всегда будет одно и то же число на игрока в среднем - 1000. Начальным значением для Elo всегда является текущее среднее значение. ELO-игра с нулевой суммой, очки, потерянные игроком A, выигрываются игроком B.

когда вы устанавливаете начало по сути, вы говорите, что средний игрок = 1000 очков. С закрытой группой первоначальных игроков (бета-тестеры?) это верно, в пределах этой группы average = 1000. Но если игра-это то, что вы улучшаете со временем, тогда ваш средний игрок закрытой группы становится высококвалифицированным по сравнению с тем, кто не играл.

теперь, когда вы назначаете 1000 новому игроку, вы говорите, что новые средние игроки = существующий высококвалифицированный средний игрок. Это не правда, они, скорее всего, будут гораздо менее квалифицированными, чем ваша первоначальная закрытая группа. Таким образом, новый игрок теряет очки, а ваши высококвалифицированные игроки получают => инфляцию. Что вы должны сделать-это точно оценить мастерство новых игроков и присваивать им рейтинг, который больше соответствует их реальной квалификации. Это можно сделать, назначив им "предварительный рейтинг" для их первых игр x, пока вы не почувствуете их мастерство. При предварительном ранжировании изменится только их оценка ELO, а не тех людей, которых они играют. Как только они присоединятся к реальной системе, очки, которые они приносят в забитый Эло, будут примерно приравниваться к их фактическому мастерству, и они не будут резко двигаться вверх или вниз => нет инфляции или дефляции.

короче говоря: предварительный рейтинг


этот сайт использовал рейтинговую систему elo. Они начинаются с 1200

взято из http://gameknot.com/help-answer.pl?question=29

рейтинговая система GameKnot основана на рейтинговой системе Elo с фиксированным K = 20 и следующими модификациями:

первые 20 игр используются для установления рейтинга игрока на сайте. В течение первых 20 игр, рейтинг игрока рассчитывается как среднее оценок все его / ее противники, +400 в случае победы, -400 в случае проигрыша, то же самое для ничьей. +/-200 очков используются при игре против игрока с предварительной оценкой. Рейтинг игрока является предварительным В течение первых 20 игр, после чего он устанавливается. Рейтинг игрока считается равным 1200 в течение первых 5 рейтинговых игр.

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

более высокий из двух рейтингов, в начале игры и в конце, используется для расчета корректировок рейтинга после окончания игры.

например, если во время ваших первых 20 рейтинговых игр вы сыграли 3 игры и выиграли против 1200 игроков с предварительным рейтингом, то против 1400 игроков с установленным рейтингом, но проиграли против 1600 игроков с установленным рейтингом, ваш рейтинг будет: ( (1200 + 200) + (1400 + 400) + (1600 - 400) ) / 3 = 1467

или, если во время ваших первых 20 номинальных игр вы выиграете против 1200 временных, выиграете против 1400 установленных, проиграете против 1600 временных, ничья против 1500, ваш рейтинг будет: ( (1200 + 200) + (1400 + 400) + (1600 - 200) + 1500 ) / 4 = 1525


Эло работает на разница в рейтингах двух игроков или команд фактическое значение не имеет значения. Вы можете начать с любого номера, который вам нравится. Я запускаю систему для Лиги Scrabble Facebook с начальным значением 5000 просто, чтобы отличить ее от других систем рейтингов Scrabble.

инфляция не является результатом переоцененных новичков, теряющих очки для опытных игроков-это все выравнивается во времени. Инфляция происходит от людей с менее чем средние рейтинги покидают систему. Это то, что обычно происходит в онлайн-играх, в отличие от реальных шахмат, где дефляция является проблемой, потому что игроки с высоким рейтингом выходят на пенсию и забирают свои очки из системы.

но вам нужно беспокоиться об инфляции? Единственное время, когда это важно, если вы хотите сравнить производительность текущих игроков с историческими фигурами-не проблема, с которой могут столкнуться любые онлайн-геймеры. Даже если вы беспокоитесь об инфляции, это легко исправить. Найдите средний рейтинг всех ваших текущих игроков и сравните его со стартовой цифрой, если он слишком высок, уменьшите рейтинг каждого, чтобы вернуть его в линию. По моему опыту, сокращение на 1 или 2 балла за период рейтингов делает трюк и объясняет много новичков, которые получают избиение и не возвращаются.

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

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

Я бы также добавил, что у нас есть один решительный игрок, который потерял все, кроме 21 из 732 игр, которые он играл за последние четыре года, и его Эло все еще около 4100. Рейтинговые очки, которые он теряет в каждом раунде, быстро приближаются к нулю.


  1. игроки видят этот счет?
  2. поймут ли игроки Эло?
  3. будут ли игроки продолжать играть, если их счет станет отрицательным?

Я бы начал всех с некоторого положительного значения точки (10, 100, 1000, это не имеет значения). Когда два человека относительно возможностей играть друг с другом, результаты торговли, как и ожидалось. Где вам нужно сосредоточиться, это своего рода относительная способность между двумя игроками.

предположим, позже в жизни игры у меня есть 25000 очков, а у вас n00b со 100. Я бью тебя, я ничего не получаю, а ты ничего не теряешь. Почему? Потому что я только что получил n00b, вот почему. Не должно быть никакого преимущества для нового игрока, чтобы снять начинающего игрока. Кроме того, даже если вы находитесь в некотором диапазоне точек, вы должны реализовать что-то, где вы можете заработать столько очков от данного игрока в определенном диапазоне времени.

очевидно, это будет что-то, что будет постоянно настраиваться на протяжении время жизни игры.


Я не знаю, полезно ли это, но страница рейтинга Марка Гликмана обсуждает некоторые вопросы с рейтингами Elo,их снижениями и т. д. (см. последние абзацы). Также см. Его рейтинговую систему,система Glicko, который, кажется, учитывает частоту воспроизведения и обсуждает рейтинг надежности. Наконец, его страница исследования имеет много документов, обсуждающих рейтинги и их надежность.

надеюсь, это поможет.


возможно, сделать очки не смогут пойти ниже стартера и положить сумму потери в какой-то "карман".

допустим игроки начинают с 0. Один игрок имеет elo 0 и теряет 10 очков. Он ничего не потеряет и эти очки пойдут в какой карман. Теперь давайте представим, что игрок выиграл следующую игру и получил 11 очков. Вместо того, чтобы получить эти 11 очков, он получит только 1 очко. И теперь его "карман" будет иметь 0 очков.


Я думаю, что большинство Эло-подобных систем в Интернете будут иметь проблемы с рейтингами ползучести.

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

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