|
题 目: Wolfram的A
New Kind of Science(NKS): Summer School 2007纪实
作 者: 张江
日 期: 2007.7.26
2007年的6月24日~7月13日,我有幸赴美参加Wolfram
Research举办的A New Kind of Science(NKS)的暑期学校,其中不仅学到了很多知识,而且对Wolfram这支美国复杂性科学研究的另外一支队伍有了一定的了解,一点经历和感想记录如下。
首先,需要简单介绍一下大名鼎鼎的Stephen
Wolfram这个人。他15岁就发表首篇粒子物理方面的学术论文,到17岁,他的科学论文发到了《核物理》(The
Nuclear Physics)杂志上,可以称得上是科学界的神童。1980年代,Wolfram从一种被称为细胞自动机的模型开始利用简单的计算机程序研究复杂性。然而就在他的学术生涯蒸蒸日上的时候,他却因为不满美国大学死板的管理制度而毅然走出学术界。Wolfram开发了数学软件:Mathematica,并创办了自己的公司:Wolfram
Research。Mathematica为Wolfram赚取了丰厚的利润。然而,Wolfram的主要兴趣仍然在科学研究上,1991年,Wolfram开始继续他的细胞自动机研究,并开始写作A
New Kind of Science 这本书,终于十多年后,也就是2002年5月,该书得以面世,刚一出版就立刻成为人们关注的焦点,甚至一度成为(亚马逊网站)畅销书排行榜的冠军。从2003年开始,为了进一步巩固和宣传他的新科学,Wolfram开始以自己的公司的名义举办一年一度的暑期学校和国际会议,到今年已经是第五个年头了。
那么,究竟什么是NKS?简单说,就是研究各种简单程序构成的计算宇宙的学科,什么细胞自动机(Cellular
Automata,CA)、图灵机、替换系统、Tag系统等等。与以往的计算机科学最大的不同是NKS不研究一个程序或者算法能够计算出什么结果,也并不想模拟什么真实的系统,而是从最简单的初始条件和规则出发观察程序的行为,所以NKS更像是一种物理学研究,只不过研究的是人工宇宙。 |
NKS Summer School 2007
这次Summer School是在美国Burlington的Vermont大学举行的。Burlington是美国东北部Vermont州的一个小城市,景色秀丽、气候宜人。城市的西边有一个叫做Champlain的湖,而Vermont大学则坐落在城市的东侧。由于市中心略为凹陷,低于水平面,所以在大学校园里就能够眺望到远方的湖面。Vermont大学是一座没有围墙的学校,整个融入到了Burlington城市中。一座座古老、典雅的欧式建筑被大片的绿地包围,时不时还会有几个玩滑板的青年从街上匆匆而过。整个校园、城市都沉浸在一种安静、祥和的气氛中。

参加这次Summer School的人来自世界各地,除了非洲、南极洲以外,几乎每大洲都有代表参加,当然美国人还是占多数;亚洲方面主要有印度人、斯里兰卡人以及中国人:我。
这次暑期学校有三周的时间,主要分成课程和学生自己做项目两个内容。而课程主要涵盖Mathematica软件、NKS基本介绍、NKS的深入专题、计算理论等几个内容。
Mathematica
可以看出,目前的复杂性科学研究还处于起步阶段,因此各个学派百家争鸣、群雄逐鹿。Wolfram就认为,这样的趋势是危险的,学科就好比是企业,没有了核心竞争力也就丧失了其发展的动力。Wolfram当然认为他自己创办的NKS就是复杂性研究的内核,同时Wolfram不仅仅在理论上用NKS的统一视角来看待复杂系统,而且他还统一了研究的工具,即Mathematica软件。Summer
School中的一切作品都必须用Mathematica软件完成,包括作业、项目、编程、讲演搞、海报制作等等。因此,Summer
School头两天的课程就是大规模的Mathematica轰炸。其实,我发现如果习惯了Mathematica,它真的是一个研究复杂系统的好工具。比如,你要分析一个复杂网络,如果没有现成的软件,你需要自己编写代码,提取数据、画图、写算法,输出数据,而有了Mathematica,一切都可以用不到100行的代码完成。
第一周的每天下午,Wolfram都要给我们带来两个小时的Mathematica
experiment live show,信手拈来一些函数和数据,就能做出一个很不错的小型Project,对于观众来说,我们的确就跟在电子音乐舞厅中欣赏DJ现场打碟一样。
按照NKS Summer School的例行规矩,Wolfram要亲自与暑期学校的学员每5个人一组共进晚餐,晚餐之后还要亲自指点每个学生的项目。这就给了我很多跟Wolfram零距离接触的机会,慢慢的,我逐渐在我的脑海中勾勒出一个Stephen
Wolfram的人物特征:
Wolfram
(1)Energetic Man
说Wolfram是一个Energetic的人一点都不过分,无论做什么事情他都能充满了无比的力量和激情。会议曾经安排过一次沙龙聚会,Wolfram也来了,几个学员于是把他围住,接二连三的问了无数的问题,Wolfram都耐心的一一予以回答。最后,4个小时过去了,Wolfram仍然站在原地一动不动,没有喝一口水,没有坐下休息一分钟。
(2)执着的科学追求者
与一般的企业家不同,Wolfram体现了任何一个企业家都做不到的执着的追求科学的精神。Wolfram曾经给我们讲过很多有关NKS写作的动人故事。在NKS的第7章,Wolfram研究了计算机算法生成不同树叶构型的方法。为了验证计算机程序生成的树叶的确存在于自然界,他想用真树叶进行比较。然而,当他走出室外才傻了眼,因为当时正赶上美国的冬天,树叶全落光了!这可怎么办?为了保证真实、准确,Wolfram不的不暂停书的写作想办法。突然,他想到公司的一位职员在澳大利亚工作,而那边正是夏天,应该可以采集到树叶。于是,他写信给那位职员,让他采集了几片不同种类的树叶邮寄过来。这样他才可以继续写下去。
另一个故事是,当NKS写完需要打印的时候,Wolfram对图形的分辨率要求非常高,需要用特定的绘图仪来打印图。然而不幸的是,他们竟然遇到了Adobe公司绘图软件的一个Bug,由于几乎从没有人使用过这种特殊功能(高分辨率图形和公式、文字的混排),所以该Bug竟然存在了10多年而从来没有被发现……
Wolfram为了写作NKS,曾经专门走访过包括生物学家、物理学家、工程师、数学家、计算机科学家等各行各业的专家以小心求证,甚至有的时候,Wolfram较真的问题连那些专家们都没想过。
(3)科学界的朋克(Punk)
朋克原指摇滚乐的一种类型,以无拘无束、叛逆不羁的音乐形式而著称。后来,该词演化成一种广义的概念,描述一种叛逆、不合规矩的生活态度。Wolfram是美国科学界的朋克——这是一位暑期学校学员的判断。的确,Wolfram年轻时候的举动充满了叛逆思想。他本应该按部就班的在大学里搞研究,然后等有朝一日晋升教授……。然而Wolfram早已厌烦了这套死板的教条道路,他想发展自己的新学科。然而,在80年代,没几个人能真正懂得复杂性科学的涵义,当Wolfram将自己的细胞自动机研究成果Show给别人看的时候,他常常遭到嘲笑和讽刺,人们认为那仅仅是简单的计算机游戏。这导致年轻的Wolfram申请不到政府资助。于是,他毅然反叛了所有的大学,跳出了这个圈子,干起了公司,用他自己的话说,他认为自己挣钱远比申请经费更容易。
Wolfram批判目前的复杂系统研究情况,认为该研究领域缺少内核。比如在复杂性研究中,搞经济的人搞出一个计算机模型出来模拟经济,搞生物的人又去造一个模型解释生物,它们竟然都叫复杂性研究。事实上,这些研究都是分散的,没有必然的联系。Wolfram希望一个真正的内核应该能够统一人们的混兰思想,它当然希望NKS能够成为研究复杂系统的内核。
(4)熟悉科学发展历史
从莱布尼茨、高斯到图灵、冯诺依曼,Wolfram给我们讲了很多科学发展历史中的故事。他不仅会熟练的使用计算机、具有敏锐的逻辑分析头脑,而且还具有深刻的哲学思想,喜欢从历史中总结经验教训以指导现代的研究。Wolfram有一种居高临下的大师风范,他可以给你讲出数门学科的来龙去脉,发展趋势。他非常欣赏冯诺依曼的工作,记得有一次他拿着自己的新科学书稿请教一位数学家,那位数学家看过之后对他说,估计能够真正理解你的人只有一个,他就是冯诺依曼。Wolfram还给我们讲述过一个有趣的故事:Von
Neumann的神秘盒子,具体详情请看这里。 |
合影
为了纪念暑期学校,我们集体合影留念:

给大家介绍几个人物:
中间偏右侧的那个秃顶的穿蓝色衣服的老头就是大名鼎鼎的Wolfram了。
中间第一个人叫Todd,他是Wolfram公司的研究员,专门负责各界暑期学校。
第二排右手第一个穿黑色T恤、蓝色牛仔裤的人叫Mathew,是卡耐基梅隆大学的老师,也在Wolfram公司兼职,给我们讲授计算理论和数理逻辑。我认为他是所有授课人员之中讲的最好的一个,条理清楚、思路敏锐。
倒数第二排右边数第二个那个露一个小脑袋的人叫Garrett,是纽约大学的高材生,上高中的时候就开始搞一些生物学和生态学的研究了,现在仅仅大学二年级,就已经参加过很多科研项目,同时他经常在上课中间打断老师讲课提出自己的看法。
他底下的那个老头是他的老师Ray,也是纽约大学的,研究神经网络、脑科学,可能是参加这次暑期学校的年龄最大的学员了。
还有一个恐怕是本次Summer School最年轻的一个了,就是纽约高材生左边的那个小脑袋,他叫Eric,是个德国人,现在可能刚上高二就参加过包括微软公司、Max
Plank研究院等多个研究机构的学术研究活动。(在国外,有特殊能力的神童有很多机会得到发展)。
Jason
倒数第二排那个戴墨镜穿深蓝衣服的人右边的那个叫Jason,是一个哲学家,他现在也在Wolfram
Research工作,很有自己的想法。我曾经利用课余时间跟他进行较多的交流,很有收获,我们交流的主题非常广泛,包括以下一些问题:
(1)关于计算等价性原理
Jason也给我们上课,专门讲一些NKS中的哲学层面的问题。他认为NKS整本书的最后一章是哲学思想内涵最丰富的一章。其中,提到了一种被称为计算等价性的原理(Principle
of Computational Equivalence,PCE)。这个原理是说,任何一个足够复杂的物理过程都有可能是支持通用计算的。而我们已知的支持通用计算的系统有很多,包括图灵机、细胞自动机、替代系统等等,它们在计算能力上是等价的。虽然有的系统可能非常简单,例如110号细胞自动机。因此,Wolfram得出了PCE原理。尤其值得一提的是,Wolfram甚至怀疑自然界不存在所谓的随机行为,那些看似随机的过程很有可能也是支持通用计算的,因此也是复杂类型的。
Jason经常给我们强调这个原理的重要性,这是因为它是一个伟大的猜测,假如猜测是对的,那么我们就有可能得到一个“万物皆有灵”的说法。因为任何一个足够复杂的物理过程,无论是流水、生锈的铁、下落的树叶等等都有可能是支持通用计算的,也就是说可以模拟任何一种可计算过程,而我们人类的智能无非也是一种通用计算过程,所以从计算角度说,它们是等价的。
(2)NKS对进化问题的看法
在NKS一书中,没有论及有关生物进化的问题。Wolfram说,在他写书的时候,他曾花费了很长时间在研究演化算法(Evolutionary
Algorithm),但是认为从生成复杂性角度来看,演化算法并没有更特殊的地方,所以就没有在NKS中加入这些内容。
Jason解释说,NKS的目标首先不关心优化问题,它关心的是复杂性。NKS也并不否认自然选择学说,而是认为NKS和自然选择探讨的是两种问题。在自然选择中要有足够的多样性被选择,而且要有一种变异机制,NKS想对这类问题作出贡献,即至少产生多样性,产生变异的机制不需要等到自然选择发挥作用。
另外,NKS相信除了自然选择之外,还有自组织的力量在起作用,就比如生命的起源问题,按照自然选择的说法,地球原始化学汤要经过随机变异产生一个能够被复制的DNA模板,然后达尔文的那套故事开始起作用。然而这样产生DNA复制分子的概率是极小的。所以,人们寻求新的解释,NKS在这方面进行了探讨。即无需等到自然选择,简单规则孕育的自组织原理就会先发生作用。
(3)弱涌现与强涌现
Jason区分了两种涌现,即强涌现与弱涌现。所谓的强涌现就是指宏观涌现出来的Pattern会对微观有一定的反馈作用。而弱涌现仅仅指宏观出现的不可化简的现象。关于强涌现,Jason举的例子是社会,比如经济系统形成的价格就有强涌现属性,它会让每个个体follow这个价格,因此是一种反馈。不过我个人认为这个例子不是很好,就我所知,一个最好的例子还是那个“马姨”的故事(请参考科幻小说:马姨),当马姨作为一个涌现出的整体具有了高一层次到低一层次的反馈的时候(这就是跨层次的反馈),强涌现发生了。(还记得吗,马姨这个具有智慧的蚁群用构成自己的蚂蚁们拼出了一个Patten在说,随便找一些你感兴趣的好吃的蚂蚁吃吧,这个跨层次反馈在这里是那样的强,甚至导致了个体和整体的冲突。)
(4)计算系统与开放性问题
一次吃饭的时候,我提出复杂系统的开放性问题,普里高津研究复杂系统是从开放性的热力学系统入手的。但是Jason说从NKS的角度来说,热力学开放并不一定是必要条件。因为一个开放系统不一定产生复杂行为。而NKS研究的行为才是本质的。即简单规则产生复杂行为。也就是说,研究NKS完全可以扔掉热力学中的能量、熵等概念。(这一点让我觉得很不舒服,我觉得这会丢掉很多本质的东西)。
Jason还谈到了最近有一个叫做Peter Wegner的计算机科学家从计算的角度讨论了系统的开放性问题,他的观点主要是,一个计算系统必须朝外界开放,允许外部的信息注入进去才能使得系统进化起来。但是Jason的观点是不停地从外界注入信息可以完全等价的看为开始的时候从外界注入的初始条件。所以,系统的开放性就不是主要问题。具体证明是这样的:考虑一个一维细胞自动机模型,它从一条线的初始条件开始运行,形成了一个二维的Pattern,假如我们不断从外界干扰这个系统(注入信息),当然有很多种可能性,不过为了简化,我们不妨假设外界输入仅仅在CA的左边界进行,并且输入仅仅有黑白两种信息。那么这样的话,一段时间运行CA仍然会得到一个二维的Pattern,初始条件在最上面一条线,那些输入信息的历史就在最左边的那一条线上形成的01序列。于是Jason说,这个系统可以完全等价为一个二维的CA,初始条件设定在最上面一条线和最左边一条线,也就是说他可以把干扰等价看作初始条件。这种推理很简单能够推广到多维的情况,当然也包括其他的计算模型。它说明外界对计算系统的输入并不是本质的因素。
(5)NKS与中国古代哲学、文化
Jason对各种哲学思想,包括东方西方都有了解。他很喜欢老子的道家思想,认为NKS从某种程度上说正是在重新发现中国几千年前的哲学思想。首先,当年莱布尼兹发明二进制就是受到了易经的启发。莱布尼茨看到八卦都是用不同的短线(一条或者两条)拼成的,所以突发奇想发明了二进制。其次,易经八卦讲究的是用一些简单规则拼接组合生成复杂的模型,从这一点,NKS的原理和古代哲学是相通的。但是,让我吃惊的是,他不喜欢佛学思想,因为那里没有关于自然的看法,而全部是对一个人内心世界的看法。(也许这一点Jason有所偏激)。
Jason还对中国的围棋很感兴趣,他认为这是一个典型的NKS式的棋类游戏,虽然规则简单,但是玩法却多种多样。有人曾尝试写围棋的人工智能程序,却屡屡失败。Jason提到了有一个叫做Ed
Pegg的人,他也是Wolfram公司的成员,创办了一个网站叫MathPuzzle,专门收集一些有关数学的有趣游戏。该人还是近期在北美热播的电视系列剧:Numbers(讲述一个数学天才帮助他的哥哥:洛杉矶的一个警察用各种数学原理破案的故事)的学术顾问。此人曾对中国围棋的人工智能程序非常感兴趣,并提出过一个退火模型。即认为任何围棋人工智能程序都应该考虑一个温度参数,在开局的时候温度很高,因此程序走步较随机,关注的是大局,而随着棋局的展开,温度逐渐降低,因此程序可以逐渐关注一些细节。 |

Shelburne Museum
2007年7月7日是周六,两个美国人驾车带着我们几个外国的学员到Burlington附近的一个叫作Shelburne
Museum的博物馆参观。我还是头一次见到美国这种开放式的博物馆。整个博物馆就像是一个大庄园坐落在一大片草原上。草原上的一间一间小屋子里面展出了各种各样的东西。大部分都是19世纪末、20世纪初的,比如铁匠的屋子、各种手工艺术品,普通人的居室等等。


给我印象深刻的是,这里面展出了有19世纪末的打字机和织布机。那个打字机虽然非常笨拙,却展示了美国人当时的智慧。他们设计了各种精巧的装置实现字母打印的功能。另外还有织布机,最有趣的是,那个时候人们已经会使用类似纸带这样的计算机输入设备来“编程”各种图案了。这些机器处处展现了今天计算机科技中广泛使用的技术,例如二进制、布尔运算等等。


从这一点来看,我感觉到计算机的发明在当时资本主义国家来看是一种必然,因为相关的技术已经发展到了这一步,自动化的机器在十九世纪末期已经相当普及,人们不再关心能源问题,人们关心的是如何组合这些东西,如何利用各种信息实现自动化。虽然真正计算科学开始于20世纪的20~30年代,但是劳动人民更早的智慧要追溯到19世纪末期。
资源淘宝
对于我来说,这次暑期学校的另一大收获就是获取了大量的信息资源,让我能够知道美国的各个科研人员正在参考什么样的网站、Paper和书籍。我简单介绍一下这些资源。
另外,我利用课余时间到Burlington的一家旧书店里淘书,收获颇为丰富,介绍如下:
学生项目
最后,我想说说暑期学校的一些成员所作的研究项目,以便大家对NKS研究有一个感性的认识。
项目 |
简介或评论 |
Modeling Gene Regulatory Networks
Using Multiway Systems |
该项目用一个叫做Multiway systems的模型(NKS中有论述)建模基因调控网络。所谓Multiway
system就是一个字符串重写系统。比如有规则A->AB, B->AA,然后从一个初始字符串开始比如AABB,反复运用规则得到一个庞大的字符串库。所谓的Multiway就是说在一步内对每一个字符串可以用不同的规则对它进行重写,穷尽所有可应用的规则。他的研究项目就是研究用Multiway系统得到的所有可能字符串的分布。得到一个分布曲线,令人吃惊的是,在某些系统的某些初始条件下,我们能够得到和真实生物的mRNA非常接近的分布曲线。而且这些multiway
system还有一些共同的规律,例如字符串个数按指数增长。 |
A Cellular-Automaton Model of Dynamical
Fitness Consequences of Different Reproductive Strategies |
该项目用某个固定规则的CA的运行作为生物体的表现型,用CA的初始条件作为生物体的基因型,按照黑色密度分布作为适应度函数,然后研究一群CA的进化;实验分了两组,一组是有性繁殖,一组是无性繁殖。观察不同组中适应函数曲线的变化规律。 |
Dancing Turing Machines |
暑期学校中的一个最有趣的研究项目是用Turing Machine(TM)在一个二维平面上跳舞,按照一定的规则,搜索出一些有趣的TM划过的轨迹。作者还介绍了一个多头TM模型,让这帮小家伙条交谊舞或者集体舞。 |
Tractable Shape |
有一个人做的研究很酷,用2D CA演化出一个3D的模型,并把这个模型应用于某种未来的建筑。具体方法是这样的,在一个二维平面上画出一个区域作为建筑物所占领的平面,随机选择一个初始条件,用一个2D的细胞自动机在这个平面区域内演化,这样不同的时间步就会形成一个3D的构型,这个构型就是我们所要的建筑物。 |
各种有趣的建筑物:

将演化出来的建筑放到城市中会是什么样子?

|
Minimal Models of the Complexity
of Financial Security Prices |
这个项目用NKS的方法研究股票价格时间序列曲线。具体思路是这样的,用一个有限状态自动机作为一个股票交易者。最简单的情况是这个有限状态自动机有两个状态,两种输入信息0:股票价格上升,1:股票价格下降,两种输出信息:0:买入,1:卖出。然后,股票交易者有一个观测窗口(也就是看历史多少步)。然后根据历史数据得到上升或下降的输入序列根据该自动机规则进行买入或者卖出,在只有一个交易者的情况下,该交易者的买入、卖出动作就决定了股票当前的走向,于是就可以生成一个时间序列。NKS的方法是从最简单的模型开始进行穷举搜索。于是作者对所有可能的2状态自动机进行了搜索,发现规则54号会产生复杂的时间序列行为。进一步作者还研究了3状态的几个典型情况以及多个交易者的情况。 |
Complexity and Universality of
Iterated Finite Automata |
这是我的研究项目,属于一种纯NKS研究(没有应用背景)。我主要研究了一种被称为迭代有限自动机的(Iterated
Finite Automata,IFA)的抽象行为。按照NKS方法,我对所有的2状态3颜色IFA进行了穷举,找出有趣的复杂行为,进一步我证明了任意一个1维细胞自动机可以被一个IFA所模拟,因此也就证明了IFA这种特殊的计算系统是计算通用性的。 |
| Evolved Intelligence - Programmed
Design |
这是一个哲学家做的NKS项目,没有作任何计算机模型,只是对NKS相关的一些哲学问题进行了探讨。作者提出了一些有关后人类、我们是否生活在计算机模拟世界中等问题。 |

总体看来,NKS暑期学校对我的影响还是很大的,而且更多的是一种潜移默化的影响。也许从纯粹知识的角度来看,我并没有学更多的东西,但是我了解了NKS的理念。可以说,NKS相比较其它的复杂性科学,拥有比较统一的内核以及一整套应用方法。但是目前NKS仍然处于起步阶段,也许更多更广泛的应用还需要等待这门学科进一步的发展。
|