我最近阅读了a blog post about the Reddit "hotness" formula。下面显示的公式似乎是使用的公式。有几个变量我不明白他们为什么会被选中。我打算使用这个公式作为我参与的应用程序的参考,所以我想知道为什么使用这些变量的基础。
2005年12月8日 - 为什么要使用这个日期?另外,为什么要使用偏移时间呢?为什么不使用纪元?这是一个使用的任意日期,以便它与平台无关吗?
2nd - 45000 - 为什么使用45000作为除数?这是一个任意数字还是具有特定的含义或目的?
t = (time of entry post) - (Dec 8, 2005)
x = upvotes - downvotes
y = {1 if x > 0, 0 if x = 0, -1 if x < 0)
z = {1 if x < 0, otherwise x}
log(z) + (y * t)/45000
答案 0 :(得分:4)
2005年12月8日 - 为什么要使用这个日期?另外,为什么要使用偏移时间呢?为什么不使用纪元?这是一个使用的任意日期,以便它与平台无关吗?
我怀疑这是Reddit原始代码的“纪元”日期。这将使它成为一个很好的选择,因为它使t
变量开始接近于零,这将使函数更稳定。
2nd - 45000 - 为什么使用45000作为除数?这是一个任意数字还是具有特定的含义或目的?
这实际上是时间的缩放功能。这个数字越大,年龄对整体方程的影响就越小。我怀疑在经过一些测试后选择了45000,并且发现在给定的时期内提供了合理的衰减率。