Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Рейтинг страниц, комментариев и пользователей
 
 автор: Sturmvogel   (27.03.2011 в 03:30)   письмо автору
 
 

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

Необходима была формула для подсчета рейтинга. В процессе поисков вывел 2 формулы, которые отвечают за это дело: для самого рейтинга и для силы голоса пользователя. Сила - это фактически мера того, сколько голосов может поставить пользователь. Для новых пользователей это значение равно 1.
Итого получилось следующее:

Рейтинг = Рейтинг + K * lg(3*Сила_голосующего + 1)
Сила = lg(Рейтинг + 10)

Здесь Рейтинг и Сила - для конкретного пользователя;
Сила_голосующего -- соответственно сила пользователя, который меняет рейтинг выбранному пользователю
K -- коэффициент, который определяет вес увеличения рейтинга. Разный для голосования за пользователя (3,8), страницу (1,5) и комментарий (1,1).
lg - логарифм по основанию 10.

Как вам такая система подсчета рейтинга?

  Ответить  
 
 автор: cheops   (27.03.2011 в 11:00)   письмо автору
 
   для: Sturmvogel   (27.03.2011 в 03:30)
 

А что означает страница (1.5)?

  Ответить  
 
 автор: Sturmvogel   (27.03.2011 в 12:00)   письмо автору
 
   для: cheops   (27.03.2011 в 11:00)
 

Страница -- это, например, статья какая-то. А 1,5 - это коэффициент приращения рейтинга. Чем он меньше, тем медленней будет расти рейтинг пользователя, чью статью оценили.
Таким образом получается, что для страниц (статей) формула будет выглядеть так:
Изм.Рейтинга = 1,5 * lg(3*Сила_голосующего + 1)

  Ответить  
 
 автор: cheops   (27.03.2011 в 12:50)   письмо автору
 
   для: Sturmvogel   (27.03.2011 в 12:00)
 

Хм... ну вроде ничего, а вы не моделировали поведение системы, т.е. скажем для пользователя, который добавляет по две статьи в год, по 50 комментариев в день и случайным количеством голосов за статьи и комментарии? Было бы интересно понаблюдать за динамикой.

  Ответить  
 
 автор: Loki   (28.03.2011 в 17:20)   письмо автору
 
   для: Sturmvogel   (27.03.2011 в 03:30)
 

Пробовали подобную систему... в итоге уперлись в необходимость ограничить влияние голосов друг на друга, иначе топ начал катастрофически отрываться от основной массы.
Правда, у нас довольно активное голосование на сайте идет... и материалов много постят.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования