合作的进化读书笔记:(六):最佳合作策略“一报还一报”的胜出(上)

吴小庆

<p class="ql-block" style="text-align: justify;"> 如何在合作中取得更多的利益,什么是竞争中最佳的合作策略呢?让我们从一项计算机研究开始吧:</p> <p class="ql-block" style="text-align: justify;"> “囚徒困境”是如此的困惑,以至于一个人选择的最好的策略居然是取决于另一个对策者会怎么做,而不取决于自己。所以我们应该找出一个方法,这个方法能够帮助我们从博弈游戏中选出一个最简单有用的策略,来解决我们的困惑。</p><p class="ql-block" style="text-align: justify;"> <b> 一个策略的有效性不仅取决于这个策略的本身特点,而且取决于当它遇到其他策略时它的应对性。</b></p><p class="ql-block" style="text-align: justify;"> </p> <p class="ql-block"> 当世界进入20世纪后,大型的电子计算机进入临床应用,使超级矩阵计算成为可能,博弈论专家设计了一种策略的计算机竞争。竞赛是循环进行的,每一个竞赛程序都随机地与其他程序相遇,以相等的概率随机地选择合作或背叛。每轮游戏有200次对局,对局的支付矩阵按照“囚徒困境”来设计:</p><p class="ql-block"> 对双方合作奖励每人3分;</p><p class="ql-block"> 对双方背叛每人只给1分;</p><p class="ql-block"> 如果一人背叛一人合作,背叛者得5分,而合作者仅得0分。</p><p class="ql-block" style="text-align: justify;"> 整个循化赛重复了5次,一共有12万次对局,24万个不同的选择。</p> <p class="ql-block" style="text-align: justify;"> 竞赛开始了,来自全世界心理学、经济学、数学、社会学、政治学的精英们,共设计了14个程序参加了比赛,绝大部分程序来自那些已经在博弈论或在“囚徒困境”方面发表过论文的人,允许不同学科的人以相同的语言和规则进行相互竞赛。</p><p class="ql-block" style="text-align: justify;"> 14个程序中包含了各种复杂的策略。竞赛的结果却使阿克塞尔罗德和其他人大为吃惊,竞赛的桂冠居然属于多伦多大学心理学家阿纳托·拉帕波特提交上来的,也是其中最简单的策略:</p><p class="ql-block" style="text-align: justify;"> 一报还一报(TIT FOR TAT),总得分为504.5分。</p><p class="ql-block" style="text-align: justify;"> 比赛的总分是600分,那些善意的程序(不首先背叛的程序),平均得分在472-504分之间,而那些不善良的程序(常常首先背叛)的平均得分仅401分。比赛的前8名均是善意的程序。</p> <p class="ql-block" style="text-align: justify;"> 一报还一报策略是这样的:它总是以合作开局,但从此以后就采取以其人之道还治其人之身的策略。也就是说,如对方采取合作策略,就继续合作下去;如对方一旦采取背叛策略,就马上强硬采取背叛策略,决不拖延。</p><p class="ql-block" style="text-align: justify;"> 一报还一报的策略实行了胡萝卜加大棒的原则。它永远不首先背叛对方,从这个意义上来说它是“善意的”,它会在下一轮中对对手的前一次合作给予回报(哪怕以前这个对手曾经背叛过它),而不管对方以前的表现,从这个意义上来说它是“宽容的”。但它一旦遭到背叛就会立即以背叛来惩罚对手前一次的背叛,从这个意义上来说它又是“强硬的”。而且,它的策略极为简单,对手一望便知其用意何在,从这个意义来说它又是“简单明了的”。</p> <p class="ql-block" style="text-align: justify;"> 因为竞赛的结果太出乎意料了,于是阿克塞尔罗德又组织了第二次竞赛,并在竞赛前将第一次竞赛的结果公布,即参赛者都知道第一轮“一报还一报”策略赢得了竞赛,一报还一报策略公开亮相。大家惊叹其策略的简单、明了。</p><p class="ql-block" style="text-align: justify;"> 于是围绕着一报还一报的策略设计出许多更复杂、更精细、更大胆的方案。针对修改过的程序再次进行测试,但这次比赛没有人知道最后一步会什么时候到来(这消除了游戏最后一步的影响)。来自美国、加拿大、英国、挪威、瑞士、新西兰等6个国家的专家提供了62个程序参加了竞赛,63个规则(包括随机程序)在循环赛中有3969个配对,第二次竞赛一共进行了上百万次对局。</p><p class="ql-block" style="text-align: justify;"> </p> <p class="ql-block"> 在竞赛中,许多程序的表现是耐人寻味的,如“检验者”程序,经常出其不意背叛一下,以求得最大利益,如遇到对手反击,就赶紧道歉,恢复合作,以后有机会再不定期背叛。而“镇定者”程序则是以合作为主,间歇主动背叛,但不会连续2次,背叛人数也不超过群体的1/4。其他还有“一报还二报”与“二保还一报”策略,值得一提的是“哈林顿”程序,这是一个占便宜的程序,也是唯一位列前15名的一个非善良程序。一开始就跑在前列,在竞争头200代以前,它还名列前茅,但到了200代以后,情况发生了变化,那些不成功的策略纷纷淘汰,这意味着被“哈林顿”占便宜的“冤大头”也越来越少,不久,“哈林顿”就落后了,到1000代时就完全消失了,正如那些被他消灭的“冤大头”一样。</p><p class="ql-block" style="text-align: justify;"> 最终,结果出来了,还是“一报还一报”策略又一次夺魁。竞赛的进程与结论都是无可争议的,一开始,“一报还一报”并不是最领先的,但慢慢地,随着竞赛的发展,其得分越来越靠前,最终夺得胜利,这意味着好人总有好报,具有这种策略的人,最终总会是赢家。</p> <p class="ql-block" style="text-align: justify;"> 正如在二战刚开始时,那些法西斯国家往往都采取先发制人的策略,率先背叛,发动突然袭击,突然进攻周边国家,并且一开始都取得了不少胜利,占领了大片土地。但随着战局的进展,逆来顺受者越来越少,不是被消灭了就是被转化了,人们开始反抗,以牙还牙者越来越多,渐渐占了上风,最终消灭法西斯,取得了战争的最后胜利。</p> <p class="ql-block" style="text-align: justify;"> 为了再次确认这个成果,举办者又进行了第三次“重复囚徒困境博弈对抗赛”,这一次并未采取新的程序,而是改变了电脑程序,将第二次参与比赛的63个程序进行了重新比赛。比赛的胜负不是以得分高低来决定,而是依据其产生多少后代来决定。</p><p class="ql-block" style="text-align: justify;"> 到200代时,几乎所有的狡诈的恶意程序都消失了,“一报还一报策略”仍然表现良好,其他5种“善良而不懦弱”的策略表现也与“一报还一报”一样表现良好。</p><p class="ql-block" style="text-align: justify;"> 到1000代时,策略与环境都已不能再改变而达到了“稳态”状态,当所有的欺诈程序都消失后,“一报还一报”和别的善良程序已无法区分,趋向融合,因为他们全是善良的,采取合作策略。</p><p class="ql-block" style="text-align: justify;"> 难怪道金斯评论说:就是在“自私的基因”控制下,好人仍有好报。“<b>好人有好报”终于有了理论上的依据。</b></p> <p class="ql-block" style="text-align: justify;"> 在所有的竞争对抗中,一个最佳的游戏策略一旦产生,就会牢牢控制着游戏中心,赢得游戏。而别的游戏者不管如何改变着游戏策略,终将落入下风。如扑克21点游戏,其最佳策略就是:庄家后出、16点必须补牌、17点停牌翻牌。这就是最佳策略,只要遵循这个策略,有一定的时间,庄家会永远赢下去。不信可以试试。</p> <p class="ql-block" style="text-align: justify;"> 分析游戏的策略,组织者将这次竞赛的所有程序分为三种类型;</p><p class="ql-block" style="text-align: justify;"> 1、善良的程序,在任何时候都不会首先背叛;</p><p class="ql-block" style="text-align: justify;"> 2、恶意的程序,会经常在你不注意时进行背叛,以求占便宜获得高分;</p><p class="ql-block" style="text-align: justify;"> 3、冤大头、逆来顺受者程序,受到背叛时不会有力反击者。</p><p class="ql-block" style="text-align: justify;"> 在竞赛开始的阶段,善良的程序并不占先,恶意的程序一路领先,而逆来顺受者程序得分最少,远远落在后面。到竞赛中期,逆来顺受者程序基本被消灭,而恶意者程序互相遭遇的机会增多,相互背叛的机会增多,得分开始下降。而到了竞赛后期,善良的程序开始领先,恶意的程序由于相互背叛增多并受到善良但不懦弱程序的反击,得分直线下降,最终完全消除。</p><p class="ql-block" style="text-align: justify;"> 最终的胜利者,还是“一报还一报”策略。</p> <p class="ql-block"> </p> <p class="ql-block"> </p> <p class="ql-block" style="text-align: justify;"> </p> <p class="ql-block" style="text-align: justify;"> </p> <p class="ql-block" style="text-align: justify;"> </p>