我正在寻找关于哪种投票算法最适合我的信息。我有一个基本的‘向上/向下’投票系统,其中用户只能投票产品向上或向下。我想让它加权,这样一年的产品就不会被保持与一个全新的产品相同的标准。
我在考虑做一个算法,计算每个产品在过去30天内的投票数量。然而,这会产生回调。我不希望超过30天的选票变得毫无意义,但可能没有较新的选票那么重要。那么,90天后的投票甚至可能比30天以上的投票的权重更小。
有没有人知道有一种算法已经做到了这一点,甚至可以很容易地在PHP中计算?
发布于 2010-11-09 07:32:39
Google App Engine有一个很好的example,可以处理随时间“衰减”的投票。
它是用Python编写的,但应该能满足您的需求。
发布于 2010-11-09 07:56:45
我认为,考虑到您的需求的简单性,最好的做法是自己编写这篇文章。
在不知道更多的情况下,我认为你的挑战将是决定是否将这些数据以预加权格式保存到数据库中(例如,“当投票时,给它$this_year +1分”),是否在数据库查询中计算权重(例如,按计入投票结果和投票日期的分数排序),或者是否返回所有需要的数据并在PHP中推导权重。选择取决于你的应用程序到底需要做什么,以及将有多少数据。
https://stackoverflow.com/questions/4129069
复制相似问题