乐高积木图书馆
在一次圣诞节的聚会上,斯图尔特·考夫曼在比赛中赢得了一套乐高积木。9这对考夫曼来说是一份特别合适的礼物,因为他的研究课题之一就是观察进化是如何从简单的积木块构建出极其复杂的设计的。每个孩子都知道,乐高的巨大吸引力在于,它简单而多彩的塑料积木可以通过无数种方式拼装在一起,从而产生有趣而复杂的结构。
即使是最简单的积木块也可以附加大量的排列,例如,两个小矩形块上包括一个凹坑宽和两个凹坑长(我们将其称为l×2块),可以在14个不同的连接位置上排列在一起(假设两个积木块的颜色相同),而两个2×2块能够以33种方式连接在一起。随着积木块的数量、大小和附加块选项的数量增长,可能的排列数量会激增。即使是中等大小的乐高积木套装,也能构建出各种可能的结构,其总量之大令人难以置信。
尽管如此,乐高积木块可能的排列方式还是有限的。进化理论家把这样一组可能的排列称为设计空间。假如有500块不同形状和颜色的积木套装,它被恰当地命名为“创造者”,我们可以说,这一套乐高套装可以创造出约10120种独特的乐高积木块设计。借用一些丹尼尔·丹尼特的措辞,我们称之为“所有可能的乐高设计的图书馆”。10我们可以想象这个比宇宙本身还要大得多的图书馆(宇宙中只有大约1080个原子)里面有一排又一排的书架,上面堆满了纸质记录卡,每一张上面都有一个独特的乐高设计说明。如果我们在乐高图书馆中闲逛,随意翻看记录卡,就会发现绝大多数的设计都很无聊。会有33个设计只是由一个蓝色2×2块以不同的方式连接到一个红色2×2块,另一组33个设计是关于一个蓝色的2×2块连接到一个黄色的2×2块,数以百万计的其他方式被用于连接两个积木块,数以万亿计的方式被用于连接3个积木块,等等。
除此之外,图书馆深处的某个地方还埋藏着一件神奇的由384块积木构成的乐高宇宙飞船,它将会让任何一个7岁的孩子心跳加速。同样,这里还有一个迷人的由220块积木构成的乐高积木马,以及由405块积木构成的乐高城堡。图书馆中还有一个由406块积木构成的城堡,它与由405块积木构成的乐高城堡的设计相同,只是增加了一个积木块。事实上,所有的设计都有一个变体块。不过,尽管城堡设计有数万亿种变体,但是如此“有趣”的设计在乐高积木图书馆中极其罕见。图书馆中还有很多无聊的、随意的、莫名其妙的设计。也有很多设计根本行不通,在面对现实世界的重力时,它们会被自己的重量打翻、折断或压塌。套用丹尼特的话说,你在全世界的海洋中找到一滴水的机会,要比在乐高图书馆的所有垃圾中找到一个特定的有趣设计的机会大得多。
假设我们被赋予了一项费力不讨好的任务:在乐高图书馆中搜索有趣的设计,那么该怎么做呢?要如何在比宇宙还要大得多的乐高图书馆中找到城堡、宇宙飞船和马呢?如果我们随便在图书馆里闲逛,偷看书架上的设计记录卡,也许要经过几百万年我们才会发现一种勉强称得上有趣的设计。我们需要一种能够在巨大的设计空间中可靠、快速地找到好的设计的算法。进化就是这样一种算法,事实上,进化本身就是伟大的胜利者。