Алгоритм начисления силы и рейтинга

Намедни решил сделать кое какие расчеты, для которых нужны данные о начислениях силы и рейтинга в ЛС.
Открыл исходники и для наглядности построил графики зависимости количества начисляемого рейтинга и силы от силы проголосовавшего.

Вот что получилось:
Собственно по оси Y количество чего-то, которое получит юзер за Ваш голос, а по X количество силы голосующего. Значения каждой функции ограничено снизу и сверху. На графике не все точки, а лишь диапазон от 0 до 550, впрочем этого достаточно, чтобы увидеть перепады в приросте веса голоса, полные ограничения указаны ниже.


min = 0,004
max = 0,5



Для силы:
min = 0,1
max = 8

Для рейтинга:
min = 0,036630037
max = 2,93040293



min = 0,42
max = 3,2


Количество рейтинга, которое зачислят топику, за ваш голос.

6 комментариев

avatar
Весьма интересно, откуда исходные данные?
с чистой сборки? транковой? сайта livestreet.ru? со воего сайта?
avatar
чистой сборки
LiveStreet_1.0.1\classes\modules\rating\Rating.class.php
avatar
Да, круто, спасибо.

Мне вообще интересно, настолько ли сильно отличаются эти кривые от линейных, чтобы оправдать логарифмы :) Хотя расчёт производится только по конкретному действию голосования (то есть — нечасто), соответственно особой нагрузки на сервер это на даёт и никому не мешает.
  • NPC
  • 0
avatar
основное отличие — замедление роста Y при большом росте X
avatar
Ну да, то есть это за сотнями силы ощущаться будет. Чтобы предотвратить чрезмерное вырастание пользователей в эдаких годзилл, одним голосом перечёркивающих мнение всех остальных.

Логично :)
avatar
А этот алгоритм, он на данное время балансен?
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.