模拟结果
用每代20个个体的群体来做计算机模拟。选定的交叉和突变程度平均为每一代每个染色体1次交叉,1.5次突变。每场比赛包括151步行动,这是竞赛中使用的平均比赛长度。20个个体每一个与8个代表相遇,结果是每一代有大约24000步行动。一次运作含有50代。在同样的情况下进行40次运作,以便能评估结果的变化性。
结果相当令人满意:开端完全随机,遗传运算法则使群体演化,群体中中等成员的成功程度等同于计算机竞赛的最佳规则——一报还一报。实际上模拟中进化的策略大部分都类似一报还一报,使一报还一报如此成功的许多特性它们也具有。例如,绝大多数个体都进化了染色体上的5个行为等位基因,由此而赋予它们的行为模式在该环境下是适应性的,而且也反映了一报还一报策略在类似环境下的行为。这些模式包括:
1.别破坏现状:三次相互合作后继续合作(缩写为RRR之后C)。
2.容易激怒:另一个参与者突然背叛时也背叛(得到RRS后D)。
3.接受道歉:合作恢复后继续合作(TSR后C)。
4.忘记:被利用后如果相互合作恢复了,则采取合作(SRR后C)。
5.接受惯例:三次相互背叛后背叛(PPP后D)。
演化后的规则在特定代表规则处的表现类似一报还一报策略。在每个代表之处,它们的表现和一报还一报一样好。如同一报还一报策略一样,演化规则大多数与8个代表中的7个达到几乎完全的相互合作,因此表现很好。也如同一报还一报策略一样,演化规则大多只在一个代表那里表现不好,这个代表是调整规则,即调整背叛率以尽量利用另一个参与者。总的说来,在95%的时间里,演化规则做出的选择与一报还一报在同样环境下做出的选择是一样的。
虽然在大多数运行中,演化群体的规则非常类似于一报还一报策略。但是在40场运行中有11场,实质上中等规则的表现优于一报还一报。[5]在这11场中,群体演化出的策略成功地利用了8个代表中的一个,代价是与另两个代表达成的合作稍微少一点,但净结果提高了有效性。
这是一个非凡的成就,因为为了能获得这种有效性提高,一个规则必须能做到三件事。首先,它必须能区别对待两个代表,唯一的依据是另一个参与者自然表现的行为或被引导出来的行为。第二,它必须能调整自己的行为,以便能利用被确认可以利用的参与者。第三,也许也是最难的一点,它必须能完成区别对待和利用,而同时不能在其他代表那里遭遇过多的麻烦。最初向竞赛递交的规则没有一个可以做到这一点。
这些非常有效的规则在演化时,违背了计算机竞赛中总结出的最重要忠告,即“有风度”,也就是说,永远不先行背叛。这些有效性很高的规则总是在第一步就背叛,有时候第二步依然如此,而且还利用另一位参与者的选择对下几步行为区别对待。之后得到的反应允许它们“道歉”,并与多数不可利用的代表达成相互合作,不同的反应允许它们利用可以利用的代表。
虽然这些规则极其有效,但说它们胜过一报还一报则是不准确的。计算机竞赛第二轮的8个代表以固定比例构成具体环境,虽然这些规则在该环境表现更好,但在其他环境中它们可能不是特别有力。而且,在一个生态学模拟中,这些规则会摧毁自身成功的基础,因为被利用的代表变成环境中越来越小的一部分(Axelrod,1984,pp.49-52,pp.203-205)。虽然遗传运算法则有时演化出的规则比竞赛的任何递交规则更有效,但运算法则做到这一点只能靠固定环境中许多代群体中的许多个体尝试。总的说来,遗传运算法则非常擅长实际进化所擅长的方面:针对特定的环境设置来发展出相当专门的适应能力。
在这些高度有效策略的演化过程中,计算机模拟使用了有性繁殖,父母双方对每个后代都贡献了遗传物质。为了解无性繁殖会有什么结果,我们又进行了另外40场运行,其中只有一个母体对每个后代贡献遗传物质。在这些运行中,大多数情况下群体进化的方向仍然是与一报还一报不相上下的规则。但是,要演化出中等成员大大胜过一报还一报的群体,无性繁殖的运行结果只有一半可能性。[6]
到目前为止,模拟所研究的群体在不变的环境下演化。如果环境也改变了,结果会如何?为研究这种情况,我们进行了另一场有性繁殖的模拟试验,由进化群体本身构成环境。在该试验中,不再局限于8个代表,每个个体与群体的每一成员进行重复囚徒困境。群体的成员包括个体自己的孪生体。在任何给定时刻,环境都可能相当复杂。个体如要表现良好,其策略必须在群体所有的20个策略处达到较高的平均有效性。这样,因为更有效的规则会有更多后代,如果环境本身发生变化,这种情况下,个体必须面对移动目标达到适应。而且,挑选过程常常是依赖性的,意思是一种策略的有效性取决于群体所有成员正在使用的策略。
我们以这种方式进行了10场运行,结果表现出非常有趣的模式。图1.1是典型的一场运行。从一个随机的开端开始,不管开始时表现出来的合作如何,之后群体演化的方向偏离了合作。合作性低的规则胜过合作性高的规则,因为一开始很少有其他参与者起反应,而且当另一个参与者没有反应时,个体最有效的行为是背叛。这种合作程度降低反过来导致每个个体分数降低,因为相互背叛变得越来越常见。但是,在大约10或20代之后,趋势开始逆转。一些参与者演化出这样的行为模式:回报所发现的合作程度,而且这些报答的参与者一般表现也较好,因为它们可以与回报合作的参与者有较好表现,而同时不会被那些背叛的参与者利用较长的时间。随着基于互惠的合作地位越来越稳固,群体的平均分开始上升。因此,进化的社会环境导致一个合作降低、有效性降低的模式,之后是完全逆转,这个逆转的基础是一种演化产生的能力:区别对待那些回报合作的参与者和不会回报的参与者。随着回报合作者的表现良好,它们在群体中扩散,结果产生越来越多的合作和越来越高的有效性。
图1.1 演化环境中的囚徒困境