BioLogIn писал(а):
My_rating_after=(Tour_result_group_number/groups_amount*k)*(My_rating_before/avg_rating_before),
где My_rating_before - рейтинг игрока до турнира, avg_rating_before - средний рейтинг игроков, участвующих в турнире, к - коэффициент турнира, по умолчанию 10 (скажем, 5 для новичковых турниров и 15 для закрытых профи-турниров).
Итак, мое любимое.... Что за ересь???
Примеры лучшее средство выявления косяков
Гипотетическая ситуация:
Начальный рейтинг игроков
Ха - 9
Фр - 5
Ни - 3
Количество игроков - 16
Коэффициент турнира дефалт - 10
Средний рейтинг игроков турнира - 5
Делаем расчет для 1,2,3 места для каждого
Ха(1) = (1/8*10)*(9/5) = 2.25
Ха(2) = (2/8*10)*(9/5) = 4.5
Ха(3) = (3/8*10)*(9/5) = 6.75
Фр(1) = (1/8*10)*(5/5) = 1.25
Фр(2) = (2/8*10)*(5/5) = 2.5
Фр(3) = (3/8*10)*(5/5) = 3.75
Ни(1) = (1/8*10)*(3/5) = 0.75
Ни(2) = (2/8*10)*(3/5) = 1.5
Ни(3) = (3/8*10)*(3/5) = 2.25
В итоге получится, что лучше всего слить турнир в 2-х боях и заиметь наивысший рейтинг это раз, и второе игрок, у которого рейтинг выше среднего, будет иметь больший мультипликатор рейтинга
Upd.
А теперь давайте развернем формулу
Те же, там же, то же... Округление div(0)
Ха(1) = (8/1*10)*(5/9) = 44
Ха(2) = (8/2*10)*(5/9) = 22
Ха(3) = (8/3*10)*(5/9) = 14
Ха(8) = (8/8*10)*(5/9) = 5
Фр(1) = (8/1*10)*(5/5) = 80
Фр(2) = (8/2*10)*(5/5) = 40
Фр(3) = (8/3*10)*(5/5) = 26
Фр(8) = (8/8*10)*(5/5) = 10
Ни(1) = (8/1*10)*(5/3) = 133
Ни(2) = (8/2*10)*(5/3) = 66
Ни(3) = (8/3*10)*(5/3) = 44
Ни(8) = (8/8*10)*(5/3) = 16
Даже в этом случае мы имеем большое несоответствие.. Игрок с высоким рейтингом, заняв 1 место, получает итоговый рейтинг ниже, чем игрок с низким, занявший 2 или 3 место, причем разница в рейтинге до и после несопоставима
Формула требует серьезной доработки, а возможно и полного изменения..