2010-10-20 9 views
8

यह हैकर न्यूज रैंकिंग एल्गोरिदम है, जो मुझे लगता है कि रैंकिंग चीजों का एक आसान तरीका है, विशेष रूप से यदि उपयोगकर्ता आइटम पर मतदान कर रहे हैं, लेकिन मैं वास्तव में इसे समझ नहीं पा रहा हूं, तो इसे PHP में परिवर्तित किया जा सकता है, इसलिए मैं इसे पूरी तरह से समझ सकता हूं?हैकर समाचार एल्गोरिदम?

; Votes divided by the age in hours to the gravityth power. 
; Would be interesting to scale gravity in a slider. 


(= gravity* 1.8 timebase* 120 front-threshold* 1 
      nourl-factor* .4 lightweight-factor* .17 gag-factor* .1) 

     (def frontpage-rank (s (o scorefn realscore) (o gravity gravity*)) 
      (* (/ (let base (- (scorefn s) 1) 
        (if (> base 0) (expt base .8) base)) 
       (expt (/ (+ (item-age s) timebase*) 60) gravity)) 
      (if (no (in s!type 'story 'poll)) .8 
       (blank s!url)     nourl-factor* 
       (mem 'bury s!keys)    .001 
               (* (contro-factor s) 
                (if (mem 'gag s!keys) 
                 gag-factor* 
                 (lightweight s) 
                 lightweight-factor* 
                 1))))) 

उत्तर

12

सीधे अजगर से http://amix.dk/blog/post/19574 से फट और PHP में अनुवाद:

function calculate_score($votes, $item_hour_age, $gravity=1.8){ 
    return ($votes - 1)/pow(($item_hour_age+2), $gravity); 
} 
+0

इस महान जवाब के लिए धन्यवाद, कर सकते हैं आप बस मेरे लिए $ item_hour_age की व्याख्या करें, धन्यवाद, बीटीडब्ल्यू +1 अपवोट मुझे फॉर्म :) :) – getaway

+0

@getaway - '$ item_hour_age' आपकी आयु के घंटों में रैंकिंग की गई चीज़ की उम्र (समय के बाद से बनाई गई समय) है (0 से शुरू) –

+0

चीयर्स! :)) अपने अद्भुत – getaway

6

इस एल्गोरिदम के काम के बारे में लिखने के तरीके हैं। एक त्वरित खोज की खोज की गई: How Hacker News ranking algorithm works

लिस्प चीजें वास्तव में उनके मुकाबले ज्यादा जटिल लग सकती हैं।

+1

धन्यवाद, thats जहां मैं lol से तुतलाना में एल्गोरिथ्म है, चियर्स वैसे + मुझ से वोट दें – getaway

संबंधित मुद्दे