【问题标题】:Weighted voting algorithm加权投票算法
【发布时间】:2011-05-06 22:57:40
【问题描述】:

我正在寻找哪种投票算法最适合我的信息。我有一个基本的“向上/向下”投票系统,用户只能向上或向下投票产品。我想对其进行加权,这样一年前的产品就不会与全新的产品保持相同的标准。

我正在考虑做一个算法来计算过去 30 天内每种产品的票数。然而,这造成了一个不利因素。我不希望超过 30 天的投票变得毫无意义,但可能没有新的投票那么重要。那么可能 90 天后的投票权重甚至低于 30 天以上的投票。

有没有人知道已经有一种算法可以做到这一点,甚至可以在 PHP 中轻松计算?

【问题讨论】:

    标签: php algorithm voting


    【解决方案1】:

    Google App Engine 有一个很好的 example,可以处理随时间“衰减”的投票。

    它在 Python 中,但它应该满足您的需求。

    【讨论】:

      【解决方案2】:

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

      在不了解更多信息的情况下,我认为您的挑战将是决定是否将这些数据以预先加权的格式保存到数据库中(例如“投票时,给它 $this_year + 1 分”),是否计算您的数据库查询中的权重(例如,按既考虑赞成票又考虑投票日期的分数排序),或者您是否返回所有需要的数据并推断 PHP 中的权重。选择取决于您的应用究竟需要做什么以及将有多少数据。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-22
        • 1970-01-01
        • 1970-01-01
        • 2011-09-30
        相关资源
        最近更新 更多