财新传媒
位置:博客 > 集智俱乐部 > 涌现计算的实现之路有多远?

涌现计算的实现之路有多远?

 
 
2016-02-29 张江 集智俱乐部
编辑:奔跑的羊,温暖
 
张江,就职于北京师范大学系统科学学院副教授。主要关注领域:复杂系统中的流网络、异速生长、经济社会系统多样性。2003年创办早期的集智俱乐部网站,2007年创办线下活动的集智俱乐部,组织多学科研讨会、读书会。
 
在领略了各式各样的涌现计算实例之后(见神奇的涌现计算:“鼻涕虫”绘制城市交通路网),我们一定会感叹,原来一个简单的计算机程序,甚至是毫无智力可言的低级生命黏菌竟能完成非常复杂的运算任务。然而,涌现与计算这个课题其实才刚刚开始,我们对其还知之甚少。还有许多深刻的问题需要得到解释。
 
1 永恒的新奇与开放式结局
我们曾指出,涌现是指一种不能够还原成底层的高层属性或者现象。尤其是对于计算系统来说,人们更希望系统能够自发冒出来一些设计者意想不到的新奇属性来。著名的系统科学家John Holland(遗传算法之父)曾用“永恒的新奇性”(Perpetual innovation)[1]一词来描述人们希望实现的真正的涌现计算系统。
我们都知道,自然界的进化现象是生生不息、永无休止的。一个物种灭绝了,总会伴随着新物种的出现。而且,更有趣的是,进化还会产生于多个层面上。宇宙的演化用了大约150亿年的时间,而地球上的生命则仅仅用了40多亿年的时间,人类出现之后,文明的进化则用了将近5000年时间。在每个层面上,复杂性和新奇性都不断产生,进化永无休止。
在涌现计算中,程序员希望他们设计的系统能实现一种所谓的开放式结局进化(Open ended evolution)。意思是说,进化能够永无休止地运行下去,总会有一些新的属性和现象从系统中冒出来。开放式结局一直是程序设计者们追求的目标之一,但是多年来一直没有实现。这是为什么呢?有没有理论上的解答呢?
 
2 涌现计算与尺度
有人说,之所以我们没有看到永恒的新奇和开放式结局,那是因为我们没有给人工涌现系统提供足够大的演化空间和足够长的时间。大自然进化出生命都用了数十亿年的时间,凭什么说计算机仅仅用几个小时或者几天的时间就能演化出堪与自然界相比的复杂性呢?
正如约翰·康威(John H. Conway)指出的:“只要给我足够大的方格空间,并等待足够长的时间,从原则上讲,‘生命游戏’(一种特殊的二维元胞自动机模型)可以创造任何你想要的东西,包括宇宙天体、进化的生物,甚至可以撰写Ph.D论文的智慧生命。”[1]但关键问题是,我们到底需要多大的空间和多长的时间呢?
有人曾经作过粗略的计算:如果每个方格占用一个屏幕像素大小的空间,那么要在“生命游戏”中实现一个能够完成自我复制的原始生命,就至少需要整个纽约市那么大的屏幕!可问题是,人类是否愿意设计这么大规模尺度的计算系统?这样的计算模拟系统还有意义吗?这就为我们提出了一个非常重要的理论问题:涌现计算和系统的尺度(空间上、时间上)到底有什么关系?
 
分形的研究告诉我们,很多复杂系统都会展现出一种无标度的特征。也就是说,无论你从哪一个尺度去观察一个复杂分形系统,都会发现它们是相似的。例如,著名科学家Manderbrolt就曾指出,我们用不同单位的尺子去测量英国的海岸线,会得到完全不同的总长度。这是因为海岸线是一个分形,因此,随着你观测的尺度越来越精细,海岸线本身也会展现得越来越复杂。你完全找不到一种特征尺度能够最好地刻画复杂的分形。
因此,在计算系统中,我们也可能根本找不到一种所谓的特征尺度(空间或者时间)来最好地模拟大自然的永恒新奇和开放式结局的进化现象。这是因为,大自然系统总是会随着我们描述和模拟它的精度变大而不断冒出各种复杂性来。但是无论计算系统多大,它总归是有限的,是具备特征尺度的。所以,这类系统永远也不会实现,而只能无限逼近永恒的新奇与开放式结局。然而,这也仅仅是笔者的猜测之一,诸如尺度、分形、涌现等问题还需要更细致的研究分析。
 
3 涌现计算的语义与观察者
无论是人工模拟的蚂蚁还是真实的黏菌,虽然涌现计算在很多不同领域中获得了成功,但是回想这些成功的案例,它们几乎是一个例子一种设计,没有什么共同性可言。当面临一个崭新的任务时,我们除了进行反复的实验,仍然不能遵循一些规律直接设计出一种涌现计算系统。其中的一个关键问题就在于,计算系统需要在高层次与设计者进行语义上的沟通,从而按照我们设计的模式去演化。
通常来讲,我们给定计算机一组局部作用规则,让它们在计算机中相互作用、演化是很容易的,这种系统必然会演化出一种整体的模式(例如元胞自动机)。但问题的难点在于,这种整体模式对于我们观察者来说往往是没有任何意义的。所以,涌现计算要解决的一个关键性问题就在于,如何将杂乱无章的整体模式与我们观察者可理解的意义之间建立起一种联系?
演化的元胞自动机模型部分地回答了这个问题。我们需要一种从观察者到系统整体,再从系统整体到系统局部的反馈机制。也就是说,由观察者来判断系统整体行为的语义(例如元胞自动机能不能对初始方格进行密度分类?),之后系统按照观察者赋予的意义进行演化(遗传算法)。最后,Crutchfield的研究指出,这种高层次的行为又会反馈给具体的元胞,使它们之间产生一种信号传递机制,从而完成我们要求的涌现计算。
另外一种解决途径来源于黏菌涌现计算的例子。在这里,我们仍然需要与涌现系统建立某种高层次的语义联系,但是改变的不再是系统,而是我们观察者本身。对于粘菌来说,它们自身的规则始终没有改变过,它们只知道在低层次寻找食物。然而,我们观察者理解了黏菌的习性,于是通过设计食物的摆放位置(观察者的行为),从而诱导出了黏菌涌现计算的整体意义。
 
参考文献
[1] 沃尔德洛普:复杂——诞生于混沌与秩序边缘的科学,三联书店,1997
推荐 1