在我们的基本实验设计中,当经过了25万个进化步骤之后,被发明出来的最复杂的电路如下:
8路异或、8路与、8路或、3路按位异或、4位等于、3位小于以及4位加法器。
而在一个更加精简的实验设计中,当经过了25万个进化步骤之后,这个人工系统创造了一个8位加法器。它能够正确地进行8位加法,这并不是一个轻而易举的事情。在基本实验设计中,上述电路被发明出来的顺序在不同的实验中是不同的,而且也不是所有这些电路都一定会在一个实验中进化出来。
在实验的初期,一些简单的目标得到了实现。从图7-1中,我们可以看出,即便是对于简单的电路,也出现了一些并非显而易见的实现方法。这些电路随后被封装起来以备进一步地使用。
图7-1 为了实现简单目标而“发明”的两种电路
随着进化过程的进一步展开,更复杂的电路开始由更简单的电路中被构建出来。如图7-2所示,二位加法器电路的出现,需要利用支持技术TECH-712。而后一种电路正是“中间技术”的一个很好的例子:它对满足二位加法器这个特定目标有用,但是仅凭自身是不能满足这个目标的,因为低阶位输出,即左侧位输出的计算是不正确的。二位加法器的正确电路由TECH-712电路,再加上一个能够修正该误差的电路构成。
图7-2 利用TECH-712实现“2位加法器”的目标
因为低阶位在左侧,对于多位加法器,各输入位是交叉的。
在我们这些进化出来的电路中,还包括了部分未被使用的电路。图7-3右侧所示的三位加法器就是一个例子。在实验过程中,这种“冗余”通常很快会消失,因为成本“不那么昂贵”的电路,很快就会替换掉“不必要地复杂”的电路。
图7-3 带有一个未连接模块的“4位加法器”电路
我们这些实验都是从“与非”这种原始电路开始的。而在另外一些实验中,我们则以“蕴含”电路为原始电路。同样地,在那些实验中,复杂的电路也进化出来了。该过程从“蕴涵”这种原始电路构建出了“非”“与”“异或”,然后进一步构建出了更加复杂的电路。
乍一看来,像8位加法器这样的电路自动涌现出来,似乎也不是什么特别了不起的事情。但是我们一定要考虑到组合的巨大可能性。如果一个组件有n个输入和m个输出,那么就会有(2m)(2n)个可能的表型,而且每一个表型都可以通过大量不同的电路得以实现。例如,8位加法器具有16个输入和9个输出,它只是有16个输入和9个输出的这类电路超过10177 554个表型之一。由此可见,通过25万个步骤的随机组合发现8位加法器这种电路的可能性,是完全可以忽略不计的。因此,我们的实验或者说算法发明复杂电路的途径只能是:首先满足更简单的需求,并将其结果作为构件以自展方式去满足更复杂的需求。