生物学家的适合度景观这一概念最初由进化理论学家休厄尔·赖特在1931年提出。
适合度景观以可视化的方式向我们展示了设计空间中优秀设计的位置。
我们可以将良好的设计视为高适合度峰值,而在接近无限可能的设计空间中寻找优秀设计的问题可以被重新认识为在适合度景观中寻找到高峰。
斯图尔特·考夫曼指出,适合度景观会有两个极端。
一方面,人们可能会认为每根杆子都有不同的随机高度,因此这个景观看起来就是完全随机的、杂乱的。
另一方面,我们可以想象一个完美有序的景观,从低适合度到高适合度,最终形成一个富士山一样的山峰高耸在景观之上。
考夫曼声称,实际情况介于两者之间。
任何一个设计空间中大部分的小变化都不会对适合度产生大影响,只有小部分变异具有很大的影响,从而形成生物适合度景观中粗略相关的起伏。
这一点很重要,正是这种粗略相关的特性使得进化成为搜索适合度景观中高峰的理想算法。
这种粗略相关性在适合度景观中会创造一个更像瑞士阿尔卑斯山的地形,而不是一种杂乱无序或像富士山一样的地形。
在开始徒步旅行之前,我们需要注意以下三个挑战。
第一,我们只能感觉到是走到了高处还是低处,这代表着进化在任何意义上都无法“向前看”,它所能做的就是尝试一些东西,看看它是否有效。
第二,这个景观中毒雾附着在低适合度的山谷和缝隙中。
毒雾代表了自然选择——在某些时候,如果你的适合度太低,你就会被淘汰。
第三,这个景观不是静止的,而是不断变化的。
随着环境的变化,适合度函数也会发生变化,因此今天的适合度高峰可能到明天就不再是高峰了。
假设要在像瑞士阿尔卑斯山地形的粗略相关适合度景观中搜寻高峰,我们可能会先选择一个随机的起点,然后运用以下规则:向任意方向迈出一步;如果这一步让你向上走了,就以那里为起点再随意走一步。
如果没有让你向上走,则回到之前的位置再试一次。
可以想象,如果你的起始点在一个山谷里,你最初可能会在谷底随意地移动。
但你最终还是会找到一条向上的路径,爬上最近的山峰。
这个规则被称为适应性步行。
虽然适应性步行在攀登单个山峰方面是有效的,但它有一个重要的局限性,即一旦你到达山顶就会停下来,被困在一个局部的最大值上。
另一种策略是想象你有一个非常强大的弹簧跳板。
当按下弹簧跳板上的一个按钮时,它会在一个随机的距离内向一个随机的方向把你发射出去。
因此,你会连续按下按钮,希望降落在一个较高的位置,这种策略被称为随机跳跃。
与适应性步行相比,随机跳跃的优势在于,你可以跳过中间的山谷,从低谷跳到高峰。
然而,它也有一个缺点,那就是你可能会发现自己掉进了一个死亡谷。
到目前为止,我们似乎面临着霍布森的选择。
我们必须选择一种低风险,但不太可能让我们达到非常高的峰值的策略,或是一种高风险,有可能把我们带到一个高峰,但更有可能把我们带到毒雾之中的策略。
接下来,让我们尝试一下将这两种选择混合在一起的算法,这种算法采用适应性步行,以使我们在景观中爬得越来越高,同时也提供一些随机跳跃,以防止我们被困在局部的高峰上。
我们还将权衡随机跳跃与较短距离的跳跃(跳跃距离越长,发生的概率越低),这仍然会帮助我们避免陷入局部的高峰,但降低了落入一个非常低的山谷的可能。
这样,我们就得到了一个两全其美的结果。
大部分徒步旅行者采用了相对风险较低的、在景观中行进的适应性步行。
也有一些徒步旅行者分散在离中心更远的地方,在远离人群的地方搜索。
这种策略不可避免地会淘汰一些徒步旅行者,但也更有可能找到景观的高适合度区域,而不会陷入局部的高原。
这种在群体中分散赌注的行为正是进化所做的,每个生物都可以被认为是一个徒步旅行者。
有趣的是,霍兰德证明进化会自动在探索与开发之间取得正确的平衡。
当情况良好时,也就是在找到一个高原时,进化将按比例投入更多的人口或族群资源用于开发。
但是,当情况变得糟糕时,也就是当山谷中的人口或个体减少时,进化就会将更多的资源用于探索。
当进化算法良好地运行在具有正确参数的适当设置的信息基质上时,我们可以期望看到以下结果:◎从随机性中创建秩序。
从简单的随机起点出发,算法将创建出从适合度函数的角度被“排序”的、复杂“有序”的设计。
所有的进化过程都是在开放的系统中进行的,因此该算法实际上是在利用能量来降低局部熵增,从而将随机性转化为有序性。
◎发现适合的设计。
该算法提供了一种快速有效的方法来搜索包含适应设计的巨大设计空间。
在内生进化中,如果设计在环境的约束下能够生存和复制,那么这种设计就是适合的。
◎不断地适应。
算法会“学习”适合度函数想要什么,并找出符合这些标准的设计。
如果适合度函数发生了变化,进化就会产生反映出新选择压力的设计。
◎知识的积累。
进化过程会随着时间不断积累知识。
DNA包含了大量的信息,这些信息与过去的生物设计有关。
如果你是来自另一个星球的外星人,从来没有见过地球,却从一个地球生物身上获取了一段DNA,你就可以从这段代码中了解到很多关于地球环境的信息。
◎创新的出现。
在进化过程中,算法会不断地创造出新的设计变体。
从理论上讲,所有可能的设计都已经存在于设计空间中,但通过发现和呈现它们,进化将“新的”设计引入了现实世界。
◎专注于成功设计的资源会不断增长。
随着成功设计在资源竞争中获胜,成功设计的数量会增长,而失败设计的数量会减少。
更大的群体意味着成功的模式在物质、能量和信息方面比不成功的模式“控制着”更多的资源。
在粗略相关性在适合度景观中,进化能非常有效地在无限设计空间中找到适合的设计,这是因为:◎进化采用的是并列搜索。
实际上,每一个群体的成员都是一个单独的设计实验,所以同一时间内有很多徒步旅行者外出寻找高峰。
◎进化在景观上创造了一系列的跳跃。
它并不只是追求那些短跳跃,因为这样可能会被困在局部最优处;当然,它也不追求太多疯狂的长跳跃,因为这种跳跃失败的概率大于成功的概率。
◎进化是一个不断创新的过程。
算法的递归特性从来没有停止过。
考虑到景观不断变化的特性,这一点至关重要。
这个系统没有均衡——在进化系统中,停滞是导致种群灭绝的关键。
纳尔逊、温特等前辈在研究经济进化理论中缺少一个重要的工具——大量廉价的计算能力。
正如我们所看到的,进化是一个在大群体中被数千次、数百万次甚至数十亿次无情地反复验证的算法。
这样一个过程几乎不可能采用大多数传统经济学家使用的分析风格来建模,直到20世纪90年代,计算机的出现使一切成为可能。