将公式转换为PHP

时间:2010-10-21 20:17:55

标签: php math formula

我正在尝试将此自适应贝叶斯评级公式转换为PHP代码:请参阅此处

以下是公式各部分的详细信息..

  • nvotes:到目前为止的总票数
  • nlinks:链接总数
  • nvotes(k):投票给rth链接的票数。
  • deltarank(k,m):由第k个投票导致第m个链接引起的等级增量。
  • nsaves(i):将链接保存到其linkibol的用户数。
  • a:保存指数(临时值接近1)
  • 年龄(i):添加的日期链接与当前日期之间的差异(以天为单位)。
  • b:衰减指数(临时值接近0)

(公式的详细信息可以在http://blog.linkibol.com/2010/05/07/how-to-build-a-popularity-algorithm-you-can-be-proud-of/找到 - 向下滚动到“我们如何在linkibol中实施流行度?”部分)

我可以轻松地将大部分功能转换为PHP代码,但我不理解的是sigma和deltarank位。我不确定该位应该做什么或者传递给k和m的值是什么。

如果有人有任何提示或者可以打破公式的复杂部分,那就太棒了,那么我可以看一下在PHP中实现它的最佳方法 - 可能有我可以使用的函数等。

2 个答案:

答案 0 :(得分:1)

他们将delta排名定义为第k个投票在第m个链接上投放时的排名变化......看起来这是任意的,因为他们的排名变化是基于投票的用户的业力。

至于sigma,它只是从(k = 1)到(k = what)的内容之和,所以你将用循环来实现它。

答案 1 :(得分:1)

西格玛部分是总和。使用提供的值作为循环计数器。 (所以k = 1到10,在使用k的函数中使用这些值。)

Delta只是一个区别,但这个特定功能肯定有更精确的定义。