你本可以发明 PageRank

You could have invented PageRank

想象一下,回到1996年,面对 AltaVista 这种仅靠关键词匹配的搜索引擎,你是否也会感到沮丧?其实,Sergey Brin 和 Larry Page 发明的 PageRank 算法核心逻辑并不复杂:每个网页都有“声望”,通过链接将声望传递给其他页面,最终汇聚成重要性排序。文章用简单的 Python 代码演示了这一过程,揭示了谷歌崛起背后的数学本质。只要理解“声望传递”和“随机跳转”这两个基本假设,你完全有可能在当年独立构思出这个改变世界的算法。

恭喜,如果你发现自己身处1996年,现在你就知道该怎么做才能成为亿万富翁了!
  1. inigyou

    重要的是,PageRank 如今已经行不通了——你需要别的东西。它只是众多可能的排名技巧之一,之所以有效,是因为当时互联网处于一种特殊状态:没人去操纵链接,因为 PageRank 还不存在。也许你能为现代互联网发明一个不错的排名算法,比如用页面广告数量的倒数减去其 AI 检测得分,但大概率不是那样。

    无关紧要的是,它是以 Larry Page 的名字命名的,而不是因为它对页面进行排名。

  2. jefflinwood

    我确实在 1996 年构建并上线了这样一个系统,当时我完全不知道 PageRank、引文分析或文献计量学。这是为 Envirolink 网站开发的一个内部/外部搜索引擎。Envirolink 是一个环保类网站目录,所以他们手头已经有一份待爬取的 URL 列表。之所以能实现,是因为 URL 列表相对受限,并非整个互联网。

    我当时其实并不清楚自己在做什么(那时我才 17 岁),但那是一段超棒的无偿暑期实习经历。搜索引擎由两部分组成:爬虫和搜索引擎本身。两者都是用 Perl 编写的。

  3. ianbooker

    PageRank 非常迷人,因为它太容易解释了。

    但这甚至只完成了一半的工作。充其量也只是完成了三分之一。

    在你发明 PageRank 之前,你必须具备图思维。这在 1996 年是可能的,但远不如今天普及。

    就算你发明了 PageRank,还得把它部署起来。这同样可行,但也充满挑战。1996 年的 Python 性能够用吗?你负担得起超过 4MB 的内存吗?

    至少,1996 年你用乐高积木搭建服务器机柜,乐高公司不会起诉你。

  4. nayuki

    这里有两个讲解和可视化 PageRank 算法的优秀视频:

    * [2020-06-17] Spanning Tree - "How Google's PageRank Algorithm Works" (5m16s): https://www.youtube.com/watch?v=meonLcN7LD4

    * [2022-05-23] Reducible - "PageRank: A Trillion Dollar Algorithm" (25m25s): https://www.youtube.com/watch?v=JGQe4kiPnrU

  5. smcg

    嗯,1996 年我还是个孩子,所以大概率不行。

    将相关性链接到链接频率,在当时绝对是一个新颖的想法,尽管事后看来它显得“显而易见”或简单。

同日更多故事

2026-08-26