1701027960
竞赛的一个显著特点是它允许不同学科的人以相同的形式和语言进行相互作用。绝大部分程序是来自那些已经在博弈论或在“囚徒困境”方面发表过论文的人。
1701027961
1701027962
由多伦多大学阿纳托尔·拉帕波特教授提交的“一报还一报”策略赢得了竞赛。它是所有提交程序中最简单的,结果却是最好的!
1701027963
1701027964
“一报还一报”开始选择合作,然后就按对方上一步的选择去做。这个决策规则是有关“囚徒困境”的最著名的也是被讨论最多的策略。它容易理解也容易被编成程序。它因为能引发人们的合作而著名(Oskamp 1971;W. Wilson 1971)。作为一个参赛者,它具有不易被剥削且能和与自己相同的策略相处很好的特性。在与所有参赛者都知道的“随机”程序相遇时,它就显出太宽容的不足来。
1701027965
1701027966
另外,众所周知,“一报还一报”是一个很有力的竞争者,在一次预赛中“一报还一报”名列第二,在另一次预赛中它名列第一。设计计算机竞赛程序的绝大部分人都知道这些结果,关于预赛的情况都通知了他们。所以毫不奇怪,他们中的许多人都使用了“一报还一报”的原则并且试图改进它。令人惊奇的是这些提交的复杂程序没有一个能够表现得像原本的“一报还一报”一样好。
1701027967
1701027968
这与计算机象棋比赛相反,计算机象棋比赛显然需要一定的复杂性。例如:在第二届世界计算机国际象棋锦标赛上,最简单的程序名列最后(Jennings 1978),它是由瑞士苏黎士高级工学院的约翰·乔斯(Johann Joss)提交的。这次他也提交了一个程序参加计算机“囚徒困境”竞赛。他的程序对“一报还一报”作了一些小改动。但是,他的改动和其他人一样,只降低了这个策略的成绩。
1701027969
1701027970
对结果的分析表明,既不是这些参赛者的学科,也不是程序的长短使得一个规则相对来说是成功的。那么,原因是什么呢?
1701027971
1701027972
在回答这个问题之前,先解释一下竞赛的计分,在200次对局的游戏中,优秀成绩的基准线是600分,它相当于双方总是合作时对策者的得分。差劣成绩的基准线是200分,它相当于双方从来不合作时对策者的得分。虽然从0到1 000分之间的得分是可能的,但大多数的得分在200和600分之间。胜利者——“一报还一报”——每次游戏的平均得分是504分。
1701027973
1701027974
出乎意料的是,有一个特性可以把得分相对高的程序和得分相对低的程序区别开来,它就是善良性,即从不首先背叛。[为了方便地分析这个竞赛,一个善良的规则的定义被放宽到包括那些在最后几步(如199步)之前不背叛的规则。]
1701027975
1701027976
名列前8名的参赛者(或规则)都是善良的,其他则都不是。在善良的规则和其他规则的得分之间有个很大的差距。善良的规则的竞赛平均得分在472分到504分之间,而不善良的规则平均得分是401分。因此,不首先背叛或至少在游戏快要结束之前不背叛,是区分这次计算机“囚徒困境”竞赛中成功的规则和不成功的规则的唯一特性。
1701027977
1701027978
每一个善良的规则与其他7个善良的规则及它们自己相遇时,得分大约是600分,这是因为当两个善良规则相遇时,直到游戏结束之前它们都是相互合作的,实际上游戏终了战术的些微不同对得分没有太大的影响。
1701027979
1701027980
由于所有的善良规则相互之间相遇都得到大约600分,所以区分它们之间的相对名次的是它们与不善良规则相遇时的得分。这是很显然的。不显然的是,这8个名列前茅的规则的相对名次很大程度上只取决于其他7个程序中的2个。这2个规则对谁能得第一是关键因素,因为它们虽然自己表现得不怎么样,但却能决定前几个竞争者的名次。
1701027981
1701027982
影响排名的最重要的规则是以“结果最大化”原则为基础的。这个原则原来是用来解释在“囚徒困境”实验中被试验者的行为的(Downing 1975)。这个被称为“唐宁”(DOWNING)的规则颇具实力,是一个特别有趣的规则。作为一个相当复杂的决策规则的范例,“唐宁”很值得研究。和大多数其他的规则不同,它不只是“一报还一报”的变形,而是试图了解对方并在这个了解的基础上作出能得到长期的最好得分的选择。具体想法是:如果对方似乎不对“唐宁”的行为作出反应的话,“唐宁”将试着背叛;如果对方反应的话,“唐宁”就合作。为了判断对方的反应,“唐宁”估计对方在它合作之后合作的概率和在它背叛之后合作的概率。每走一步,它便对这两个条件概率作出新的估计,然后在假设它已经正确估计对方的情况下,作出自己长期支付最大化的选择。如果这两个条件概率具有相似的值,那么“唐宁”将决定背叛,因为对方似乎不管“唐宁”合作与否都做同样的事。相反,如果对方倾向于在“唐宁”合作之后合作而不是“唐宁”背叛之后合作,对方就是有反应的,那么,“唐宁”就将计算出对于有反应的对手最好是合作。在一定的条件下,“唐宁”甚至确定最好的策略是交替地合作、背叛。
1701027983
1701027984
在游戏一开始,“唐宁”不知道对方的这两个条件概率值。于是它假设它们都是0.5,在游戏进行之中,有实际的信息出现时它就不用这个估计了。
1701027985
1701027986
这是一个相当复杂的决策规则,但是它在实践中却有一个缺陷。由于初始假设对方是不反应的,“唐宁”在头两步肯定是背叛的。这头两次背叛遭致许多其他规则的惩罚,因此事情就糟在这个坏的开头上。然而,正是因为这样,“唐宁”才能成为决定前几名竞争者的名次的关键规则。第一名的“一报还一报”和第二名的“泰德曼和奇露茨”(TIDEMAN AND CHIERUZZI)的反应使得“唐宁”认为,与它们合作比背叛更有好处,而其他所有的善良规则与“唐宁”相遇就走下坡路。
1701027987
1701027988
善良的规则在竞赛中之所以表现好在很大程度上是由于它们相互之间相处得很好,而且由于具有一定的数量使得它们能够大幅度相互提高它们的平均得分。只要对方不背叛,每个善良的规则一定是持续合作直到最后一步。如果有个背叛将会怎样呢?不同的规则的反应是很不一样的。而且它们的反应对于确定它们的最后成功是很重要的。一个重要的概念是决策规则的宽容性。一个规则的宽容性可以非正规地描述成它在对方背叛之后的合作倾向。[2]
1701027989
1701027990
所有善良规则中,得分最低的就是最少宽容性的规则,它是“弗里德曼”(FRIEDMAN),一个采用永久报复的完全不宽容的规则。它决不首先背叛,但是一旦对方背叛(即使是一次),“弗里德曼”就从此一直背叛下去。相反地,冠军“一报还一报”只不宽容一步,而后便完全原谅那个背叛。在一次惩罚之后,它就让过去的过去了。
1701027991
1701027992
不善良的规则在竞赛中表现不佳的主要原因之一就是,竞赛中的大部分规则都不是很宽容的。这里举一个具体的例子。“乔斯”(JOSS)是一个狡诈的规则,它试图偶尔进行背叛而不受惩罚。它是“一报还一报”的变形。像“一报还一报”一样,它总是在对方背叛之后立即背叛。但是它十次中会有一次是在对方合作之后背叛,而不是在对方合作之后总是合作。因此,它试图偷偷地偶尔占对方的便宜。
1701027993
1701027994
这个规则只是“一报还一报”的稍稍变形。但是事实上它的整体绩效却差多了。弄清楚这里的原因是很有趣的。表2.1列出了“乔斯”和“一报还一报”对局的每步记录。开始时双方合作,但是在第6步“乔斯”随机选择了一步背叛。下一步“乔斯”又合作。但是“一报还一报”用背叛来反应“乔斯”的上一步背叛,然后“乔斯”用背叛来反应“一报还一报”的背叛。因此,“乔斯”在第6步的一个背叛引起了“乔斯”和“一报还一报”之间背叛的反射,即造成了“乔斯”在而后一系列的偶数步时背叛和“一报还一报”在奇数步时背叛。
1701027995
1701027996
表2.1 “一报还一报”与“乔斯”的对局显示图
1701027997
1701027998
1701027999
1701028000
1701028001
“一报还一报”得236分,“乔斯”得241分。
1701028002
1701028003
1——双方合作;
1701028004
1701028005
2——只有“一报还一报”合作;
1701028006
1701028007
3——只有“乔斯”合作;
1701028008
1701028009
4——双方均不合作。
[
上一页 ]
[ :1.70102796e+09 ]
[
下一页 ]