1. Технические проблемы. Ведутся работы. Боты временно недоступны на айкапе. Для желающих помочь открыта вакансия хардкодера.Перейти!

Сделано Система рейтинга ELO

Тема в разделе "Предложения по улучшению проекта", создана пользователем [V-Town]Boss, 11 дек 2015.

Голосов: 0 0/5,

  1. TopicStarter Overlay
    [V-Town]Boss

    [V-Town]Boss Гражданин OZGame Гладиатор

    Сообщения:
    2.243
    Симпатии:
    990
    Баллы:
    243
    Предлагаю изменить систему начисления очков, а именно: чтобы количество начисляемых/снимаемых очков за победы/поражения зависело от разницы средних значений очков в командах.
    На мой взгляд, система начисления очков, которая существует в данный момент, необъективная, а предлагаемый мной вариант гораздо более объективен.
    Приведу пример стороннего ресурса, на котором это реализовано:
    http://legionczsk.lunaghost.com/top/
    Перед введением этой системы (если она вдруг будет введена) считаю уместным обнулить всем очки, то есть сделать что-то вроде нового сезона.
    Также предлагаю в случае лива засчитывать не обязательно поражение тому, кто ливнул, а тот результат игры, который реально имел место (то есть если твоя команда выиграла, несмотря на твой лив, тебе засчитали победу). Дело в том, что не все ливают специально или из-за того, что у них не пошла игра, а просто бывают проблемы с интернетом или еще с чем-либо, и им обидно получать поражения из-за этого, особенно если их команда в итоге все равно выиграла.
    Впрочем, это не столь важно, прошу обратить особое внимание на мое первое предложение.
    Спасибо.

    Блин, в каком разделе я создал тему? Перенесите в раздел ЛТД плс, если это возможно(
     
    Just1ceALLDEAD, Kreyd и Dan нравится это.
  2. try2pwnz

    try2pwnz Участник

    Сообщения:
    72
    Симпатии:
    19
    Баллы:
    33
    система ELO это не открытие америки, штука хорошая, спору нет. Удобная и реально отражает силы игроков.
    Тема уже вроде бы поднималась: "нужно больше золота"
     
  3. Kreyd

    Kreyd Гражданин OZGame Администратор

    Сообщения:
    3.395
    Симпатии:
    1.487
    Баллы:
    312
    Лучше бы привели сорцы данной системы, на столько ко ли она хороша как вы её хвалите.

    А как быть с Mele ботами? Там например ливом считается проигрыш.

    Тогда все будут тупо выдёргивать шнур тем самым всегда иметь винрейт 99%.

    Распишите мне подробно как работает система ELO, возможно что нибудь и придумаем, желательно с сорцами.
     
  4. try2pwnz

    try2pwnz Участник

    Сообщения:
    72
    Симпатии:
    19
    Баллы:
    33
    ну я если честно щас почитал и сам не особо то допёр что к чему :)
    http://www.bakugan-club.ru/index.php?option=com_content&view=article&id=38&Itemid=43
    https://ru.wikipedia.org/wiki/Рейтинг_Эло

    Основная фишка системы в том, что есть своебразный рейтинг (ELO).
    Например: сейчас за любую победу дают 100 птс. В системе эло учитывается сила соперника и кол-во ELO за победу может варьироваться от 10 до 190 (например).
    Т.о. ELO напрямую зависит от силы соперников, т.к. за игру против раков птс будет мизерным. И посути многие "топы" и "про" с 80%+ вр на деле не имели бы и 1500 elo (при стартовом 1000).
    И да, на legion czsk система нехило упрощена. Я если честно не понимаю их отличий, но на https://www.entgaming.net/ система более строгая и суровая и достичь тех же 2к ELO надо реально быть богом лтд :)
     
    Последнее редактирование: 11 дек 2015
    Kreyd нравится это.
  5. Kreyd

    Kreyd Гражданин OZGame Администратор

    Сообщения:
    3.395
    Симпатии:
    1.487
    Баллы:
    312
    Для 1х1 можно сделать и своими силами.
    Нужно посмотреть сам алгоритм, как он считает и учитывает-ли он игры 4x4, главный вопрос?

    Всё понял. Хз думаю.
     
  6. wiz

    wiz Melee Moderator Модератор

    Сообщения:
    1.439
    Симпатии:
    382
    Баллы:
    179
    Сорцов нет, но могу просто объяснить на примере как работает ело:

    Формула: Нов.Рейтинг = Преж.Рейтинг + Ном.Изм.Рейтинга , где
    Ном.Изм.Рейтинга = K-фактор x (Результат-Ожид.Результат)

    K-фактор -
    коэффициент (в шахматах обычно варьируется (10,20,30,40) в зависимости от возраста шахматиста (40 у школопедов, 10 у матёрых катал), но мы можем пренебречь этим, и выставить константный коэффициент = 10)

    Результат - результат игры (выйгрыш= 1, проигрыш= 0)

    Ожидаемый результат - это вероятность победы игрока в одной игре. Он исчисляется основываясь на разнице рейтингов обоих игроков. (игрок1ело - игрок2ело) = разница значений по модулю.

    Например, если разница рейтингов между двумя оппонентами составляет 0, то Ожидаемый Результат каждого будет 0,5. Если эта разница составляет 100 пунктов elo, то более сильный игрок будет иметь Ожидаемый Результат 0,64, а более слабый 0,36. Если разница 200 пунктов - 0,76 - 0,24. 300 пунктов - 0,85 - 0,15. 400 пунктов - 0,92 - 0,08. Больше 400 не считается (т.е если допустим разница ело команд 500, то считается что 400). Вот упрощенная таблица ожидаемых результатам - http://www.chesselo.com/064_ru.html. Все возможные значения разниц ело округляются до 0, 25, 50, 100, 150, 200, 250, 300, 350, 400.

    Как это работает на практике:

    Есть 2 команды. ПТСы сброшены, значение ело у всех равно 0.

    Команда1: Средняя сумма ело = 0 (игрок1ело+игрок2ело+игрок3ело+игрок4ело)/4 = 0
    Команда2: Средняя сумма ело = 0 (игрок5ело+игрок6ело+игрок7ело+игрок8ело)/4 = 0

    Если выигрывает команда1, расчет происходит таким образом:
    Команда1:
    Нов.Рейтинг = Преж.Рейтинг + Ном.Изм.Рейтинга
    Ном.Изм.Рейтинга = К-фактор x (Результат-Ожид.Результат)
    Ном.Изм.Рейтинга = 10 x (1-0,5) = 10 х 0,5 = 5
    Нов.Рейтинг = 0 + 5 = 5

    Команда2:
    Нов.Рейтинг = Преж.Рейтинг + Ном.Изм.Рейтинга

    Ном.Изм.Рейтинга = К-фактор x (Результат-Ожид.Результат)
    Ном.Изм.Рейтинга = 10 x (0-0,5) = 10 х -0,5 = -5
    Нов.Рейтинг = 0 + -5 = -5

    Каждому игроку команды1 после игры прибавляется 5 очков, команды2 - вычитается 5. (elo = -5)


    Второй пример. Разница среднего ело игроков команды 1 и 2 = 100

    Если выигрывает первая команда у которой ело больше на 100 чем у второй, то :
    Ном.Изм.Рейтинга = К-фактор x (Результат-Ожид.Результат)
    Ном.Изм.Рейтинга = 10 x (1-0,64) = 10 х 0,36 = 3,6
    Все игроки получают +3,6 очков. Игроки второй команды получают -3,6

    Если выигрывает вторая команда у которой ело меньше на 100 чем у первой, то :
    Ном.Изм.Рейтинга = К-фактор x (Результат-Ожид.Результат)
    Ном.Изм.Рейтинга = 10 x (1-0,36) = 10 х (0,64) = 6,4
    Все игроки второй команды получают +6,4 очков. Игроки первой команды получают -6,4.

    Вот собственно и всё. Эту систему можно имплантировать не только в лтд 4х4, но и 2х2 и 1х1, а так же мили ботов. В каждом режиме соответсвенно своё ело.



    ___________________________________________________

    + к системе ело обычно добавляют систему перформанса. Если ее перенести сюда она может выглядеть так:

    Игрок выйграл 10 игр подряд - + 50 ело
    25 игр - + 100 ело
    50 игр - + 150 ело
    100 игр - + 250 ело

    Тоже самое если проигрываешь подряд, с тебя снимают ело


     
    ___Listen___, LightOfDeath, Just1ceALLDEAD и 3 другим нравится это.
  7. Kreyd

    Kreyd Гражданин OZGame Администратор

    Сообщения:
    3.395
    Симпатии:
    1.487
    Баллы:
    312
    Как я вижу она не учитывает ело каждого игрока, учитывает только общее кол-во очков каждой команды. Ну вообще да, что я могу сказать, надо делать :thumbsup:
     
  8. wiz

    wiz Melee Moderator Модератор

    Сообщения:
    1.439
    Симпатии:
    382
    Баллы:
    179
    Ну так ело каждого отдельного игрока учитывается в среднем значении ело команды этого игрока.

    Игрок1 - 100 ело - Игрок2 - 200 ело Игрок 3 - 300 ело - Игрок 4 - 500 ело . Общее ело команды (100+200+300+500)/4 = 100/4 = 250 ело

    Если допустим у игрока2 было 0 ело, то ело команды было бы 800/4 = 200 ело
     
    Kreyd нравится это.
  9. Dan

    Dan Почётный член Модератор

    Сообщения:
    3.448
    Симпатии:
    1.466
    Баллы:
    306
    Шикарно объяснил на пальцах, люто плюсую. Тем более что я раньше не знал подробностей, так что слегка расширил кругозор.

    Upd: Kreyd, так ведь это не оч сложно реализовать технически. Может, запилишь, м?
    На ФФА тоже легко распространить, там для каждого игрока надо считать средний рейтинг его противников. Я бы, кстати, в этом случае посоветовал заменить среднее на медианное, потому что среднее при большом разбросе значений в выборке даёт не слишком достоверный результат.
     
    Kreyd нравится это.
  10. TopicStarter Overlay
    [V-Town]Boss

    [V-Town]Boss Гражданин OZGame Гладиатор

    Сообщения:
    2.243
    Симпатии:
    990
    Баллы:
    243
    Я имел в виду ЛТД, про другие игры ничего не знаю
    Нет. Если команда ливнувшего проиграла, ему все равно должно засчитаться поражение, а выиграть, скажем, втроем или вдвоем против четверых обычно нелегко.

    Собственно, здесь расписано вычисление рейтинга. Немного поясню.
    Для начала, у всех должно быть некое стартовое количество очков, скажем, 1000.
    В формуле
    [​IMG]
    [​IMG] и [​IMG] - средние значения очков в командах A и B соответственно.
    Приведу пример.
    Допустим, в игре 4х4 у игроков первой команды значения очков равны 850, 800, 950, 1000. Среднее значение - 900. У игроков другой команды значения очков равны 1450, 1400, 1550, 1600. Среднее значение - 1500. Вычисляем [​IMG]:
    1/(1+10^((1500 - 900)/400)) = 0,03
    Теперь вычислим прибавку очков за победу для первой команды по формуле M = K*(Sa - Ea):
    M = 20*(1-0,03) = ~19,4
    Итоговое количество очков для каждого игрока из команды A будет равно их количеству очков до начала игры плюс M, то есть 869,4, 819,4, 969,4, 1019,4.
    Если произвести аналогичные вычисления для команды B, то мы увидим, что M в этом случае будет равно всего 0,6, и итоговое количество очков в случае победы для них станет 1450,6, 1400,6, 1550,6, 1600,6. То есть за победу над слабыми противниками сильной команде будет даваться мизерное количество очков.
    В случае с 1х1 [​IMG] и [​IMG] будут равны просто значениям очков первого и второго игроков.

    Вероятно, там изменены какие-то цифры, например, коэффициент K, или еще что-то. Хотя я на ENT много не играл, но особых отличий не заметил.

    Опередили)

    Да, можно придумать и посложнее, чтобы это тоже учитывалось) Например, общую прибавку очков M для каждого игрока умножать на Ra/R, где R - количество очков этого конкретного игрока, Ra - среднее значение очков в команде.
     
    Kreyd и wiz нравится это.
  11. Kreyd

    Kreyd Гражданин OZGame Администратор

    Сообщения:
    3.395
    Симпатии:
    1.487
    Баллы:
    312
    Это понятно, но птс дадут всем одинакое или отнимут одинаковое. Я тут не много проконсультировался, можно сделать и для каждого игрока будет свой подсчёт. Пока что только думаем.
     
  12. try2pwnz

    try2pwnz Участник

    Сообщения:
    72
    Симпатии:
    19
    Баллы:
    33
    чёт мне вспомнился универ и курс "статистики". И я уверен на все 100% что ненавижу этот предмет )))
     
    Kreyd нравится это.
  13. Kreyd

    Kreyd Гражданин OZGame Администратор

    Сообщения:
    3.395
    Симпатии:
    1.487
    Баллы:
    312
    Запилюшь наверное, консультируюсь пока что :D
     
  14. wiz

    wiz Melee Moderator Модератор

    Сообщения:
    1.439
    Симпатии:
    382
    Баллы:
    179
    Ты имеешь ввиду делить сумму ело всех игроков не на кол-во игроков а тупо на 2? Ты уверен, что это будет лучше?
     
  15. Kreyd

    Kreyd Гражданин OZGame Администратор

    Сообщения:
    3.395
    Симпатии:
    1.487
    Баллы:
    312
    Прохладная история :)
    В итоге мы получаем шанс что при дропе игроку не засчитает поражение?
     
  16. voix

    voix Rainbow Coalition The Voice of Silence

    Сообщения:
    12.653
    Симпатии:
    3.589
    Баллы:
    348
    Вы можете писать сколько угодно умных формул и прочей фигни, главное сделайте "па красате".
     
    try2pwnz, Dan и Kreyd нравится это.
  17. TopicStarter Overlay
    [V-Town]Boss

    [V-Town]Boss Гражданин OZGame Гладиатор

    Сообщения:
    2.243
    Симпатии:
    990
    Баллы:
    243
    Да, если его команда победила. При этом штатные наказания за лив, например, в виде автобана, останутся.
    К 1х1 это, естественно, не относится:)
     
    Последнее редактирование: 11 дек 2015
  18. Kreyd

    Kreyd Гражданин OZGame Администратор

    Сообщения:
    3.395
    Симпатии:
    1.487
    Баллы:
    312
    В случае выдернуть шнур автобан не сработает. Ну вообще можно придумать, но это не столько критично как есть сейчас
     
  19. Dan

    Dan Почётный член Модератор

    Сообщения:
    3.448
    Симпатии:
    1.466
    Баллы:
    306
    Всё, забудь то сообщение, я мысленно свёл ФФА к соло, по сути. Надо ещё подумать и понакидать на листочке, потому что там не всё так очевидно.
     
    Kreyd нравится это.
  20. try2pwnz

    try2pwnz Участник

    Сообщения:
    72
    Симпатии:
    19
    Баллы:
    33
    если ты имеешь ввиду накидать на листочке примерный расчёт ELO, то лучше взять полуобщую тетрадку :)