Система рейтинга умных игроков 0-100 - PullRequest
0 голосов
/ 27 августа 2018

Мне нужно придумать систему рейтинга умных игроков от 0 до 100.

Мне нужно выполнить следующие условия:

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

2) Повышение рейтинга должно замедлиться до 100

3) Снижение рейтинга должно замедлиться до 0

4) Минимальное изменение рейтинга должно составлять 0,1

5) Максимальное изменение рейтинга должно составлять 10

Каким будет логический ответ или подход к решению?

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

отл.

Если R a <<strong> R b и R a, выигрывает >>>>>>>>

R a '= R a + ( R b- R a) (max.ratingvalue-current.ratingvalue) / 100

R b '= R b + ( R b- R a) (current.ratingvalue-min.ratingvalue) / 100

1 Ответ

0 голосов
/ 27 августа 2018

Пусть рейтинг первого игрока будет равен x, а рейтинг второго игрока будет равен y

После матча скажите, победит ли x и x> y

x += max ( min( ((x-y) * -((x - 50)^2)/25 + 100) 10), 0.1)
x = max(min(x, 100), 0.1)

Минимум и максимум гарантируют, что мы останемся в допустимом диапазоне Функция -((x - 50)^2)/25 + 100 имеет больше смысла, если ее использовать в Desmos или другом графическом программном обеспечении enter image description here

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

Вам нужно будет немного поиграть с этим, особенно с весами для функции, так как я быстро подстроил ее, но, надеюсь, она должна вывести вас на правильный путь и позволить вам найти уравнения для других ситуаций, т. Е.) X побед и х <у и т. д. </p>

...