Недавно созданный турнирный кронштейн, где игроки могут зарегистрироваться и участвовать в шансе получить выигрышное место. Как вы можете видеть, здесь картина этого:Начальные значения для elo
После турнира кронштейн закончен, я планирую преобразовать эти выигрыши в рейтинг. Итак, в результате «Ахиллес» занял первое место, так как он сделал все возможное на турнире, тогда №2 будет «rjg 2» и так далее. Причина, по которой скобка турнира будет преобразована в ранжирование, заключается в том, что теперь я хочу дать игрокам возможность создавать матчи против других игроков. Это важно, потому что, хотя турнирная скобка работает, она не содержит результатов всех возможных совпадений между игроками. Это прекрасно, турнирная скобка только что дала другим базовое представление о том, кто лучший/худший. Однако, как только скобка турнира преобразуется в ранжирование, у новых пользователей также есть возможность зарегистрироваться, позволяя игрокам больше конкурировать друг с другом. Теперь, прежде чем я начну участвовать в рейтинге, я хочу попытаться использовать рейтинг Elo в матчах. Моя проблема заключается в том, что мне нужно назначить этих игроков в турнирных точках. Это сложно, потому что, если я не буду осторожен, то значение K может испортиться в порядке вещей. Вот мой стол:
#1 Achilles
#2 rjg 2
#3 gg
#4 beta 1
#5 dfgsdf
#6 test2
#7 rjgtest
#8 rocket
Мне нужно назначить каждому игроку «баллы», чтобы отразить рейтинг. Это означает, что № 1 Ахиллеса будет иметь наибольшее количество очков, а # 2 - rjg2 и т. Д. Однако, с тем, как работает Elo, я не знаю, сколько очков назначить. Если я сделаю это слишком, игроки не будут иметь шансов подняться в рейтинге, но если я сделаю это слишком маленьким, ряды будут постоянно меняться.
Например, если я изложу свою таблицу вверх так:
1 1000
2 900
3 800
4 700
5 600
6 500
7 400
8 300
9 200
10 100
Где # 1 будет иметь 1000 пунктов, # 2 будет иметь 900 баллов, и так далее. Если ранг №10 превосходит ранг №1, это, очевидно, очень маловероятно. Итак, когда я делаю математику с эло, вот что происходит:
Так что, если я так обойдусь (исходя из того, как это объясняется here), скажем, у меня есть ранг № 10, стоящий перед ранга № 1 , Согласно приведенному выше сайте, моя формула:
R' = R + K * (S - E)
и рейтинг # 10 имеет только 100 точек, где # 1 имеет 1000. Так после выполнения математике ранг # 10 ожидается значение избивая # 1:
1/[ 1 + 10^([1000 - 100]/400) ]
= 0.0055%
0,55% является очень низким, и имеет смысл, ранг # 10 почти не имеет шансов бить кого-то так хорошо, как ранг # 1. Однако, если бы он был бить его, и вот результат:
100 + 32 * (1 - 0.0055)
= 131.824
Он только набрать 31 очко, когда избиение игрока оценивается как # 1. Это, очевидно, не сработает, но я могу либо уменьшить диапазон в точках, либо увеличить коэффициент K.
У кого-нибудь есть предложения, чтобы сделать эту работу? Или, может быть, я предлагаю другим игрокам по-другому?
комплект 'K' немного выше. Если бы он смог победить # 1, он наверняка выиграет еще пару раз ... вам действительно не нужны огромные колебания только из-за одного матча. –