Reddit排名算法 - 上升

时间:2014-02-03 09:19:36

标签: php ranking reddit

我正在使用基于Reddit的这个算法,并且想要改变它,因此它显示了上升的帖子而不是热门。我更改了哪个号码,以便发布和现在之间的时间对返回的分数有更大的影响?我试过改变一些数字,但仍然没有得到任何结果

谢谢堆

function calculate_rank_sum($score, $created_at) {

     $order = log10(max(abs($score), 1));

     if ( $score > 0 ) {
        $sign = 1;
     } elseif ( $score < 0 ) {
        $sign = -1; 
     } else {
        $sign = 0;
     }

     $seconds = intval(($created_at - mktime(0, 0, 0, 1, 1, 1970))/86400);

     $long_number = ($order + $sign) * ($seconds / 45000);

     return round($long_number, 7);
}

2 个答案:

答案 0 :(得分:0)

这是基本上计算得分的线。

$long_number = ($order + $sign) * ($seconds / 45000);

如果您希望创建的时间产生更大的影响,我建议您减少45000和/或抵消($order + $sign)。这是一个论坛,需要进行大量的微调才能完全按照你想要的方式进行调整,所以我建议最好的办法就是进行大量的单元测试,然后进行大量的调整。

答案 1 :(得分:0)

您的公式有误:

($order + $sign) * ($seconds / 45000)

您添加了不应包含的括号。如果您查看https://gist.github.com/zeuxisoo/882820,应该是:

$order + $sign * $seconds / 45000

但即使如此,它也是基于旧的reddit算法which was later fixed to:

sign * order + seconds / 45000

您可以减少45000来增加时间分量的权重。