加权投票算法

时间:2010-11-08 23:18:16

标签: php algorithm voting

我正在寻找有关哪种投票算法最适合我的信息。我有一个基本的“向上/向下”投票系统,用户只能向上或向下投票。我想加权,以便一年前的产品不会达到与全新产品相同的标准。

我在想一个算法,它会在过去30天内获得每种产品的投票金额。然而,这会造成退缩。我不希望超过30天的投票变得毫无意义,但也许不会像新的那样加权。那么90天后的投票甚至可能比30天以前的投票少。

是否有人知道已经执行此操作的算法,甚至更多可以在PHP中轻松计算?

2 个答案:

答案 0 :(得分:3)

Google App Engine有一个很好的example来处理随着时间推移“衰退”的投票。

它在Python中,但它应该符合您的需求。

答案 1 :(得分:0)

我认为,鉴于您的要求简单,最好的做法是自己写下来。

我不知道更多,我认为您的挑战在于决定是否以预加权格式将此数据保存到您的数据库中(例如“投票时,给它$ this_year + 1分”),无论您是否计算您的数据库查询中的权重(例如,按照得分投票和投票日期的分数排序),或者您是否返回所有需要的数据并推断PHP中的权重。选择取决于您的应用需要做什么以及将有多少数据。