2011-03-17 62 views
3

我最近读了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 

回答

4

月1日2005年12月8日 - 为什么要使用此日期?另外,为什么要使用偏移时间呢?为什么不使用时代?这是一个随意使用的日期,以便它与平台无关吗?

我怀疑这是Reddit的原始代码的“时代”日期。这会使它成为一个不错的选择,因为它使t变量从零开始接近零,这将保持函数更稳定。

2nd - 45000 - 为什么用45000作为除数?这是一个任意数字吗?还是它有特定的含义或目的?

这实际上是一个时间缩放函数。这个数字越大,影响年龄对整体方程的影响就越小。我怀疑在经过一些测试后选择了45000,并发现在给定所选时期的情况下提供了合理的衰减率。

相关问题