Здравствуй.
Мой дорогой читатель, сегодня я поделюсь с тобой идеей, которую ты сможешь использовать в своих проектах совершенно бесплатно, хотя я буду рад благодарности в любой форме.
Последние несколько постов я рассуждал о системах рейтингов и в первой заметке на эту тему была система +1/-1. Очень простая для понимания, от того любимая многими. Я хочу улучшить ее, а точнее улучшить алгоритм подсчета. Визуально для пользователя ничего не изменится, он по прежнему будет иметь на выбор два варианта «+» либо «-».
Итак начнем. Для начала договоримся об одной условности — нередко встречаются топики у которых количество плюсов или количество минусов несравненно выше средних показателей. Это конечно приятно их авторам но совершено бесполезно для разработчиков и пользователей. Куда проще ввести абсолютный плюс и абсолютный минус, достичь которые крайне сложно, но каждый из топиков стремится к одному из них постоянно.
Итак пусть в нашей системе абсолютный плюс это «+100», а абсолютный минус это «-50».
Теперь договоримся о следующем — каждый плюс или каждый минус несет в общую сумму разные значения, которые вычисляются в зависимости от того какой человек по счету поставил оценку. То есть, чем позже человек голосовал тем меньше его голос учитывается. Это спасет нас от эффекта толпы.
Формула расчета очень проста. За первый плюс оценка «+50», за первый минус «-25», за второй плюс — «+25», за второй минус — «-12,5». И так далее, каждый раз оценка уменьшается в двое.
К чему это приведет — у каждого топика существует свой предел вокруг которого оценка и пляшет. В принципе задать оценку любого топика можно последовательностью из плюсов и минусов. Так например последовательность «++-+- — -+-+++++» будет равна 51,36 с копейками (тысячные можно и не учитывать), а ее противоположность «- -+-+++-+- — - — -» равна 46,97.
Почему такая небольшая разница? В первой последовательности количество плюсов в два раза больше количества минусов, а во второй наоборот, а разница не большая, даже не ушла в минус, почему?
Потому что это совершенно другая система. Она немного должна изменить психологию пользователя. Один плюс дороже многих минусов. Хотя один минус уже не даст топику высоко взлететь, сколько бы плюсов за него не поставили.
Примеры (скажу по секрету, в последовательности важно количество плюсов, а не на каком месте они стоят):
«- — - — -» — -48.43, «+- — - -» — 1.56, «++- — -» — 31.25, «- -+++» — 50, «-++++» — 71.87, «+++++» — 96.87
Система не идеал, нужно еще работать над вычислением шага который сейчас равен 50/n (возможно стоит вплести сюда логарифм, чтобы падение было плавным), но уже сейчас видны преимущества в виде победы над «эффектом толпы».
Буду рад прочитать любые замечания и предложения.
P.S. и кстати, ты знаешь причем тут гипербола? ;)