Алгоритм расчета оценки сообщения пользователя - матан кто хорошо знает?

aspnet
На сайте с 17.09.2005
Offline
68
665

Думаю над алгоритмом расчета репутации для своего форума, ничего нового конечно не придумал, но не совсем получается с мат. частью.

Формула, которая получается - имеет линейную зависимость. Думаю, стоит график при возрастании "пригнуть" вниз, т.е. при большем весе ставить меньший коээффициент "удара баллами". что то вроде сигмоидной формы хочется получить.

Итак, в результате функции на основе коэффициентов мы получаем число Х. Необходима формула для экспоненциальной зависимости (сигмоидальной формы).

Спасибо.

Ниже я привел постановку задачи и мой файл расчет в экселе, если кому интересно.

--------------------

Донор Ud (пользователь, кто оценивает)

Акцептор Ua (пользователь, сообщение которого оценивают)

Лог в таблице

• Ud

• Ua

• Направление оценки – минус, плюс

• Кол-во баллов

• Дата

• Сообщение

Правила

• Для того, чтобы Ud мог оценивать ему надо получить плюс от модератора.

• Пользователи с одного IP не могут оценивать пользователей с того же IP. Сообщение модератору.

• Пользователи могут оценивать только при кол-ве своих сообщений от пяти.

• Нельзя оценивать забанненых пользователей.

• Каждый форум имеет свой весовой коэффициент (0 – не оцениваемый).

• Кол-во оценок в день – три штуки (параметр, зависит от активности).

• Ud может оценивать Ua не чаще 1 раза в неделю.

• Если Ud оценил Ua, то Ua не может оценивать Ud в течении 3 дней (параметр).

Параметры оценки

1) кол-во созданных тем (T)

2) кол-во постов (A)

3) кол-во постов Ud, которые отмечены плюсами (P)

4) дата регистрации = кол-во дней с момента регистрации (D)

5) репутация Ud (R)

6) репутация Ua (Ra)

7) коэффициент форума (F)

8) направление оценки + – (S)

Формула – перемножаем параметры (кроме F) с коэффициентами и умножаем на коэффициент форума (F). Над полученным результатом делаем экспоненциальную зависимость.

zip 11934.zip
Mishael
На сайте с 08.11.2001
Offline
217
#1

На самом деле, над системой репутации на куче форумов разбито много копий :) Репутация не всегда дается потому что хочется человека максимально поощрить :) Иногда хочется просто выразить согласие и чтобы он об этом знал. Забивать форум постами +1 любят не все. Иногда, хочется написать ему пару слов а система репы для этого в 100 раз более удобна чем громоздкая личка или малопонятный "пейджер". Кроме того, многие еще и сами хотят дозировать выдаваемые баллы, затем, чтобы уважаемый старичок не делал новичку репу +10000 всего лишь одной похвалой, пусть даже умного поста ;) Т.е. на самом деле тут надо точно представлять задачу репутации и ее запрограммировать. Как показывает практика, проблемы именно на этапе постановки задачи возникают. Люди просто не понимают зачем это нужно и к чему это приведет в итоге... Любая формула хорошо проверяется примитивным просчетом на 10 лет вперед ;);) Если сделать зависимости типа логарифма - то вся репа на форуме в итоге устремиться к константе :) Если линейно - к бесконечности :) А в общем случае вы написали неплохой список аргументов функции. Введя туда Ua (Ra) вы сделали шаг вперед :) Введите еще балл оценки(передаваемый балл) - и это будет сразу два шага :)

Мой надежный веломагазин (https://veliki.com.ua/) на CMS Melbis Shop 6 (http://www.melbis.com/)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий