在经典囚徒困境中,很容易推导出为追求个人利益最大化而采取的理智策略,也就是两个人都会通过不合作来实现个人利益最大化,然而,在重复的囚徒困境情境中,却很难提前把最佳策略推导出来。大多数这样的情境中都存在太多未知因素,其中最值得注意的就是其他人会采用什么样的策略。
为了搞清什么样的策略可能是最佳策略,在20世纪70年代晚期,阿克塞尔罗德向世界各地的研究者征求了策略,输入电脑程序中,然后让这些策略程序在一个重复的囚徒困境比赛中彼此竞争。这些策略程序不受任何限制,可以任意简单或任意复杂。每个策略程序的唯一目标就是在与其他策略程序所进行的上百次互动中努力积累最高得分,最后的胜利者将是获得最高分的策略程序。(顺带提一下,阿克塞尔罗德并不是第一个把重复的囚徒困境当作研究工具的人。在他之前的一段时间里,重复的囚徒困境就已经广泛应用于研究了,不过阿克塞尔罗德的方法确实有所不同。)
策略程序竞争的结果颇为出人意料。很多人认为结果会符合谚语“人善被人欺”的描述,也就是“友好的”合作策略程序得到的结果将比不上那些不诚实、不合作的策略程序。然而,恰恰相反,其中最简单的且采取合作策略的一个程序最终在比赛中获得了胜利。更有趣的是,几个月以后,同一个策略程序又在相同的比赛中获胜,而且这次参赛的策略程序范围更广,数量更多。在两次比赛中,大多数人都知道这个策略会参与到比赛中来,因此可以专门针对这个策略来进行程序设计。
赢得了这两次比赛的是一个名叫“以牙还牙”(Tit for Tat,TfT)的程序,而在阿克塞尔罗德最初的比赛之后,又举行了数次常规比赛,这个程序继续胜出。就像名字所透露的,TfT是一个“合作”程序。也就是说,每当与其他某个程序第一次互动时,TfT程序都会选择合作,绝不会成为第一个与其他某个程序不合作的程序。然而,TfF会报复,如果某个程序没能与TfT合作,那么下一次与这个程序互动时,TfT就不会再合作了。TfT的整个策略总结起来很简单:TfT在与其他某个程序第一次互动时都会合作,在之后的互动中,TfT都会按照对方程序在上一次互动中的策略来行事。
TfT就是一个通常所说的“好人”程序,按照定义,这是一个只要对方程序合作就会进行合作的程序。如果对方程序没能与其合作,“好人”程序就会报复,但绝不会是互动中第一个不合作的程序。简言之,“好人”程序就是一个高度合作的程序。
阿克塞尔罗德最初的及自那以后所进行的研究,生成了很好的经验数据,有力地表明了,合作行为是一个在演化上具有优势的行为模式。对这些比赛结果进行更深入的研究,也会带来更多有关这一行为的经验证据。
举个例子,不仅是TfT,其他采取合作策略的“好人”程序,通常所得结果也都压倒性地胜过“非好人”程序。比如,阿克塞尔罗德进行的第二次比赛中包括60多个输入了不同策略的程序,其中有些是“好人”,有些是“非好人”。比赛结束后,前15名(也就是整体得分最高的15个程序)中,有14个都是“好人”程序,只有1个不是(排名第8)。不过,即使是这个“非好人”程序(接下来将对此进行进一步讨论),总的来说也算是“合作”程序。
这个研究还揭示了对合作行为有重要作用的其他因素,比如报复的作用。举个例子,前面提到过的那一个“非好人”程序,也就是在第二次比赛中排名第8的程序,当再次与之前跟自己合作过的程序互动时,一般来说会与其合作。但是不同于完全的“好人”程序,在某些时候,即使对方程序过去一直与其合作,这个程序也会不合作。这么做的主要目的是测试自己能不能侥幸逃脱。如果对方程序立即报复,那么这个程序就会回到合作的TfT策略上来。然而,如果没有立刻遭到报复,那么这个程序就会增加不合作的频率,这主要是为了充分利用那些“超好人”程序,也就是那些在对方程序没能合作时,会犹豫是否要报复的程序。
这些研究另一个有趣而具有普遍意义的结论与原谅的概念有关。在分析单个程序的互动时,很明显,有些程序陷入了报复的循环中。一个有助于打破这种循环的策略是在程序中加入某种“原谅”政策。举个例子,一个程序可能会尝试“原谅”另一个近期没有与其合作的程序。粗略地说,其背后的逻辑是试图“原谅”另一个程序,然后看结果如何。如果对方程序回到合作的策略,那么两个程序就可以打破报复的循环,回到让双方都受益的合作的循环。
然而,根据对这些互动的分析,同样清晰的是马上原谅并不会带来好处。像TfT这样的程序,也就是在遇到不合作行为时立即报复的程序,一般来说最终得到的结果都比那些不立即报复的程序要好。举个例子,思考一下“两报还一报”的程序。从根本上说,这个程序会立即原谅对方程序,也就是在下次两者的互动中进行合作而不是报复,只有当对方程序连续两次对自己采取不合作策略时才会进行报复。这样的程序在遇到好人程序时,结果不错,但在遇到某些特定的非好人程序时,通常会被利用得很惨。相比之下,那些立即报复的程序,也可以说是很容易被激怒的程序,通常都能比那些不容易被激怒的程序获得更好的结果。
简单说几句题外话,你可能注意到了,我们使用了“好人”“原谅”“容易被激怒”等类似的词语,也就是我们通常用来描述人类行为的词语,而且其中有些还具有伦理寓意。体会一下这些词语有多恰当,比起不使用这些词语,使用这些词语使描述这些程序的行为变得颇为简单,这是非常有趣的。事实上,这一领域的研究人员通常都会使用这些词语,似乎就是因为它们很简单。
从达尔文时代起,就一直存在关于合作和利他行为可能具有演化优势的多种推测。但是,推测是一回事,经验数据则是另外一回事了。阿克塞尔罗德研究工作的一个核心部分,就是这项研究为“合作行为(以及我们将在下面看到的利他主义行为)如何可以具有演化优势,以及这样的行为如何可以从演化过程,也就是一个以自私为本质的过程中脱颖而出”等诸如此类的问题,提供了确定的经验数据。