他被誉为中国编程第一人
打遍天下无敌手
他发明了三国杀
在谷歌和 Quora 兜兜转转
三十而立竟去了百度拦车?
2016 年 4 月 22 日,百度公司首席科学家、世界人工智能先驱之一的吴恩达(Andrew Ng)在 Facebook 上发布了这样的一条重磅消息:
大意是:
「刚满 30 岁、天纵奇才的楼天城「楼教主」要来百度(美国)参与无人驾驶项目研制啦!」
「他是世界顶尖黑客之一,过去十年世界排名前三,赢了谷歌 Code Jam 大赛两次!!」
(百度在美国山景城的办公室,图片来自氧分子网)
这也使楼天城成为了百度有史以来最年轻的 T10 工程师,他将与百度首席架构师、T11的 James Peng 紧密配合,全面参与无人车的技术研发。(T10 指的是技术总监级别,T11 是首席科学家级别。)
来看一张楼天城的高清无码大图:
一时间,百度人工智能再次聚焦在镁光灯下,舆论惊呼:这是凑齐豪华天团的节奏啊!继招募了谷歌大脑之父吴恩达、王劲、刘骏、郑子斌后,楼天城再成新贵教主。
(王劲,2010 年加入百度,任高级副总裁、自动驾驶事业部总经理)
(郑子斌,2010 年加盟百度,任产品市场部总监)
(刘骏,2013 年加入,任技术副总裁)
但这个年仅 30 岁的程序猿究竟有什么天大的本事?以至于吴恩达这位泰斗级人物也因为他的到来在朋友圈炫耀一番?
「有的题不值得花那么长时间」
楼天城是浙江杭州人,曾就读杭州十四中,高中之前,楼天城并没怎么碰过电脑。
但他是一个具有超强理科思维的人,即使是踢球时,也居然会不断计算向对方球门底线带球角度、距离和得分之间的概率关系!
然而,后来他之所以选择计算机编程,不是因为数学太好,恰恰是数学「太差」——他总是在一些枯燥的重复性计算中犯错。
「数学上的计算体力活,如果让一个很会计算的完成,不是更好吗?」
这是楼天城进入编程世界前提出的疑问,也是楼天城在人生程序上的第一个「Hello World」!(「Hello World」几乎是所有程序猿的第一行代码)
他说:
「我喜欢那些学习方式的创意,去告诉计算机要做什么,如何控制它;特别是使用数学去告诉计算机如何解决一个问题。」
(杭州市第十四中学)
在这种「偷懒」思维的驱使下,高一的楼天城加入了计算机小组,试图寻求方法让机器帮助人进行计算。
从小就具有编程思维的他,没几个月就获得了 2002 年全国青少年信息学联赛一等奖,浙江赛区第一名,轰动一时。
2004 年,他更帮助中国队获得国际信息学奥赛(IOI)金牌,这是代表世界中学生程序设计的最高水平。
他理所当然地取得了清华大学的保送资格。清华园的时光,他编写了人生的重要几行代码。
名师出高徒
他是清华大学首届「姚期智班」学生,主要研究领域是组合算法。
(清华大学计算机科学实验班(姚班))
师从美籍华人姚期智院士,而姚教授可不是一般的人类!!
他在 2010 年获得了计算机诺贝尔奖——图灵奖,是世界首位亚裔获得者。
(图灵奖堪称计算机界的最高荣誉,由美国计算机协会(ACM)颁发,图为奖碗)
在姚期智的教导下,博士未毕业的楼天城,已经有了等身的论文著述,其中有相当部分还是第一作者!
「失败」的美国战役
2006 年,Google Code Jam,楼天城的飞机穿越 13 小时的云层,降落在大苹果纽约市,他急匆匆地赶到了举办比赛的酒店。
(比赛以及下榻之酒店)
这是他第一次参加世界赛事,旅途的劳累令他昏昏入睡,连闹钟设错了也全然不知觉,这似乎为他比赛的失利留下了伏笔。
(选手备赛房间)
比赛总共有三道大题,250 分的题目是一道平面极值问题,500 分的题目是一道反 Hash 函数问题,1000 分的题目是涉及卷积函数和计算反函数的问题。
前期楼天城成绩尚可,三道大题完成后,位居前六。
进入比赛的「Challenge」阶段,戏剧性发生了,楼天城抓住一个挑战他人的机会,并获得成功,一举占据了榜首!
这一次,是他第一次离世界冠军如此接近。
但比赛似乎被刻意设计着,戏剧性继续发挥作用。最后阶段的「系统测试」中,楼天城接二连三掉进坑里,有的 double 用错,有的变量忘记暂存,成绩从「天堂」一下子又掉回了「地狱」,最终排名 50 左右。
比赛结果并不理想,楼天城一度很沮丧,但这并没有打击到他,他说,「这两个错误至今仍刻骨铭心!」,经验是赚到了,为后来反攻埋下了原力。
连续两年,中国人包揽冠亚军
由于诸多东欧天才黑客的存在,中国在国际性编程比赛领奖台上最多只占一个位置,直到 2008 年 Google Code Jam,楼天城领衔的中国军团历史性地包揽了冠亚军。
(谷歌全球编程挑战赛宣传海报)
本届比赛,全球超过 11000 名选手参加,最终有 100 位选手闯入在 Google 总部美国山景城举行的总决赛,其中中国选手占了 1/5。
(比赛现场)
比赛总共有 5 道问题,经过 3 个小时的激烈比赛,中国楼天城以 89 最高分,罚时仅 2:57:20 获得冠军,而同样来自中国的朱泽园以 3:10:16 的较长罚时屈居亚军,这是当时中国选手在同级别大赛的重大突破。
(2008 年 Google Code Jam 题目与结果)
2009 年,楼天城再次蝉联冠军,亚军则变成了清华 2009 级漆子超。
(2009 年 Google Code Jam 题目与结果)
在楼天城之前,中国人最高只拿到了亚军,而他之后,至今再无中国人站上冠军领奖台。
当时还是谷歌大中华区总裁的李开复积极评价楼天城等人在编程的突破,认为这些人将是
「未来推动中国互联网产业发展的中流砥柱」。
未来也将证明他的判断是正确的。
中国编程第一人
在程序猿界,其他人可以称得上牛X,但被冠以传奇之名的只有一个 ——「楼教主」。他在编程比赛中使用的代号 ACRush 名震八方。他的身上贴满了各种各样的标签,被誉为「中国大学生计算机编程第一人」。
「只要有楼天城参加的比赛,别人就只能想着怎么拿第二。」
曾带领浙江大学队获得世界 ACM 决赛总冠军的教练王灿这样评价楼天城。
(2009 年,楼天城带领清华在斯德哥尔摩 ACM-ICPC ResultsWorld Finals 中夺得第二名)
在算法类程序设计竞赛中,全球公认的有三大赛事:
IOI(国际中学生信息学奥林匹克竞赛),代表世界中学生程序设计最高水平
ACM/ICPC(世界大学生程序设计大赛),代表世界高校团体水平
TopCoder 电脑编程竞赛,代表个人最高水平,有一个全球总排名
(楼天城在 2010 年 TopCoder 比赛现场)
清华时代的他就已经获得了诸多逆天成绩,每一块都足以在顶级科技公司之间游刃有余:
2008、2009 年,Google Code Jam (谷歌全球变成挑战赛)冠军
2009 年,再次带领清华大学队在斯德哥尔摩 ACM-ICPC 全球总决赛中获得第二名,因为罚时,遗憾与冠军失之交臂
2008 年,临时代替受伤的同学参加 ACM/ICPC 杭州赛区,力压群雄夺得第一名
2006 年 TopCoder(世界顶尖程序员)排行榜全球第三,中国区第一名
2005、2006 年两届百度之星程序设计大赛冠军
(百度之星程序设计大赛)
即使在 30 岁的今天,楼天城依旧强势占据 TopCoder 第六。
奖项拿到手软,但楼天城似乎并不飘飘然,一如既往地享受着比赛本身:
我真的强烈要求那些对编程感兴趣的人去参加竞赛!那是一个学习新技术,提高已存在技术,解决挑战性问题,进入好的团体,并且玩的很开心的绝佳方式。
「天才与否,取决于最终的高度」
当所有人将「天才之名」冠于其顶时,楼天城对天才做出了自己的定义。
他作为一个理科生是严谨的,他认为天才与否,取决于最终达到的高度。一些事情不过比别人早几年做到,算不上什么天才。
他的字里行间隐隐约约可以看到亚里士多德著名的三段论证明——
大前提:他的一些事不过比别人早几年做到,聪明人迟早能做到,只是时间问题。
小前提:判定天才看的是「最终的高度」,他现在高度不够,没有突破性的成就。
结论:他现在并不是天才。
这就是楼天城「天才理论」的理科式证明。
身居编程界庙堂之高位,却谦逊如入门小儿,为他增添了几分魅力。
编程界的话题男神
楼天城格外分明的理科痕迹,无碍他在舆论和网络世界的高人气。在被话题热炒方面,简直就是编程界的马云!
进入清华后的他,战功显赫,在编程界输入「教主」,立马返回指令「楼天城」。
他是坚定的格子衬衫爱好者,一件衬衫走天下。
在网络上,有人把他作为个性签名,
(图片来自知乎)
有人说它是那种
「以一己之力单挑对手一个队,然后把对手打得抬不起头来」的人物
但楼天城矢口否认,
「这在现实比赛中几乎无法发生,不知道为什么会有人那么喜欢传这种东西」。
但没用,吃瓜群众的滔滔不绝是上了瘾的,他高中时期杭州门户网上传出了这样的段子:
「杭州出牛人,名曰楼天城」
他一回到校园,就被学弟学妹当偶像,开讲座,
就有人求合影,
被求证网上热传的「楼天城发明三国杀」真伪时,楼天城表示这是真的,他在清华的三国杀小组里「负责游戏的平衡性检测」,确是发明者之一。
「神」走了 ?
纵然是编程之「神」,也会老去。
2012 年 3 月 18 日,Facebook「黑客杯」(The Hacker Cup)编程大赛在美国加州门罗帕克的 Facebook 总部举行。
三个小时的艰苦角逐一路打下来,俄罗斯选手罗曼·安德列夫(Roman Andreev)获得冠军,美国选手托麦克·凯扎(Tomek Czajka)获得亚军,楼天城名列第三。
(俄罗斯选手罗曼·安德列夫)
没有人能够完成全部三个问题。俄罗斯冠军解答第一道题用了 1 小时 4 分钟,美国人以一分钟之差落后,而教主却多花了 40 分钟。虽然问题可能不在「能力不足」,而是战略失误,但教主的速度明显落后了。
长江后浪推前浪。2012 年后,编程界的比赛上再没有出现楼天城的消息了。
在 Topcoder 编程竞赛的网站上,白俄罗斯的 18 岁小将 Gennady Korotkevich 成为了世界第一,他 11 岁时就获得 IOI 银牌,接着又获得金牌。
(俄罗斯神童 Gennady Korotkevich)
但看惯了腥风血雨的老司机楼天城怎会在意这些东西?他的故事已成后人茶余饭后的谈资,知我罪我,一任诸君。
下一步,不再是程序里 0 与 1 的简单变换,而是对真实世界的编程。
到最顶尖的地方去:Google
「楼教主」这样专治各种不服的传奇人物,自然在博士毕业之前就收到了海外互联网科技巨头的拼抢,但他究竟是去当时如日中天的苹果,还是大厦将倾的微软呢?
两个都没有。
2011 年,Facebook 率先向楼天城伸出了橄榄枝,楼天城成为了国内首个没毕业就获得 Facebook 聘书的学生。Facebook 提供给他的工作与以前参加的竞赛类似,负责软硬件衔接的效率问题,如 CPU 运行效率、内存何时清理等。
但这些东西不是楼天城所向往的,他研究方向一直是社交网络,与 Facebook 提供的岗位不太符合。
同时,另一家顶级互联网公司谷歌也前来挖墙角。 2007 年,楼天城曾在谷歌实习,倒是对其非常熟悉,他认为谷歌
「重视复杂问题的独特处理与解决方案的价值观。」
他还说,
「研究非常有影响力,并且有很有效的结果。我对大型网络很感兴趣,因此来山景城在谷歌工作是完美拟合的!」
再加上当时谷歌兴致勃勃地开展了社交网络项目 Google+,楼天成在经过深思熟虑之后,决定放弃 Facebook 的「高价年薪」,于 2012 年 10 月毅然决然地从了谷歌。
社交梦断 Google+
然而这一进,楼天城非但没有大展拳脚的机会,反而掉进了一个无尽的大黑坑。
由于 Google+ 进入社交市场较 Facebook 晚,而且战略出现严重偏差,在社交上根本不是 Facebook 的对手,雄心勃勃的 Google+ 项目成了公司史上最大的失败之一。
在这样的背景下,Google+ 团队不可避免地被裁掉,楼天城也不能幸免。
但塞翁失马,焉知非福,就当所有人为楼天城的硅谷前途担忧时,告别了社交网络的他却意外地进入了谷歌最神秘的 Google X 实验室,而且加入的还是如日中天的无人驾驶项目。
(谷歌无人驾驶项目)
但这样的项目能带给楼天城什么?
谷歌无人车
带来的,是三年在世界顶级团队的无人驾驶算法经验。
谷歌无人驾驶项目堪称有史以来保密程度最高的项目,外界难以获得任何相关信息, 因此楼天城在其中的具体职位不得而知。但他主攻无人车算法是毋庸置疑的。
实现无人驾驶依靠的是复杂的算法,原理是算法收集马路上所有的元素,包括路、景、交通控制、位置,以及人和动物等等,然后用算法进行智能分类,从而驱使汽车做出正确判断。
(无人驾驶算法对路面元素进行分类)
在谷歌三年的宝贵技术积累为他奠定了最坚实基础。
(无人驾驶汽车真实路况模拟图)
在这三年里,他所参与的无人驾驶项目一路高奏凯歌,几乎成为了所有科技媒体和外界舆论的焦点:
2014 年,谷歌公布了它只有两个座,没有方向盘的迷你无人驾驶车。
2015 年 5 月,谷歌宣无人车已经在公路上安全行驶 160 多万公里,期间没有发生过任何碰撞事故。
2015 年 7 月,谷歌将无人驾驶车的测试范围扩展到了加州以外的地区。
随着测试里程的增加,半掩琵琶半遮面的无人驾驶项目无限接近成功,意味着立过汗马功劳的楼天城收获胜利果实之日的到来。
然而 2016 年,此时的楼天城却做出了一个令人无法理解的举动——从这个星球最领先的无人驾驶团队——辞职。而他的下家,居然是一间问答公司!这个跳槽的举动使「楼教主」在公众前的完美形象几乎毁于一旦。
人生黑点——给美国知乎的「表白书」
事情是这样的。
2016 年 1 月,楼天城宣布加入美国知名问答网站 Quora——也就是美国版的知乎。
这一出戏令业界颇为不解,但更为震惊的是,他在加入 Quora 两个月后就闪电辞职。
「楼教主」一生「受万人敬仰」,江湖上流传的 99% 都是自来水和歌颂贴,但这一次,他却在中文网络上成了众矢之的,各种调侃、拉黑和恶搞如潮水般涌来。
究其原因,更多是由于一篇出自「楼教主」的「情书」!
在刚加入 Quora 时,楼天城写了一篇情真意切的「表白文」,以回答一位用户提出的「为什么选择 Quora」的问题。
他在文中列的六大要点,把 Quora 里里外外都夸了一遍,如今却惨遭打脸。