加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

Hacker News 排名算法工作原理

发布时间:2018-06-07 11:02:49 所属栏目:编程 来源:外刊IT评论
导读:这篇文章我要向各人先容Hacker News网站的文章排名算法事变道理,以及如安在本身的应用里行使这种算法。这个算法很是的简朴,但却在突出热点文章和遴选新文章上示意的非常优越。 深入 news.arc 措施代码 Hacker News是用Arc说话开拓的,这是一种Lisp方言,

这篇文章我要向各人先容Hacker News网站的文章排名算法事变道理,以及如安在本身的应用里行使这种算法。这个算法很是的简朴,但却在突出热点文章和遴选新文章上示意的非常优越。

深入 news.arc 措施代码

Hacker News是用Arc说话开拓的,这是一种Lisp方言,由Y Combinator投资公司首创人Paul Graham缔造。Hacker News的开源的,你可以在arclanguage.org找到它的源代码。深入掘客 news.arc 措施,你会找到这段排名算法代码,就是下面这段:

12

本质上,这段 Hacker News回收的排名算法的事变道理看起来或许是这个样子:

13

Score = (P-1) / (T+2)^G 个中, P = 文章得到的票数( -1 是去掉文章提交人的票) T = 从文章提交至今的时刻(小时) G = 比重,news.arc里缺省值是1.8

正如你看到的,这个算法很轻易实现。在下面的内容里,我们将会看到这个算法是怎样事变的。

比重(G)和时刻(T)对排名的影响

比重和时刻在文章的排名得分上有重大的影响。正常环境下如下面所述:

当T增进时文章得分会降落,这就是说越老的文章分数会越底。当比重加大时,老的文章的得分会减的更快

为了能视觉泛起这个算法,我们可以把它绘制到Wolfram Alpha。

得分跟着时刻是怎样变革的

Hacker News 排名算法事变道理

你可以看到,跟着时刻的流逝,得分骤然降落,譬喻,24小时前的文章的分数变的很是低——不管它得到了怎样多的票数。

Plot语句:

14

比重参数是怎样影响排名的


Hacker News 排名算法事变道理

图中你可以看到,比重越大,得分降落的越快。

Plot语句:

15

Python说话实现

之前已经说了,这个评分算法很轻易实现:

16

要害是要领略算法中的各个身分对评分的影响,这样你可以在你的应用中举办定制。我但愿这篇文章已经向你声名白这些 Hacker News 排名算法事变道理

祝编程快乐!

编辑:

Paul Graham 分享了批改后的HN 排名算法:

 

17

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读