在计算机科学中,“递归”(recursion)这个术语本意为自我引用,它描述了一部分需要引用回自身的计算机代码。这个概念催生了不少程式化幽默。在搜索引擎上查找“递归”这个术语时,它可能会反问你:“你的意思是递归吗?”这对许多人来说无疑是很有趣的。
递归也潜藏在语言结构中。换句话说,语言具有递归能力。事实上,语言在理论上是无限递归的。你可以说“他说狗是棕色的”,也可以说“她认为他说狗是棕色的”。你在第二句话中嵌入了第一句话。更大胆一些,你甚至可以说“我记得她认为他说狗是棕色的”。基于不同的句型结构,在一个句子中嵌入另一个句子的现象,可以出现在句首、句中或句末,而且还可以一遍又一遍地嵌入。
递归,使语言变得无限丰富。举个例子,假设有一个规模相对较小的语言系统,它仅包含1 000个动词、10 000个名词,以及这样一个规则:将单词组成句子的唯一方式是“名词+动词+名词”。这种语言看似简单,但应用功能却极其强大。你可以造出10 000×1 000×10 000个句子,也就是1 000亿个句子。就算你以每10秒钟说一句话的速度,时刻不停地说,也需要3万多年才能说完所有句子。[6]更重要的是,上述事例中的语言系统,其实是一种体量很小的语言系统。如果你面对的是一种单词量更大、句型结构更复杂的语言,想要将所有句子都说一遍,所需要的时间会十分漫长,漫长到需要地质时间来描述。
虽然句子可能会多到不可思议,但其数量终归还是有限的。在上文中,我们讨论了大得惊人的有限性,现在我们需要将讨论转向真正的无限性,不过在此之前,必须再谈一谈递归这个概念。一旦你在一种语言系统中引入了递归,也就是允许将任意数量的子句嵌入到主句中,那么这种语言的丰富程度在理论上已具有了无限性。
然而在现实中,这种说法并不完全正确。说一种语言系统允许任意数量的子句嵌入主句,无疑是愚蠢的。尽管就语法规则而言这是可行的,但是实际上,我们的大脑根本无法解析那么多层的递归。尽管我们希望能拥有无限性和多样化的语言,但我们能处理的递归深度通常不超过三层。
下面这两个例句引自认知心理学家、语言学家史蒂芬·平克(Steven Pinker)(8)的《语言本能》。[7]句子不仅难以理解,而且语法似乎也是错的。
The dog the stick the fire burned beat bit the cat.
一只被火烧过的棍子打过的狗咬了这只猫。
The rapidity that the motion that the wing that the hummingbird has has has is remarkable.
蜂鸟所拥有的翅膀的运动的速度有了显著提高。
这两个句子所嵌入的层级其实都不算多。例如,第一句话的逻辑是一只狗被火烧过的棍子击打,然后咬了一只猫。这句话的语法结构是:对“狗咬猫”中的“狗”进行修饰,同时对棒子进行描述。所以我们说,这句话只有两层嵌套。如果句子的嵌套达到了10层,就不可能有实际意义了;如果人类连10层嵌套都处理不了,就更不可能处理无限嵌套了。
有一些类型的语言处理任务是人类可以完成的,比如翻译,而且人类可以做得比计算机更好,但是在解析句子方面,计算机则有很大优势。人类的认知会受到大脑工作记忆的限制,但是计算机却可以使用大容量的存储器,将句子的各个部分放在相应的位置上,然后构造出句子树,并使其拥有某种意义。正因如此,计算机才可以轻松地分析那些令人类大脑“崩溃”的句子。例如下面这种奇怪的句子:“This is the cheese that the rat that the cat that the dog chased bit ate.”(这是被狗追赶的猫咬了的老鼠吃的奶酪)。无论是谁,听到这样的话肯定都会头昏脑涨、不明所以,然而计算机却可以轻而易举地做出解析。[8]
有些计算机程序甚至直接内置了语法结构,因而能够创建出层级相当庞杂的句子。不过,它们无法让这种复杂的句子变得合理,只能让它们看上去像是人写的,并且风格与某些作家相似。以“康德发生器”(Kant Generator)[9]为例,它可以造出这样的句子:“由于对现象的知识是先验的,因此,如我所知,对读者来说,就必然性和事物本身而言,应该非常小心地观察,人类理性的规律,可以像我们的判断一样对待。”人类作为生物,比小小的计算机程序复杂得多,但是在拆解问题,并确定其合理性方面,却无法像计算机程序那样信手拈来。
与此类似,还有一种被称为“花园小径句”(garden path sentence)的语法结构。[10]例如“The complex houses married and single soldiers and their families.”这类句子,看上去很有趣,但实际上却充满歧义。这些有趣的句子一开始是单向的,但最后呈现出来的语法结构和意义却完全超出了我们的预料。当句子切换路径时,我们会自动加入既定的含义,但结果往往令人惊讶,并让人一时间摸不着头脑。
当然,除了在面对递归以及其他某些语法技巧时,我们会显得无力之外,人类认知能力的局限性还体现在其他诸多方面。事实证明,许多机器能够轻松完成的任务,人类却无法胜任,这种情况几乎成就了整个家庭手工业。因此,我们无须再讨论“视觉幻象”这类感性挑战了,不如来看看有关心理能力极限的实例。[11]例如,你有没有想过,你能瞬间记住的数字有多长?对于大多数人来说,只能记住7个数字左右,也就是说,你很难记住比电话号码更长的数字,而且这里所说的电话号码是不包含区号的。[12]
又如,你了解自己的计数能力吗?更直接地问,你能数清楚计算机屏幕上有多少个点吗?当然,人类绝对有能力数很多数,但是你一眼就能看清,并能准确地说出来的屏幕上的点又有多少呢?事实证明,这个数字非常小。当你观察一大组点时,大脑会将它们分成多个小组,通常是三四个组。在视觉上,大多数人能瞬间识别的物体只有4个左右。这种对数量的即刻察觉能力被称为感知(subitizing)。这是人类大脑的怪癖之一:只能对少数几个对象进行有效的感知。例如,当我们在阅读冗长而曲折的句子时,通常会遇到障碍,因为我们无法同时识别4个以上的对象。
在与计算机的其他“较量”中,人类的“成绩”也很可悲。将一个信息小片段传输到大脑的长期记忆区大约需要8秒钟,但是在同样的时间,甚至更短的时间里,我们可以将整本《战争与和平》下载到笔记本电脑中。[13]人类在处理多重任务时的效率极差,远远比不上最低配置的计算机。我们的神经元回路比计算机电路要慢100多万倍。[14]另外,据估计,大脑的长期记忆容量甚至还比不上20世纪80年代初出厂的一台老式苹果机(Macintoshes)。
人类的大脑最终能不能克服其局限性呢?通过对人类认知的研究,我们得到的答案并不如意。就像可以加快计算机转速,让计算机超频运行一样,我们偶尔也可以利用药物来“提神醒脑”。但是研究表明,大脑在“超频”时也会权衡利弊,做出取舍。正如超频运行的计算机可能会发热一样,超极限运转的大脑也会受到伤害。从现有的证据来看,人类的大脑在进化过程中已经微妙地实现了优化,[15]所以随意“超频”可能会致使它出现严重的问题。
只要仔细观察一下那些拥有超强记忆力的“奇人”便可知,这种情况实则是“矫枉过正”。这些人可以记住遇到的每一件事,但是他们并不是超人。事实上,他们会遇到许多困扰,比如,在诸如“面孔识别”之类的简单任务中,他们的表现会非常差。这是因为他们的记忆过于细节化,所以只要人的面孔出现一点点变化,他们就很难进行确认。在阿根廷作家豪尔赫·路易斯·博尔赫斯(Jorge Luis Borges)的短篇小说《博闻强记的富内斯》(Funes the Memorious)[16]中,主人公富内斯拥有完美的记忆能力,同时也因此而背负着无比沉重的负担,因为每一个细节变化都会在他的大脑中形成新的记忆。就像富内斯这个虚构的人物所面临的处境一样,在现实生活中,这种令人难以置信的完美记忆能力会导致其他诸多方面的问题,例如缺乏抽象思维能力。若一个人不得不背负大量的不必要信息,一切就会变得得不偿失。
在这个世界上,的确存在拥有超常认知能力的人。例如,有的人拥有超大记忆容量,有的人能够心算超多位数的加减乘除。既然如此,那么在理解复杂系统这件事上,应该也能找到极具洞察力的人。在这一点上,印度数学家斯里尼瓦瑟·拉马努金(Srinivasa Ramanujan)就是最典型的例子。[17]拉马努金是一位自学成才的数学天才,可惜英年早逝,如同一颗彗星般匆匆划过了20世纪早期的天际。他不是一位普通的数学家。普通的数学家只能依靠反复试错和偶尔闪现的灵感来解决问题,但是在拉马努金那里,方程式会像瀑布一样直接从大脑中奔涌而出,而且除了少数方程式不完全正确以外,绝大多数方程式都复杂和准确得令人震惊。
苹果公司创始人之一斯蒂夫·沃兹尼亚克(Steve Wozniak)堪称技术研发领域的拉马努金。他不仅完成了对第一台苹果电脑的编程,还负责了第二代苹果电脑的开发。正如程序员兼小说家维克拉姆·钱德拉(Vikram Chandra)所说:“这台计算机的每一个组成部分、每一个字节都是沃兹尼亚克一手打造的,而且人们尚未发现任何错误……沃兹尼亚克一人包办了所有的硬件和软件,还在计算机代码中创建了一种编程语言。他本人就是硬核。”[18]言下之意,沃兹尼亚克对技术的理解无人能及。
事实上,在现实生活中,我们也能观察到大脑的认知极限以及这种极限的扩展方式。伦敦的出租车驾驶员对道路知识的获取和运用,便是一个很好的例子。“知识”是一个奇妙的术语,这里所说的知识是指伦敦地区道路系统的所有细节:25 000条道路及其相互之间的连接点,以及公共汽车站、地标性建筑、雕像、餐馆、酒店……[19]为了将乘客准确高效地送达目的地,出租车驾驶员必须掌握全部细节。积累这方面的知识,成为一名出色的出租车驾驶员,可能需要长达数年的强化记忆和积极的实践。最终,这些出租车驾驶员的大脑出现了明显的变化:对空间记忆至关重要的海马后部脑区增大了。
然而,尽管存在这样一些“异常点”,尽管这些特例给我们留下了非常深刻的印象,但是人类大脑的认知能力终归还是有限度的。[20]拉马努金也会犯错,沃兹尼亚克肯定也有无法突破的认知极限,譬如递归问题。而伦敦的那些出租车驾驶员,显然也不可能把全世界的道路信息都存在脑子里。
如前所述,我们的记忆能力以及在记忆中进行检索的能力,都是有限的,能瞬间识别的事物数量也少之又少。除此之外,我们还很难理解系统内部各种互联的具体含义。具体来说,在面对非线性变化时,我们会不知所措。当某个事物以线性方式发生变化,即一个较小的变化产生一个较小的差异、一个较大的变化产生一个较大的差异时,我们所需要做的主要是以线性形式进行外推。在这样做的时候,大脑几乎不会遇到什么困难,因为线性系统的输入与输出是成正比的。但是,在非线性变化中,一个小变化在流经一个大型互联系统时,会导致系统以不成比例的方式发生变化,以致大脑无法很好地做出应对。
在非线性系统中,行为会受到反馈和输入放大率调制的影响(或者也可能相反:一个很大的变化只能带来一个极小的影响),这令大脑很难将输入与输出关联起来。在这种情况下,我们无法继续以线性形式进行外推。所有变量之间的互动形成了错综复杂的不规则曲线,让我们的大脑一筹莫展。正是因为大脑本身具有这样的缺陷,所以我们很难把握复杂系统,包括我们自己所构建的复杂系统。