枪迷或者看过尼古拉斯.凯奇(Nicolas Cage)主演的电影“war之王”(Lord of
War)的人也许还记得影片开头的一段话:(在所有轻武器中,)最有名的是阿卡 4-7( AK47)冲锋(也就是中国的五-六式的原型),因为它从不卡壳、从不损坏、可在任何环境下使用、可靠性好、杀伤力大并且操作简单。
我认为,在计算机中一个好的算法,应该向阿卡 4-7 冲锋那样简单、有效、可靠性好而且容易读懂(或者说易操作),而不应该是故弄玄虚。Google 的杰出工程师阿米特.辛格博士 (Amit Singhal) 就是为 Google 设计阿卡 4-7 冲锋的人,在公司内部,Google 的排序算法便是以他的名字命名的。
从加入 Google 的第一天,我就开始了和辛格长期而愉快的合作,而他一直是我的一个良师益友。辛格、Matt Cutts(中国一些用户误认为他是联邦调查局特工,当然他不是)、马丁和我四个人当时一同研究和解决网络搜索中的zuo-bi问题(Spam)。我们需要建一个分类器,我以前一直在学术界工作和学习,比较倾向找一个很漂亮的解决方案。我设计了一个很完美的分类器,大约要花三个月到半年时间来实现和训练,而辛格认为找个简单有效的办法就行了。我们于是尽可能简化问题,一、两个月就把spam的数量减少了一半。当时我们和公司工程副总裁罗森打了个赌,如果我们能减少 40% 的spam,他就送我们四个家庭去夏威夷度假,后来罗森真的履约了。这个分类器设计得非常小巧(只用很小的内存),而且非常快速(几台服务器就能处理全球搜索的分类),至今运行得很好。
后来我和辛格一起又完成了许多项目,包括对中、日、韩文排名算法的改进。每一次,辛格总是坚持找简单有效的解决方案。这种做法在 Google 这个人才济济的公司常常招人反对,因为很多资深的工程师怀疑这些简单方法的有效性。不少人试图用精确而复杂的办法对辛格的设计的各种“阿卡47” 进行改进,后来发现几乎所有时候,辛格的简单方法都接近最优化的解决方案,而且还快得多。另一条选择简单方案的原因是这样设计的系统很容易查错(debug)。
当然,辛格之所以总是能找到那些简单有效的方法,不是靠直觉,更不是撞大运,而是靠他丰富的研究经验。辛格早年从师于搜索大师萨尔顿(Salton)教授,毕业后就职于 AT&T 实验室。在那里,他和两个同事半年就搭起了一个中等规模的搜索引擎,这个引擎索引的网页数量虽然无法和商用的引擎相比,但是准确性却非常好。在 AT&T,他对搜索问题的各个细节进行了仔细的研究,他的那些简单而有效的解决方案,常常是深思熟虑去伪存真的结果。
辛格非常鼓励年轻人不怕失败,大胆尝试。一次一位刚毕业不久的工程师因为把带有错误的程序推出到 Google 的服务器上而惶惶不可终日。辛格安慰她讲,你知道,我在 Google 犯的最大一次错误是曾经将所有网页的相关性得分全部变成了零,于是所有搜索的结果全部是随机的了。这位工程师后来为 Google 开发了很多好的产品。
辛格在 AT&T 时确立了他在学术界的地位,但是,他不是一个满足于做实验写论文的人,于是他离开了实验室来到了当时只有百、十人的 Google。在这里,他得以施展才智,重写了 Google 的排名算法,并且一直在负责改进它。辛格因为舍不得放下两个孩子,很少参加各种会议,但是他仍然被学术界公认为是当今最权威的网络搜索专家。2005年,辛格作为杰出校友被请回母校康乃尔大学计算机系在 40 年系庆上作报告,获得这一殊荣的还有大名鼎鼎的美国工程院院士,计算机独立磁盘冗余阵列(RAID)的发明人凯茨(Randy Katz) 教授。
分享到:
相关推荐
7. 应用案例:源码中可能包含的实际案例可能涵盖医学影像分析、遥感图像处理、人脸识别、图像去噪、图像融合等多个领域,通过这些案例,学习者可以了解并实践图像处理技术在实际问题中的应用。 总之,"现代数字图像...
该书分为两卷,旨在为学习者提供丰富的实例,帮助他们从实践中掌握C#语言的核心特性和高级应用。 在C#这门强大的面向对象编程语言中,开发者可以构建各种类型的应用程序,包括桌面应用、Web应用、移动应用以及游戏...
Acappella阿卡贝拉课堂安利PPT教学课件.pptx
阿卡和阿卡溪流 蒙戈数据库 卡夫卡 Reactjs 启动 mongo 数据库: 下载页面: : cd $MONGO-HOME bin/mongod 使用 docker 启动 kafka: git clone https://github.com/wurstmeister/kafka-docker.git cd ...
这本书主要面向初学者和有一定基础的程序员,旨在通过大量的实例来帮助读者深入理解和掌握C#编程语言的核心特性和实际应用。 在C#这门强大的编程语言中,本书覆盖了以下几个主要的知识点: 1. **C#基础语法**:...
《Logactaesque Akka实验:借助Akka演员系统探索Java编程的新境界》 在IT行业中,Akka框架因其高效、可靠以及并发处理能力而备受赞誉。尤其在Java开发领域,Akka提供了一种强大的工具,使开发者能够构建高度可扩展...
阿卡-escqrsakka-escqrs - akka-persistence 事件溯源 CQRS 实现这是一个轻量级框架(您不必依赖“太多东西”)。 一个基本框架 - 在 Akka Persistence 上实现的 ES/CQRS ES - 事件溯源CQRS - 命令/查询职责分离在...
《维吾尔语常用词汇大全》是一份详细整理的文档,包含了丰富的维吾尔语日常用语和词汇,旨在帮助学习者理解和掌握这门语言的基础表达。以下是对文档部分内容的详细解释: 1. 社交礼仪: - "亚克西姆赛斯":这是...
总的来说,《C++ Qt5 范例开发大全》涵盖了从基础的Qt5组件使用到高级特性的全面教程,通过实例讲解,有助于读者快速掌握Qt5开发技能,无论你是初学者还是有经验的开发者,都能从中受益。书中结合C++语言特性和Qt5库...
Play 中的 Camel + Kafka + Akka 示例 创建 docker 镜像 sbt docker:publishLocal 或者,将图像发布到 docker.io: # will need to do docker login first docker:publish 运行容器 docker run -d --name ...
- **普通最小二乘法(Ordinary Least Squares, OLS)**:这是最基础的线性回归模型,目标是最小化预测值与实际值之间的平方误差之和。在3页,文档介绍了线性回归的实例,并在4页讨论了其复杂度,指出它在处理大规模...
您可以阅读更多关于扬鞭UI和阿卡HTTP从。如何设置?克隆应用程序sbt new knoldus / swagger-ui-akka-http.g8 cd swagger-ui-akka-http /编译应用程序sbt clean编译运行应用程序sbt运行击中URI:localhost:8080 / ...
4. 胃丙胺:作为治疗消化系统疾病的独家产品,市场需求大,但销售量有待提升。 5. 安乃近和氨基比林:作为解热镇痛药,广泛应用且市场潜力大,也适用于兽药制剂。 三、原材料需求及供应 电力和水源是制药生产的关键...
德国阿卡 Series 8C-6N-6H Single-Seat Control Valves ECOTROL产品手册(英文)pdf,德国阿卡 Series 8C-6N-6H Single-Seat Control Valves ECOTROL产品手册(英文)
#### 知识点十一:Google阿卡47的制造者阿米特·辛格博士 阿米特·辛格博士是Google内部的重要人物,他在机器学习和人工智能领域做出了显著贡献,尤其在Google的搜索技术和广告系统中发挥了关键作用。通过研究...
阿卡和码头工人 有关详细说明,请阅读。 sbt docker:publishLocal docker run --name seed-1 akka-docker:2.3.4 --seed docker run --name seed-2 akka-docker:2.3.4 --seed < ip> :2551 docker run --name node-1 ...
由于在描述中并未提供具体的功能详情,我们可以根据库名推测,它可能与古巴比伦的阿卡德语(Akkadian language)有关,或者与古代文明的研究、文本处理、语言分析等相关。然而,这仅仅是猜测,实际用途需要参考库的...
PHP替代技术的专业人士。 阿卡潘赫-诺斯-塔姆贝姆(Acompanhe-nostambém) Grupo no Freenode-irc:... 科摩亚表seu post Antes de tudo,Gusth发行人, que ensina como贡献者,repositórioscom或Jekyll贡献者。
阿卡是一位经验丰富的领导者,她的智慧和勇气贯穿整个故事。 9. **敌人角色:** - **狐狸**一直追踪雁群并试图制造麻烦。狐狸的形象在童话故事中经常被用作反派角色,这里也不例外。 10. **尼尔斯不愿回家的原因...