Вопрос

Я ищу информацию о том, какой алгоритм голосования будет лучше для меня. У меня есть базовая система голосования «вверх/вниз», в которой пользователь может голосовать только за продукт вверх или вниз. Я хотел бы сделать его взвешенным, так что продукт, которому год, не будет придерживаться тех же стандартов, что и тот, который является совершенно новым.

Я думаю, делаю алгоритм, который за последние 30 дней требует количества голосов за каждый продукт. Однако это создает ничьей назад. Я не хочу, чтобы голоса старше 30 дней стали бессмысленными, но, возможно, не взвешены, как новые. Тогда, возможно, голоса через 90 дней даже взвешены меньше, чем старше 30 дней.

Кто -нибудь знает об алгоритме, который это делает уже, и даже более, что можно легко рассчитать в PHP?

Это было полезно?

Решение

Google App Engine имеет хороший пример Это касается голосов, которые «распадаются» со временем.

Это в Python, но он должен соответствовать вашим потребностям.

Другие советы

Я думаю, что, учитывая простоту вашего требования, лучший курс действия - написать это самостоятельно.

Не зная больше, я думаю, что ваша задача будет заключаться в том, что вы будете сохранять эти данные в своей базе данных в предварительно взвешенном формате (например, когда голосование сделано, дайте ему $ this_year + 1 баллы »), рассчитываете ли вы взвешивание в Ваш запрос DB (например, порядок по оценке, который учитывает как проведения, так и дату, когда голосование было отменено), или вы возвращаете все необходимые данные и выводят вес в PHP. Выбор зависит от того, что вам нужно делать, и сколько данных будет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top