剥离进化,回归基础
为了回顾我们一直在建立的基质中性的进化版本,这里列出了进化工作的必要条件:
◎ 有一个可能的设计空间。
◎ 可以将这些设计可靠地编码到模式中。
◎ 有某种模式阅读器可以可靠地解码模式并将其呈现给互动者,在内生进化中,模式为自身阅读器的编码。
◎ 互动者是由模块和模块系统组成的,这些模块是通过模式中的构建块进行编码的。
◎ 将互动者呈现在一个环境中。环境对互动者施加了约束(例如物理定律、气候或仲裁者),任何一个制约因素都可能随时间而改变。一个特别重要的制约因素就是互动者之间对有限资源的竞争。
◎ 总的来说,环境中的制约因素创造了适合度函数,其中一些互动者比其他互动者更适应。
进化的过程可以被认为是这样的一种算法,在给定环境的适合度限制下,该算法可以搜索设计空间以找到适合的设计,算法对设计空间的搜索如下:
◎ 随着时间的推移,模式会发生变化。模式可以被任意数量的因子改变,例如杂交和突变。
◎ 模式被呈现为创建族群的互动。
◎ 对互动者的作用是一个选择的过程,其中一些设计被适合度景观认为比其他设计更适合。不适合的互动者更有可能从群体中被移除。
◎ 存在一个复制的过程。适合的互动者平均具有更大的被复制概率,并且比不太适合的设计拥有更多的变体。
◎ 随着时间的推移,有助于提升互动者适合度的构建块会被更频繁地复制,在群体中也更常见。
◎ 变异、选择和复制的算法过程在种群上递归地进行,一轮的输出会成为下一轮的输入。
当算法运行在具有正确参数的适当设置的信息处理基质上时,我们可以期望看到以下结果:37
◎ 从随机性中创建秩序。从简单的随机起点出发,算法将创建出从适合度函数的角度被“排序”的、复杂“有序”的设计。所有的进化过程都是在开放的系统中进行的,因此该算法实际上是在利用能量来降低局部熵并将随机性转化为有序性。
◎ 发现适合的设计。该算法提供了一种快速有效的方法来搜索包含了适应的设计的巨大设计空间。在内生进化中,如果设计在环境的约束下能够生存和复制,那么这种设计就是适合的。
◎ 不断地适应。算法会“学习”适合度函数想要什么,并找出符合这些标准的设计。如果适合度函数发生了变化,进化就会产生反映出新的选择压力的设计。
◎ 知识的积累。进化过程会随着时间不断积累知识。如果我们冻结乐高的进化过程,在特定的时间点分析所有玩具的图式卡,就可以说这些卡片中的信息反映了有关玩具历史演变的适合度环境的学习或知识。同样,DNA包含了大量的信息,这些信息与过去的生物设计有关。如果你是来自另一个星球的外星人,从来没有见过地球,却从一个地球生物身上获取了一段DNA,你就可以从这段代码中了解到很多关于地球环境的信息(假设你有一个DNA阅读器)。模式就像进化过程中的硬盘,随着时间的推移,它们会存满信息。
◎ 创新的出现。在进化过程中,算法会不断地创造出新的设计变体。从理论上讲,所有可能的设计都已经存在于设计空间中,但通过发现和呈现它们,进化将“新的”设计引入了现实世界。在乐高的例子中,进化算法毫无疑问会产生一些孩子没有预先想到的设计,并且,通过使用计算机模拟进化来设计从喷气式发动机风扇的叶片到计算机芯片的实验也催生了新颖的设计。38
◎ 专注于成功设计的资源会不断增长。随着成功设计在资源竞争中获胜,成功设计的数量会增长,而失败设计的数量会减少。更大的群体意味着成功的模式在物质、能量和信息方面比不成功的模式“控制着”更多的资源。然而,由于来自共同进化的网络效应与适合度景观本身的形状相结合的效果影响,增长可能不会遵循一个平稳的模式,而是遵循一个间断均衡的模式。
在具有粗相关的适合度景观中,进化能非常有效地在大型设计空间中找到适合的设计,这是因为:
◎ 进化采用的是并列搜索。实际上,每一个群体的成员都是一个单独的设计实验,所以同一时间内有很多徒步旅行者外出寻找高峰。
◎ 进化在景观上创造了一系列的跳跃。它并不只是追求那些短跳跃,因为这样可能会被困在局部最优处;它也不追求太多疯狂的长跳跃,因为这种跳跃失败的概率大于成功的概率。
◎ 进化是一个不断创新的过程。算法的递归特性从来没有停止过。考虑到景观不断变化的特性,这一点至关重要。随着进化在探索与开发之间取得平衡,可能会出现或多或少的主动搜索阶段,但是这种搜索永远不会结束。这个系统没有均衡——在进化系统中,停滞是导致种群灭绝的关键。
-----------
实际上,进化会说,“我将尝试很多事情,看看哪些可行,然后多做一些可行的,少做一些不可行的”。筛选的过程中会发生一些不寻常的事情。进化算法不仅会学习适合度函数“想要的”,还会学习在总体模式中通过学习积累的知识,因此在不断寻找越来越适合的设计时,进化过程产生了新颖性。
进化就像一场戏。演员阵容和情节都是固定的,但演员、场景和许多细节都不是固定的。进化过程可以设定在生物学、计算机模拟、乐高玩具游戏中,也可以设定在人类文化、技术和经济中。无论基质是什么,只要条件存在,所有的进化过程就会产生普遍性的结果。