人气算法

Popularity algorithm

提问人:kemiller2002 提问时间:8/28/2008 最后编辑:traviskemiller2002 更新时间:7/26/2011 访问量:3920

问:

在 SO 18 上,Joel 提到了一种算法,该算法会根据物品的年龄和受欢迎程度对物品进行排名,并且它基于重力。有人可以发布这个吗?C#会很可爱,但实际上任何语言(好吧,我不会做LISP)都可以。

C# 算法 数学

评论


答:

11赞 Tall Jeff 8/28/2008 #1

我的理解是,这大约是杰夫·阿特伍德(Jeff Atwood)的另一篇帖子的内容

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 < 1, otherwise x}

log(z) + (y * t)/45000

评论

2赞 jTresidder 12/21/2008
我不喜欢这个解决方案 - 为什么我们需要固定某个日期并有一个不断增长的 t?为什么不改变它,让 t 是年龄,并重新排列算法,让分数越低越好。瞧,现在一些随机拉出的日期没有影响。(原则多于必要,但嘿,那是我:))
7赞 Ofri Raviv 11/16/2009
如果 X=0 则 y=0,则 z=0,则得到 log(0) :(
1赞 Tall Jeff 11/16/2009
@Ofri Raviv - 好渔获!- 你是对的,Z公式应该小于“1”,不小于“0”。一个已经存在了大约 11 个月的错别字,您是第一个指出它的人!-谢谢!!
6赞 Abhishek Mishra 11/21/2008 #2

替代文本 http://www.mt-soft.com.ar/wordpress/wp-content/plugins/wp-o-matic/cache/0ad4d_reddit_cf_algorithm.png

评论

0赞 Tall Jeff 11/16/2009
@Ofri - 我同意。我认为这其中的绝对值部分是错误的。我的答案(在修复您指出的错别字之后)是预期的答案。
0赞 Skami 9/1/2020
死链接,除了外部链接之外,答案中没有任何信息,这样的答案不应该被点赞。