宇宙即计算~一种新科学:斯蒂芬·沃尔夫勒姆
数学算法俱乐部
日期 : 2021年02月05日
正文共 :8987字
来源 : 人机与认知实验室斯蒂芬·沃尔夫勒姆这个名字,在中文世界里可能远谈不上家喻户晓;但他的英文名Stephen Wolfram恐怕反而却要熟悉得多。
他是Mathematica软件的发明者和首席设计师,被广泛地认为是当今科学和计算技术中最重要的革新者之一。 大名鼎鼎的数学软件Mathematica每次启动的时候都会提醒你这是Wolfram出品
Wolfram Alpha:下一代搜索引擎,历史上第一个实用的AI(http://www.wolframalpha.com/)。
WolframAlpha是开发计算数学应用软件的沃尔夫勒姆研究公司开发出的新一代的搜索引擎,能根据问题直接给出答案的网站,于 2009年5月15日晚7点(美国中部当地时间,北京时间5月16日上午8点)提前上线,用户在搜索框键入需要查询的问题后,该搜索引擎将直接向用户返回答案,而不是返回一大堆网页链接。 它是基于 Wolfram 早期旗舰产品 Mathematica,一款囊括了计算机代数、符号和数值计算、可视化和统计功能的计算平台和工具包开发的。其数据来源包括学术网站和出版物、商业网站和公司、科学机构等等,例如中央情报局出版物《世界概况》、康奈尔大学图书馆出版物《All About Birds》、《Chambers Biographical Dictionary》、道琼斯公司、CrunchBase、百思买、美国联邦航空管理局、美国地质调查局等 。
从直接了当的数学问题(对 x^2 sin^3x dx积分),到简单的逻辑问题(哪些书的名字里有“蓝”这个词),到物理和化学问题(ATP的电子式是什么,描述三维盒子中的自由粒子需要哪些变量和方程),甚至更一般性的知识问题(卡西尼探测器上携带了多少核燃料,林白单人飞越大西洋的起点和终点,1969年8月发生了哪些大事件),它都可以回答。更重要的是,这些问题都可以用自然语言提出,无需懂计算机语言——当然像Siri一样接受调戏的能力也是有的(其实它比Siri早得多,甚至Siri应用了它的技术)。数学家格里高利·蔡廷(Gregory Chaitin)说,这是“第一个真正实用的人工智能”。
Mathematica / Wolfram Languagetree而斯蒂芬·沃尔夫勒姆的野心,可远远不止于此。(插播:晚辈小札同学刚刚投资了一家知识引擎公司。)沃尔夫勒姆1959年出生在英国伦敦,父母是当年从德国来英避难的犹太人。10岁的时候他立志要当科学家,然后几乎立刻发现自己和所有“科学家的摇篮”都合不来。12岁的时候他拿到了大名鼎鼎的伊顿公学的奖学金,却根本不屑于听老师指挥,还靠帮别的学生写作业来赚零花钱。17岁时,他还没从伊顿真正毕业就被牛津录取了,但是却没有真正“上”过牛津——开学第一天他听了一堂大一新生课,觉得“糟透了”。第二天和第三天他分别听了大二和大三的课,结论是“全都糟透了,我再也不去听课了”。自此他几乎就没有去上过课,并在短短两年之后就前往加州理工大学攻读理论物理博士生了——牛津的一些老教授至今对此耿耿于怀。他拿到博士学位后立刻被加州理工聘用,当时他年仅20岁;仅仅一年之后他就获得了奖励年轻创新者的著名奖项“麦克阿瑟天才奖”,至今仍然是该奖最年轻的得主。但是,这样一位少年天才此后的发展路线却出乎所有人的意料。在加州理工时,他发明了一种计算机语言,却因为学校规定他不能独享专利而和校方闹翻,转而前往普林斯顿高等研究院。在这里他放弃了理论物理,开始研究一个奇怪的新领域:“细胞自动机”(又名--元胞自动机)。这以后的十五年中他悄无声息地独自研究,而最终的成果就是 《一种新科学》。在这本书里,他发展了对于元胞自动机与复杂性问题的研究,认为一切规律都可以被认为是元胞自动机产生的结果,从基本的加减乘除到华尔街股票的涨落都可以用他的“新科学”来解释。除了在研究领域取得突破外,2009 年时,基于 Mathematica 软件的 Wolfram Alpha 自动问答系统也终于上线,它一出现就被认为是 Google 搜索的挑战者。可以说,传统搜索引擎如 Google 是在通过语义分析寻找对网页进行索引,帮助用户寻找答案;而 Wolfram Alpha 的野心在于通过分析来计算答案。回顾史蒂芬·沃尔夫勒姆目前取得的成就就可以看出,与他那 50/50 的工作时间分割比例一样,他的成就也一分为二,前者是他倾心的复杂系统研究,后者就是 Mathematica 及其相关软件。今天,苹果的 Siri 和三星的 S Voice 智能助手在回答问题时,都或多或少地得到 Wolfram Alpha 的支持。此外,微软的必应搜索引擎也在一些方面采用了该技术。Wolfram Alpha 也被认为是可能实现强人工智能的未来产品。想象一下,一望无际的大平面被分成了许许多多方格子。每个格子里正好能放下一个“细胞”。这个细胞不能运动,它可以是死的,也可以是活的;但它的状态,是由它周围8个细胞的死活决定。至于决定的规则,在这个例子里只有这么几条:1 “人口过少”:任何活细胞如果活邻居少于2个,则死掉。2 “正常”:任何活细胞如果活邻居为2个或3个,则继续活。3 “人口过多”:任何活细胞如果活邻居大于3个,则死掉。4 “繁殖”:任何死细胞如果活邻居正好是3个,则活过来。而下面这几张图,全是遵循这几条简单规则的产物。"脉冲星":它的周期为3,看起来像一颗周期爆发的星星。“滑翔者”:每4个回合“它”会向右下角走一格。虽然细胞早就是不同的细胞了,但它能保持原本的形态。 “轻量级飞船”:它的周期是4,每2个回合会向右边走一格。“滑翔者枪”:它会不停地释放出一个又一个滑翔者。“繁殖者”:它会向右行进,留下一个接一个的“滑翔者枪”。动图最后一帧定格时用三种颜色区分了繁殖者本体、滑翔者枪和它们打出来的滑翔者。细胞自动机的想法可以追溯到冯·诺依曼,上面这几条规则别名“生命游戏”,可能是最出名的一套规则组。沃尔夫勒姆对细胞自动机着了迷,而他的同事们对此的评论是“我不太确定他搞的东西能叫科学”,“这更像是数学游戏,他显然已经不再是物理学家了”,还有“这个‘少年天才’其实没有穿衣服”。可是沃尔夫勒姆却觉得自己发现了某种本质的东西。1983年,他做出了自己最得意的发现:“Rule 30”。这是一套规则组,处理的是更加简单的一维细胞自动机,每一次迭代的产物变成新的一行打印在下面。可是,从一个活细胞出发,它却生成了一套极其复杂的无尽花纹;后来Mathematica里使用的随机数生成器,就是基于Rule 30的。(顺便说,用Rule XX指代一维细胞自动机的规则组,这一用法是沃尔夫勒姆首创,沿用至今。) Rule 30的全部规则,以及从一个黑点开始的迭代结果。每一次新的迭代就是新的一行,而每一个细胞的死活由且仅由它自己和它左右两侧的细胞在上一行的状态决定。之所以是30,因为按顺序排列的二进制数00011110对应的十进制就是30。
250次迭代后的Rule 30。左边缘看起来还有一定规律,但大部分区域看起来近乎是随机的。
织锦芋螺(Conus textile)的花纹神似Rule 30的结果
《一种新科学》中举例的 110 号元胞自动机模型,他认为这个模型是图灵完备的。
如此简单的程序能生成如此复杂的行为,这意味着什么?沃尔夫勒姆认为,这正是我们宇宙的本质;我们的世界就是计算,就是一套简单的规则生成的复杂现象。他关于细胞自动机的研究获得了超过一万次引用;而他本人则在离开高等研究院、在伊利诺伊大学度过了两年时光(“在那里,他们指望我来筹钱,做研究的反而是别人”)之后,彻底离开了大学,成立了自己的公司。成立它的目的不是赚钱,而是以最大的自由来推广自己的软件和自己的观点。为了保持掌控力,他甚至拒绝了好几次上市机会。其结果,就是Mathematica和WolframAlpha,还有一本名为《一种新科学》的奇书。在这本引发巨大争议的书里,沃尔夫勒姆完整地阐述了他的世界观:自然界的本质是计算,但计算的本质必须用实验探索。过去的研究者要么使用纯数学去研究计算,要么把计算看成工程的工具。但沃尔夫勒姆认为,我们需要从经验出发、为了计算本身而探究计算,这是一种新的路线,书名也因此而来。最近两年里,沃尔夫勒姆又启动了一项更大的计划:Wolfram Language。其实它25年来一直是Mathematica所使用的计算机语言,但现在它独立了出来,希望成为“世界上最有效率的编程语言”。在2014年即将结束之时,沃尔夫勒姆来华访问,宣传他的思想与产品;新年第一天早晨,沃尔夫勒姆接受了果壳网科学人的专访,在访谈里他讲述了自己对宇宙本质、自由意志、人工智能和软件开源等许多问题的看法。
我们能为宇宙建立一个完整的模型吗?我的工作假说是‘能’。科学人:你一直说,不含随机性的细胞自动机也可以产生无法预测的模式。现实世界如此多姿多彩,你觉得它是不是也不需要随机性?沃尔夫勒姆:我觉得不需要。很多时候人们说的“随机性”,其实是建模时用的黑箱:我不了解一个系统的全部规则,所以我假定这个系统有某些额外的因素在提供“随机”的输入。这个意义上的“随机”,只是证明你还没为这个系统建立完整的模型而已。但我们能为宇宙建立一个完整的模型吗?我的工作假说是“能”。也许这假说是错的,也许出于什么原因我们就是无法为宇宙建立完整模型——但是我还没有见到相关的证据。所以我会朝这个目标而努力。一旦我们得到了完整模型,随机性就消失了,没有任何来自外部的不可预知的因素。我有个朋友名叫格里高利·蔡廷,他对于算法随机性这整个领域非常感兴趣,他有一个著名的发现叫做“欧米伽数”(即蔡廷常数),这个数字虽然是个确定的数,但任何图灵机都计算不出来。[1975 年,计算机科学家格里高里·蔡廷(Gregory Chaitin)研究了一个很有趣的问题:任意指定一种编程语言中,随机输入一段代码,这段代码能成功运行并且会在有限时间里终止(不会无限运行下去)的概率是多大。他把这个概率值命名为了“蔡廷常数”(Chaitin's constant)。这听起来有点不可思议,但事实上确实如此——蔡廷常数是一个不可计算数(uncomputable number)。也就是说,虽然蔡廷常数是一个确定的数字,但现已在理论上证明了,你是永远无法求出它来的。]我和他观点的区别就是,我认为宇宙像pi一样,虽然无穷无尽但可以计算到任意精度;而他始终认为宇宙像欧米伽。我不知道为什么。科学人:如果我们建立了宇宙的完整模型,是否意味着我们就没有自由意志了呢?沃尔夫勒姆:我在我的书里讨论了一个概念,叫做“计算不可化约性”(Computational irreducibility)。这意味着,就算你知道了一切规则,你可能也无法提前预测这些规则将会做什么——唯一的办法是实地运行这些规则看看它们到底会做出什么来。“自由意志”这个词包括很多层面,如果我们能预测我们将会做出什么事情来,那可以说我们没有自由意志。比如说,看一只蛾子反复地撞击玻璃窗,试图飞出去,我们会说它看起来没有自由意志,似乎是决定性的反射机制。但如果我们看到一个人在做一件非常复杂的行为,我们会说他看起来好像在作出选择,因为我们无法预测他将会怎么做——在这个意义上,我们拥有自由意志。我们的历史必须按顺序逐渐上演,你不能说“我已经知道结局了,快进到头吧”;历史是必不可少的。世界的底层规则是简单的、决定性的,但是这些规则生成的人类行为却极端复杂,这之间的计算鸿沟无法化约,因此我们的行为是“自由”的。科学人:会不会有一天,我们对大脑已经有足够的了解,可以监控到足够的信息,可以说“十秒钟之后这个人会想这件事情”?这时人们还有自由意志吗?沃尔夫勒姆:我不知道。这一点已经部分地在鸟类中实现了,我们能大致预测出鸟类下一秒会唱什么样的歌。但我还是觉得,自由意志这个概念的根源,只是因为要预测未来所需的计算量太大。就算我们发现了宇宙的全部规律,要么我们得想办法进行和宇宙同样的运算,要么我们就看着宇宙自己这么算下去。科学人:到那时,是否物理就变成了数学呢?物理条件会反过来限制我们对数学的理解吗?沃尔夫勒姆:如果我们真的建立了宇宙的模型,一切都可计算,那么全部物理问题就都还原成了数学。但什么是数学呢?数学从公理系统出发,比如欧几里得的公理系统;在此基础上我们推导出一系列的形式知识。至于选择什么样的公理,可以是人为武断选择、得到纯粹抽象的数学知识,也可以选择那些和现实世界对应的公理。欧几里得认为他选择的公理是对应现实的,但后来数学家逐渐开始做出武断的抽象的选择。数学是个抽象的领域,它不会被现实的物理限制。
模仿人类,既是错误的路线,又是唯一可行的路线?科学人:我们之前采访过侯世达。对于他的人工智能(AI)路线——遵循类比、模仿人类思维——你怎么看待?
沃尔夫勒姆:我认识他,我无法评判他的具体研究内容,但对于他的大致方向——理解人类的智能——我的看法是:这既是错误的路线,又是唯一可行的路线。一方面,如果说我们的目的是创造智能系统,那么这条路线与之无关,正如研究鸟类如何飞行与制造飞机无关一样。特别是在所谓“通用推理AI”上,人们曾经说它才是能够回答问题的系统,但沿这条路线没有人成功;而我们的WolframAlpha却成功地回答了许多问题。我们如何做到的?通用推理AI,所做的是推理。面对物理问题,从一个事实推理出下一个事实,就像中世纪的哲学家那样。而我们做的,则是计算。面对物理问题,我们在某种意义上是“作弊”了:使用我们文明积累下来的全部科学和数学确立一个方程,然后把结果计算出来。在这里,我们使用的方式和人类思考问题的方式截然不同,但效率要高很多。大部分眼下的智能系统都是这样。但另一方面,如果我们的目的是真正的“终极”智能呢?我们现在的计算能力,和大脑比起来都可以说相当不错了,但是如果要为这些计算设定一个目的,必须有人类的参与。我们的系统可以想算什么就算什么,但没有人为它指明目标,它什么也做不了。世界上没有所谓“纯粹”的智能,它必须和人类目标紧密相连。侯世达的路线对解决任何具体的智能问题都没有什么帮助,但对理解我们的目的却至关重要。科学人:为什么人类有目的,机器就没有呢?你觉得区别在哪里呢?沃尔夫勒姆:这是个好问题。水有向下流的“目的”,你可以为物理世界赋予各种各样的“目的”,但所谓的目的其实有两种,一种是遵循物理机制自然会产生的结果,另一种则是努力要去实现的目标。自然界的计算能力完全可以和人脑像匹敌,但自然界的目的全都是前者,而如果我们希望得到类人智能,必须要有类人的目的。比如湍流,或者木星大气表面的漩涡,它在做各种各样繁复的计算,恐怕比我们的大脑更加复杂——至少是运算量更大,但它看起来并未获得我们所说的智能,因为我们唯一知道的智能,就是人类智能。 科学人:那么你相信智能爆炸会带来技术奇点吗?
沃尔夫勒姆:不相信,至少不是人们通常说的那种奇点。许多人说奇点的时候,想象的一个重要特征就是人类永生。这迟早是能实现的,也许部分技术来自生物学,部分技术来自数字世界。这时看起来也许就像是抵达了奇点一样——人类和智能有了无限的时间去发现新事物。但是每年新发现的东西就会因此而指数爆炸直到无限吗?我不这么认为。也许我有偏见吧,人类智能是个连续谱,而我很幸运,我自己位于这个谱的上面那一端;但是在我看来,这些智力并没有质的区别。就算你的智商有200甚至1000,恐怕也不会让你懂得一些别人不可能懂的东西。能不能把更多的知识整合起来?当然可以。假如说我们现在大脑每秒接收100兆的信息,我们当然可以想象一个智能系统每秒可以接收并处理上千兆的信息;但我不认为这谈得上是“更高的智能”。
我把自己看成一个工具的制造者。科学人:人们说WolframAlpha是第一个实用的AI。你在创造它的时候,觉得自己是一个AI研究者吗?
沃尔夫勒姆:“人工智能”是一个很模糊的概念。我和AI打交道的这些年里,它从让人激动的概念,变成了“毫无希望”的领域,现在它又东山再起,流行起来了。四十多年前,我就想做一个像WolframAlpha这样的东西。当时,我觉得要做一个这样的工具,必须先制造出通用AI,这很困难,所以我没有沿这个方向继续做下去。但后来,由于我所做的研究,我意识到其实不需要通用AI,也能提供计算性知识。这就是我发明WolframAlpha的原因。我们想制造出“聪明”的系统,而现在我们有了Wolfram语言作为平台,在这个基础上我们就能实现智能系统的目标。我把自己看成一个工具的制造者,而拿这些工具做什么呢?把我们这个文明的一切知识汇聚起来,形成框架,让新的知识能够自动在它的基础上生产出来。WolframAlpha和Wolfram语言都是在帮助人思考,但和其他帮助人思考的工具不同,我们所做的是让知识变成可以用来计算的东西。科学人:Wolfram语言未来会向免费和开源方向发展吗?沃尔夫勒姆:开源在有些事情上是好的,另一些则不是。一般来说,当一个项目需要领导、需要整体设计的时候,开源是很难实现的;而我们过去二十年来做的正是这样的项目——创造从未有过的东西。另一个因素是,这种语言用到了很多很多的知识,其中有些知识属于我们,另一些知识则来自别人,我们不能就这么简单地说,“这一切都是免费的!”的确,WolframAlpha是免费服务,我们提供这项服务本身是不赚一分钱的。这没问题,但光靠它自己无法长久维持,所以我们在它的基础上提供很多别的服务,并从中营利。我的信念是,建立一个经济-生态系统的最好办法,就是让那些从中获得价值的人们也为之付费。这是最简单的方式。很多所谓的开源解决方案,其实是陷阱。最著名的陷阱就是安卓:系统本身是免费的,但你要支付专利费。还有些别的例子,东西本身是免费的,但你自己没法建立这个系统,你得求助专业人士,最后还是得付钱让他们在云端托管。所以我们做的,其实是在经济问题上坦诚相见:人们可以使用Wolfram语言在线版免费地学习和试用,但当创业公司在此基础上开始盈利的时候,就要为此付钱。其实这个模式和常见的模式差别也不是那么的大,但如果他们选择了开源的方案,那么就说不准什么时候要付专利费或者云端托管费。我们所做的只是让事情简单化,让人们预先清楚会发生什么。科学人:你觉得你的产品受到了硬件计算能力的限制吗?沃尔夫勒姆:不怎么觉得。我面临的挑战是在软件上找到巧妙的方法,我不觉得底层的硬件是什么限制——当然多年前我刚开始使用计算机的时候肯定是受限制的。其实真正的制约因素是,从一个想法到可运行的软件诞生,这个过程要花多长时间。软件本身运行所花的时间很少成为瓶颈。我们确实有很多极端的例子:比如眼下像机器学习这样的程序,要运行很多个CPU年才能得到结果,如果能快一些固然很好。再比如,为了提供一个用户界面能让人类感到使用自如,硬件至少需要达到一定的水准;在一部分移动设备上我们还做不到这一点。但这都是相对次要的问题。当然还有别的因素,比如现在中国网络连接的不确定性———某种意义上这也算是硬件问题吧,不过这是另一个话题了。所以关键还是,我们人类能否做出好的软件。
我对解决别人解决过的问题从来都没有兴趣。科学人:你做了很多自我数据分析(比如统计自己都在啥时候打电话)的工作。你为什么要这样做?有没有从中发现一些有趣的东西呢?沃尔夫勒姆:我搜集这些数据是因为我对数据感兴趣。我有几套系统,负责检查我昨天锻炼了多少、完成了多少工作这样的事情。我已经搜集了二十五年的数据,时不时地我会对这些数据分析一下,会发现各种各样的结果。但这些数据的真正宝贵之处是,当我对自己有什么问题的时候,我能很容易找到答案。比如有一次我买了个新键盘,我想知道有了它打字速度是快了还是慢了,只花几分钟我就得到了答案。眼下我正打算回答一个难一些的问题,就是对我发的电子邮件进行情绪分析,来判断哪些事情会让我开心,哪些会让我不开心。我所发现的大多数结果,都是事后想来“嗯,的确如此”的那种;但如果没有看到这些数据,我是不会往那个方向上思考的。科学人:在自己的公司做研究和在大学做研究,你觉得有什么差异?沃尔夫勒姆:公司的效率要高得多。对我来说,公司就像是把想法变成现实的机器,我会努力为了这个目的而优化这台机器,而在大学里你就没法做这样的优化。科学人:你多次辍学,你觉得学历这个东西是什么意义呢?沃尔夫勒姆:其实我不是真的“辍学”。我在英国去的是顶尖的中学,我离开的原因是我得到了顶尖大学的奖学金,所以我只是碰巧比别人离开得早几年而已。在大学里,我得到了直接进入研究生学习的机会,所以我想既然如此,为什么要花这么多年当本科生呢。我很幸运能在二十岁就完成我的学业阶段,因为我觉得我没有耐心再学那么多年。我对解决别人解决过的问题从来都没有兴趣,所以我一直很讨厌课本上的习题。也许这是我个人的傲慢吧,我只是希望我在做独一无二的事情,而不是别人做过的事情。在某些教育系统里,有很多的内容是围绕“循序渐进走过程”而展开的,但我觉得发挥人们潜力最好的方式,是让他们学习自己感兴趣的东西,而不是让他们沿着确定的道路前进。科学人:你有粒子物理学博士学位,后来为什么不做物理了呢?沃尔夫勒姆:我没有离开物理呀,我时不时地还会回到物理问题。我在《一种新科学》里就讨论了很多物理问题。我对各种各样的问题都感兴趣,特别是宇宙的最本质特性,这也是促使我学习粒子物理的原因,但我学了之后发现粒子物理的细节并不是宇宙的本质,而诸如复杂系统的特性这样的问题要比物理学更加基本。你可以把这些研究想象成一般性的物理原则。对于宇宙的具体物理特性我依然感兴趣,我希望有一天能把一般性的物理原则应用在上面。当希格斯玻色子得奖的时候,我在美国起了个大早看视频直播,我意识到现场有很多好多年没见的老朋友,他们一直留在物理学界。他们介绍希格斯玻色子的时候我想,“这些我都知道呀,四十年前我就是在做这些东西。”我想我完全可以留在物理学界,四十年来一直就做这样的研究,我觉得我对此还算挺擅长的。但是因为我转行做了许多其他别的内容,我所弄明白的东西,哪怕限定在物理学里,也比留在物理学界做单一领域要多得多。我的人生有一条经验让我念念不忘,那就是研究许多不同的东西能让人学到更多,哪怕你的目标只是解决一个问题,也是如此。在这一点上我很幸运。科学人:你说你最喜欢的发现是Rule 30,为什么呢?沃尔夫勒姆:这是我发现的第一个元胞自动机规则,它是一个戏剧性的例子,表明一个简单的生成规则如何诞生出复杂的行为。我喜欢拿它和科学史上的案例对比:当伽利略发现木星的卫星的时候,这就是一个迹象,表明物理学的定律适用于整个宇宙。Rule 30让我意识到,在计算的宇宙中凭借简单规则可以出现一些非常复杂的现象,这并不是显然的;这是第一个明确的案例。今天的科学和技术,很多都是依靠搜寻这个计算宇宙中的可能程序,寻找在行为上满足我们需求的那些。正是简单程序可以产生复杂行为这一特征使之成为可能。在我写《一种新科学》的时候,我做出了一个预测:审视一下新出现的关于自然界的模型,我们会看到,基于程序的发现,将逐渐取代基于方程的发现。我预测在五十年内,挖掘计算空间所产生的科技将会超过传统方式。那是十二年前的事情,我们还有三十八年。我们正站在这个趋势的开端。
— THE END —
☞平凡而又神奇的贝叶斯方法
☞欧拉公式——真正的宇宙第一公式☞方舟子:哥德巴赫猜想有什么用☞为什么美国学生学的数学比我们简单却能做出很牛逼的东西?☞【物理方程】物理学中最难的方程之一,你知道多少?☞第一代程序员王小波
评论