2008-08-28 110 views
12

關於SO 18 Joel提到了一種算法,可以根據年齡和流行度對項目進行排名,並且基於重力。有人可以發佈這個? C#會很可愛,但是真正的任何語言(當然,我不能做LISP)會很好。受歡迎程度算法

回答

10

我的理解是,它是大約從另一個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

我不喜歡這個解決方案如下 - 爲什麼我們需要解決一個特定的日期,並有不斷增長T'爲什麼不改變它,以便t是年齡,並重新排列算法,使得分數越低越好。瞧,現在一些隨機抽取日期沒有影響。 (更多的原則比必要性,但嘿,那就是我:)) – jTresidder 2008-12-20 16:16:33

+7

如果X = 0,那麼y = 0,然後z = 0,你會得到日誌(0):( – 2009-11-15 20:23:42