文档章节

Hacker News的排序算法

phala
 phala
发布于 2016/08/10 17:47
字数 236
阅读 17
收藏 0

在teahour听到Hack News网站的算法,在medium找到了一篇详细的文章:

How Hacker News ranking algorithm works

算法公式如下:

Score = (P-1) / (T+2)^G
where,
P = points of an item (and -1 is to negate submitters vote) | item得分点,-1是减去投稿者的一分
T = time since submission (in hours) | 时间
G = Gravity, defaults to 1.8 in news.arc | 重力,默认是1.8

文章在 WolframAlpha 有绘出在votes分别为30,60,200下的图形:

ploting query

plot( (30 - 1) / (t + 2)^1.8,  (60 - 1) / (t + 2)^1.8, (200 - 1) / (t + 2)^1.8 ) where t=0..24
``

![](https://d262ilb51hltx0.cloudfront.net/max/800/0*hpwwM81bhd6uRSd4.gif)

自己用excel画了下,votes也就是fav设置为5,10,20,50,100:
![输入图片说明](https://static.oschina.net/uploads/img/201608/10173942_YAXS.jpg "在这里输入图片标题")

可以大概看出,fav较低的大概和2小时前的fav高一级的持平。

###### G和T的作用
Gravity越高,time对score影响越大,意味着older的items会得到更低的分数。

© 著作权归作者所有

共有 人打赏支持
phala
粉丝 5
博文 104
码字总数 53470
作品 0
成都
程序员
私信 提问
Reddit 的排名算法原理

这篇文章是Hacker News排名算法的工作原理的姊妹篇。这次我将研究Reddit排名算法是如何工作的。Reddit排名算法非常容易被理解和实现,在这篇文章中我将进行深入介绍。 文章的第一部分将会专注...

oschina
2013/08/07
1K
1
Python 人气王,JS 比 Java 更受公司青睐

四月 PYPL 编程语言排行榜和 Hacker News 招聘趋势都已经出炉。 Hacker News 招聘趋势的数据由 Hacker News 新闻站负责收集,它不仅仅关注编程语言趋势,还关注公司要求的顶尖技能的趋势,包...

达尔文
2018/04/23
5.3K
21
为什么 Hacker News 昨晚一夜宕机,因为。。。

为什么Hacker News昨晚一夜宕机,因为“犯弱智错误是每个程序员的必修课”。 这是Hacker News官方网站上的一篇声明,解释为什么Hacker News昨晚上宕机一夜。 昨天Hacker News宕机了一晚上。问...

oschina
2013/02/28
4.6K
23
上了 Hacker News 的首页对 app 下载量的影响

简评:你的 App 上 Hacker News 或者 Product Hunter 对下载量有帮助么?有帮助,但大多是昙花一现。 我做了一款 App,叫做 Hacker News Later(or Now),这是一款 Hacker News 第三方应用,...

极小光
2018/09/18
0
0
Hacker News 排名算法工作原理

这篇文章我要向大家介绍Hacker News网站的文章排名算法工作原理,以及如何在自己的应用里使用这种算法。这个算法非常的简单,但却在突出热门文章和遴选新文章上表现的异常优秀。 深入 news.a...

oschina
2013/08/22
5.4K
21

没有更多内容

加载失败,请刷新页面

加载更多

Cookie 显示用户上次访问的时间

import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.serv......

gwl_
今天
1
0
网络编程

第14天 网络编程 今日内容介绍  网络通信协议  UDP通信  TCP通信 今日学习目标  能够辨别UDP和TCP协议特点  能够说出UDP协议下两个常用类名称  能够说出TCP协议下两个常用类名称...

stars永恒
今天
1
0
二进制相关

二进制 众所周知计算机使用的是二进制,数字的二进制是如何表示的呢? 实际就是逢二进一。比如 2 用二进制就是 10。那么根据此可以推算出 5的二进制等于 10*10+1 即为 101。 在计算机中,负数以...

NotFound403
昨天
3
0
day22:

1、写一个getinterface.sh 脚本可以接受选项[i,I],完成下面任务: 1)使用格式:getinterface.sh [-i interface | -I ip] 2)当用户使用-i选项时,显示指定网卡的IP地址;当用户使用-I选项...

芬野de博客
昨天
2
0
Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现

自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注。虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭借阿里中间件团队的背景,还是得到不少...

程序猿DD
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部