有二维码怎样做网站,哪些网站做的比较好,深圳龙华有什么好玩的地方推荐,聊城seo优化互联网的出现#xff0c;意味着信息大爆炸。 用户担心的#xff0c;不再是信息太少#xff0c;而是信息太多。如何从大量信息之中#xff0c;快速有效地找出最重要的内容#xff0c;成了互联网的一大核心问题。 各种各样的排名算法#xff0c;是目前过滤信息… 互联网的出现意味着信息大爆炸。 用户担心的不再是信息太少而是信息太多。如何从大量信息之中快速有效地找出最重要的内容成了互联网的一大核心问题。 各种各样的排名算法是目前过滤信息的主要手段之一。对信息进行排名意味着将信息按照重要性依次排列并且及时进行更新。排列的依据可以基于信息本身的特征也可以基于用户的投票即让用户决定什么样的信息可以排在第一位。 下面我将整理和分析一些基于用户投票的排名算法打算分成六个部分连载今天是第一篇。 一、Delicious 最直觉、最简单的算法莫过于按照单位时间内用户的投票数进行排名。得票最多的项目自然就排在第一位。 旧版的Delicious有一个热门书签排行榜就是这样统计出来的。 它按照过去60分钟内被收藏的次数进行排名。每过60分钟就统计一次。 这个算法的优点是比较简单、容易部署、内容更新相当快缺点是一方面排名变化不够平滑前一个小时还排名靠前的内容往往第二个小时就一落千丈另一方面缺乏自动淘汰旧项目的机制某些热门内容可能会长期占据排行榜前列。 二、Hacker News Hacker News是一个网络社区可以张贴链接或者讨论某个主题。 每个帖子前面有一个向上的三角形如果你觉得这个内容很好就点击一下投上一票。根据得票数系统自动统计出热门文章排行榜。但是并非得票最多的文章排在第一位还要考虑时间因素新文章应该比旧文章更容易得到好的排名。 Hacker News使用Paul Graham开发的Arc语言编写源码可以从arclanguage.org下载。它的排名算法是这样实现的 将上面的代码还原为数学公式 其中 P表示帖子的得票数减去1是为了忽略发帖人的投票。 T表示距离发帖的时间单位为小时加上2是为了防止最新的帖子导致分母过小之所以选择2可能是因为从原始文章出现在其他网站到转贴至Hacker News平均需要两个小时。 G表示重力因子gravityth power即将帖子排名往下拉的力量默认值为1.8后文会详细讨论这个值。 从这个公式来看决定帖子排名有三个因素 第一个因素是得票数P。 在其他条件不变的情况下得票越多排名越高。 从上图可以看到有三个同时发表的帖子得票分别为200票、60票和30票减1后为199、59和29分别以黄色、紫色和蓝色表示。在任一个时间点上都是黄色曲线在最上方蓝色曲线在最下方。 如果你不想让高票帖子与低票帖子的差距过大可以在得票数上加一个小于1的指数比如(P-1)^0.8。 第二个因素是距离发帖的时间T。 在其他条件不变的情况下越是新发表的帖子排名越高。或者说一个帖子的排名会随着时间不断下降。 从前一张图可以看到经过24小时之后所有帖子的得分基本上都小于1这意味着它们都将跌到排行榜的末尾保证了排名前列的都将是较新的内容。 第三个因素是重力因子G。 它的数值大小决定了排名随时间下降的速度。 从上图可以看到三根曲线的其他参数都一样G的值分别为1.5、1.8和2.0。G值越大曲线越陡峭排名下降得越快意味着排行榜的更新速度越快。 知道了算法的构成就可以调整参数的值以适用你自己的应用程序。 [参考文献] * How Hacker News ranking algorithm works * How to Build a Popularity Algorithm You can be Proud of 完