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

Разное

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

 

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

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

тема: Логическая задачка для умных:)
 
 автор: Loki   (23.12.2008 в 16:56)   письмо автору
 
 

Пытаюсь придумать формулу расчета рейтинга для одного сайта.
На сайте пользователи будут публиковать свои работы. Работы будут оценивать и в результате у каждой работы будет рейтинг по 100 бальной шкале.
Необходимо на основании количества работ, количества голосов поданных за эти работы и рейтинга этих работ рассчитать рейтинг автора. Опять же по 100 балльной шкале.
У кого какие будут фантазии?:)

  Ответить  
 
 автор: Trianon   (23.12.2008 в 17:12)   письмо автору
 
   для: Loki   (23.12.2008 в 16:56)
 

а заказчик что говорит?

  Ответить  
 
 автор: Loki   (23.12.2008 в 17:30)   письмо автору
 
   для: Trianon   (23.12.2008 в 17:12)
 

Принимает практически любой мой вариант:)
Но хочется чтобы посетители потом не задавали вопросов "а почему он в рейтинге выше чем я?"

  Ответить  
 
 автор: Axxil   (23.12.2008 в 17:13)   письмо автору
 
   для: Loki   (23.12.2008 в 16:56)
 

Я бы высчитывал среднее количество голосов по каждой работе, считал среднеквадратичное отклонение (как меру "единодушия мнений"), потом делил бы средний бал на СКО получая взвешенную оценку за статью. Потом это дело суммировал, получая общую оценку работ автора.

Как-то так.

  Ответить  
 
 автор: Loki   (23.12.2008 в 17:35)   письмо автору
 
   для: Axxil   (23.12.2008 в 17:13)
 

Собственно, рейтинг статьи и есть та самая мера единодушия.
То есть для расчета уже есть:
рейтинг статьи
количество голосов поданных за статью
количество статей

если просто просуммировать рейтинг статей, то мы не получим рейтинг по 10 бальной шкале... разве что поделить его на текущий максимум... но тогда при смене максимума придется у всех рейтинги пересчитывать.

  Ответить  
 
 автор: Trianon   (23.12.2008 в 19:51)   письмо автору
 
   для: Loki   (23.12.2008 в 17:35)
 

мера единодушия - это скорее рейтинг оценки.

Я вот чего не понимаю.
Отрицательных голосов не существует?
Если за статью не проголосовали, значит у нее изначально оценка низкая?

  Ответить  
 
 автор: Loki   (24.12.2008 в 00:10)   письмо автору
 
   для: Trianon   (23.12.2008 в 19:51)
 

отрицательный отзыв - 1 балл, положительный - 5
то есть при любом раскладе рейтинг оцененой статьи выше чем неоцененной.

  Ответить  
 
 автор: xx   (24.12.2008 в 00:27)
 
   для: Loki   (23.12.2008 в 17:35)
 

если делать не по умному ,)
и при таких условиях что
A у каждой статьи рейтинг в диапазоне 0 -- 100
B колличество статей 0 -- ææ (ææ - это бесконечность )
C и голосов за каждую из статей 0 -- ææ,
То нужно сделать по хитрому
Сдать заказчику при такой настройке что всё по честному , и оценка ровно подсчитывает все плюсы за все три параметра , т.е.

Оценка = 33((sum(всех А автора)/B)/100) + 33(B/sum(B всех авторов)) + 33(С/sum(С за все статьи всех авторов)) + (1|0)
(1|0) - взависимости от настроения заказчика
но набрать 100 смогут только если автор всего один и настроение хорошее :)

И показать где там есть кнопочка , которой убавлять например вторую составляющую , если вдруг какойто талантливый автор напишет слишком много статей на плохие оценки , и оставит далеко взади всех честно-тыкающих на кнопочки , и не умеющих копипастить ;)
или если начнут накручивать оценки , чтобы такое пресекать , но чем больше настроек останется , тем больше вычислений

  Ответить  
 
 автор: Loki   (25.12.2008 в 09:23)   письмо автору
 
   для: xx   (24.12.2008 в 00:27)
 

Спасибо. Вариант хороший.
Но меня смущает обилие динамических вычислений. Я сейчас подумал что самым правильным было бы хранить рейтинг в абсолютных величинах, а к 100 баллам приводить при запросе. В этом случае рейтинг бы пересчитывался для каждого автора непосредственно при голосовании. А запрос был бы достаточно простой:
(rating/MAX(rating))*100

Как вариант рейтинга в этом случае мог бы выступить такой показатель:
sum(A*C)
Что думаете?

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

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