Алгоритъм за популярност на потребителите в сайта

Всички видяха на сайтовете система за оценяване на статии и материали. Мнозина дори го направиха сами, но не всеки направи рейтинг на хората в сайта. В тази статия ще ви кажа как да направите висококачествена система за оценка за потребителите на вашия ресурс.

III - хипербола от @klim-danilovklim-danilov Да, това е доста интересна идея, но за оценката на материала. Но не и потребителите. Основни предимства:

  • „Тежестта на всеки плюс или минус постоянно се намалява наполовина в хронологичен ред. Тоест, първият потребител поставя плюс с тежест +50 точки, следващият поставя плюс с тежест +25 точки, минус -50 точки, минус -25, минус -12,5 точки"
Слабости:
  • Всеки следващ вот вече има по-малка тежест.
  • Системата все още не е завършена.

IV - статистическа средна стойност Една от най-разпространените системи. Основата е общият брой гласували и общият резултат, разделени един на друг. Основни предимства:

  • Системата е тествана и работи.
  • Не високи разходи за ресурси.
Слабости:
  • Потребителят има право да гласува от минимум до максимум. И обикновено, според статистиката, потребителите поставят най-ниския резултат или най-високия.
  • Система за изключително оценяване на материала.

Алгоритъмът се основава на геометричната фигура „правоъгълен триъгълник“. Да, понякога в геометрията можем да открием доста необичайни неща.

Сега да преминем към забавната част.

Може би някой ще попита. Защо не използвахте формулата $резултат = ($a * 2) / $b;? Тази формула не работи правилно, когато $a е по-малко от $b повече от 2 пъти.

След няколко месеца ще приключа с писанетопроект (ще пиша за това след затворено бета тестване). Алгоритъмът ще бъде тестван върху реален проект, където е критично необходим.

След хиляда теста с $a = rand(0,99999); $b = ранд(0,99999); Натъкнах се на няколко грешки: 1-во - деление на 0. Коригирано if($b $b / 2) < $резултат = (int) кръг ($b / 2); >Максимумът може да бъде увеличен с 50%.

Бенчмаркът Code-Igniter не върна резултати за натоварване (0,0000).

Благодаря на всички. Търсете вдъхновение във всичко, което виждате.

И тук можете да получите грант за тестов период на Yandex.Cloud. Необходимо е само да въведете "Habr" в полето "секретна парола".