文档章节

Hacker News的排序算法

phala
 phala
发布于 2016/08/10 17:47
字数 236
阅读 16
收藏 0
点赞 0
评论 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
博文 101
码字总数 53470
作品 0
成都
程序员
榜单类应用我所喜欢的算法

对于热文榜单、热门消息榜单、热门事件榜单,郑昀最喜欢用的算法是: 这个算法的解释参见我的文章:《Hacker News与Reddit的算法比较》。 其他排序算法,参见我的博文: 《微博关注者数量在计...

老枪 ⋅ 2011/05/02 ⋅ 0

Hacker News与Reddit的算法比较

Hacker News是Y Combinator旗下的一个新闻频道,属于digg类产品, SEOmoz曾经在2008年7月隆重推出Reddit、Stumbleupon、Del.icio.us和Hacker News算法全揭秘。由此,这些知名Web2.0网站的算法...

老枪 ⋅ 2011/05/02 ⋅ 0

Python 人气王,JS 比 Java 更受公司青睐

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

达尔文 ⋅ 04/23 ⋅ 17

为什么 Hacker News 昨晚一夜宕机,因为。。。

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

oschina ⋅ 2013/02/28 ⋅ 23

Hacker News 排名算法工作原理

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

oschina ⋅ 2013/08/22 ⋅ 21

亲爱的老板:程序员的10分钟就是3个小时

国外程序员艾德·韦斯曼(Ed Weissman )从业32年。某天老板告诉他产品有个问题,10分钟可以修复问题,谁知结果一干就是3个小时。本文就是艾德记录下的过程。 10:48 老板:嗨,艾德,苏在底特...

红薯 ⋅ 2012/02/07 ⋅ 29

程序员必须知道的国外网站

1.TheServerSide 这 是一个老牌的IT信息网站,从名称上你就能看出,它是关注服务器端编程的,以Java和Java周边信息为主,不过最近它也有向客户端和微软产品扩展的趋 势。这个网站最初是以免费...

蓝狐乐队 ⋅ 2014/05/09 ⋅ 0

程序员必须知道的几个国外IT网站

最近有些读者给我来信说很喜欢这个网站上的文章,并且也想通过翻译学习英文,他们询问我这些文章的英文原文是从哪里找到的? 外刊IT评论上的翻译的英文来源很杂,我总结了一下,大概有几个集...

二胡 ⋅ 2011/02/28 ⋅ 5

HN: Taobao Runs Entirely on Nginx-Java-MySQL

双十一不仅是电子商务的革命,更是引起了技术界的巨大讨论:淘宝是怎么做到的? 淘宝的惊人业绩已经引起了国外程序员的大量关注,以下是 Hacker News 上的部分讨论: 有人说淘宝是完全基于 ...

oschina ⋅ 2012/11/13 ⋅ 50

full-stack/hacknews_android_zh

项目apk 很多人的手机无法使用Google的服务,我将自己编译的APK放在assets目录下面,供大家体验 Hacker News client for Android - Material Design full-stack进行的翻译 Setup Requiremen...

full-stack ⋅ 2015/04/01 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

设计模式--装饰者模式

装饰者模式 定义 动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。 通用类图 意图 动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比...

gaob2001 ⋅ 今天 ⋅ 0

JavaScript零基础入门——(八)JavaScript的数组

JavaScript零基础入门——(八)JavaScript的数组 欢迎大家回到我们的JavaScript零基础入门,上一节课我们讲了有关JavaScript正则表达式的相关知识点,便于大家更好的对字符串进行处理。这一...

JandenMa ⋅ 今天 ⋅ 0

sbt网络问题解决方案

转自:http://dblab.xmu.edu.cn/blog/maven-network-problem/ cd ~/.sbt/launchers/0.13.9unzip -q ./sbt-launch.jar 修改 vi sbt/sbt.boot.properties 增加一个oschina库地址: [reposit......

狐狸老侠 ⋅ 今天 ⋅ 0

大数据,必须掌握的10项顶级安全技术

我们看到越来越多的数据泄漏事故、勒索软件和其他类型的网络攻击,这使得安全成为一个热门话题。 去年,企业IT面临的威胁仍然处于非常高的水平,每天都会看到媒体报道大量数据泄漏事故和攻击...

p柯西 ⋅ 今天 ⋅ 0

Linux下安装配置Hadoop2.7.6

前提 安装jdk 下载 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 解压 配置 vim /etc/profile # 配置java环境变量 export JAVA_HOME=/opt/jdk1......

晨猫 ⋅ 今天 ⋅ 0

crontab工具介绍

crontab crontab 是一个用于设置周期性被执行的任务工具。 周期性执行的任务列表称为Cron Table crontab(选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该...

Linux学习笔记 ⋅ 今天 ⋅ 0

深入Java多线程——Java内存模型深入(2)

5. final域的内存语义 5.1 final域的重排序规则 1.对于final域,编译器和处理器要遵守两个重排序规则: (1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用...

江左煤郎 ⋅ 今天 ⋅ 0

面试-正向代理和反向代理

面试-正向代理和反向代理 Nginx 是一个高性能的反向代理服务器,但同时也支持正向代理方式的配置。

秋日芒草 ⋅ 今天 ⋅ 0

Spring 依赖注入(DI)

1、Setter方法注入: 通过设置方法注入依赖。这种方法既简单又常用。 类中定义set()方法: public class HelloWorldOutput{ HelloWorld helloWorld; public void setHelloWorld...

霍淇滨 ⋅ 昨天 ⋅ 0

马氏距离与欧氏距离

马氏距离 马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为Σ的随机变量之间的差异程度。 如果协方差矩阵为单位矩阵,那么马氏距离就简化为欧氏距离,如果协方差矩阵为对角阵,则其也...

漫步当下 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部