本文主要是介绍博弈论与纳什平衡,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
博弈论(game theory)对人的基本假定是:人是理性的(rational,或者说自私的),理性的人是指他在具体策略选择时的目的是使自己的利益最大化,博弈论研究的是理性的人之间如何进行策略选择的。 纳什(John Nash)编制的博弈论经典故事"囚徒的困境",说明了非合作博弈及其均衡解的成立,故称"纳什平衡"。 所有的博弈问题都会遇到三个要素。在囚徒的故事中,两个囚徒是当事人(players)又称参与者;当事人所做的选择策略 (strategies)是承认了杀人事实,最后两个人均赢得(payoffs)了中间的宣判结果。如果两个囚徒之中有一个承认杀人,另外一个抵赖,不承认杀人,那么承认者将会得到减刑处理,而抵赖者将会得到最严厉的死刑判决,在纳什故事中两个人都承认了犯罪事实,所以两个囚徒得到的是中间的结果。 类似的: 我们也能从“自私的基因”等理论中看到“纳什平衡”的体现。 在互联网这个原始丛林中:最优策略是如何产生的呢? 一、 博弈中最优策略的产生 艾克斯罗德(Robert Axelrod)在开始研究合作之前,设定了两个前提:一、每个人都是自私的;二、没有权威干预个人决策。也就是说,个人可以完全按照自己利益最大化的企图进行决策。在此前提下,合作要研究的问题是:第一、人为什么要合作;第二、人什么时候是合作的,什么时候又是不合作的;第三、如何使别人与你合作。 社会实践中有很多合作的问题。比如国家之间的关税报复,对他国产品提高关税有利于保护本国的经济,但是国家之间互提关税,产品价格就提高了,丧失了竞争力,损害了国际贸易的互补优势。在对策中,由于双方各自追求自己利益的最大化,导致了群体利益的损害。对策论以著名的囚犯困境来描述这个问题。 A和B各表示一个人,他们的选择是完全无差异的。选择C代表合作,选择D代表不合作。如果AB都选择C合作,则两人各得3分;如果一方选C,一方选D,则选C的得零分,选D的得5分;如果AB都选D,双方各得1分。 显然,对群体来说最好的结果是双方都选C,各得3分,共得6分。如果一方选C,一方选D,总体得5分。如果两人都选D,总体得2分。 对策学界用这个矩阵来描述个体理性与群体理性的冲突:每个人在追求个体利益最大化时,就使群体利益受损,这就是囚徒困境。在矩阵中,对于A来说,当对方选C,他选D得5分,选C只得3分;当对方选D,他选D得1分,选C得零分。因此,无论对方选C或D,对A来说,选D都得分最多。这是A单方面的优超策略。而当两个优超策略相遇,即A,B都选D时,结果是各得1分。这个结果在矩阵中并非最优。困境就在于,每个人采取各自的优超策略时,得出的解是稳定的,但不是帕累托最优的,这个结果体现了个体理性与群体理性的矛盾。在数学上,这个一次性决策的矩阵没有最优解。 如果博弈进行多次,只要对策者知道博弈次数,他们在最后一次肯定采取互相背叛的策略。既然如此,前面的每一次也就没有合作的必要,因此,在次数已知的多次博弈中,对策者没有一次会合作。 如果博弈在多人间进行,而且次数未知,对策者就会意识到,当持续地采取合作并达成默契时,对策者就能持续地各得3分,但如果持续地不合作的话,每个人就永远得1分。这样,合作的动机就显现出来。多次对局下,未来的收益应比现在的收益多一个折现率W,W越大,表示未来的收益越重要。在多人对策持续进行下去,且W比较大,即未来充分重要时,最优的策略是与别人采取的策略有关的。假设某人的策略是,第一次合作,以后只要对方不合作一次,他就永不合作。对这种对策者,当然合作下去是上策。假如有的人不管对方采取什么策略,他总是合作,那么总是对他采取不合作的策略得分最多。对于总是不合作的人,也只能采取不合作的策略。 艾克斯罗德做了一个实验,邀请多人来参加游戏,得分规则与前面的矩阵相同,什么时候结束游戏是未知的。他要求每个参赛者把追求得分最多的策略写成计算机程序,然后用单循环赛的方式将参赛程序两两博弈,以找出什么样的策略得分最高。 第一轮游戏有14个程序参加,再加上艾克斯罗德自己的一个随机程序(即以50%的概率选取合作或不合作),运转了300次。结果得分最高的程序是加拿大学者罗伯布写的"一报还一报"(tit for tat)。这个程序的特点是,第一次对局采用合作的策略,以后每一步都跟随对方上一步的策略,你上一次合作,我这一次就合作,你上一次不合作,我这一次就不合作。艾克斯罗德还发现,得分排在前面的程序有三个特点:第一,从不首先背叛,即"善良的";第二,对于对方的背叛行为一定要报复,不能总是合作,即" 可激怒的";第三,不能人家一次背叛,你就没完没了的报复,以后人家只要改为合作,你也要合作,即"宽容性"。 为了进一步验证上述结论,艾氏决定邀请更多的人再做一次游戏,并把第一次的结果公开发表。第二次征集到了62个程序,加上他自己的随机程序,又进行了一次竞赛。结果,第一名的仍是"一报还一报"。艾氏总结这次游戏的结论是:第一,"一报还一报"仍是最优策略。第二,前面提到的三个特点仍然有效,因为63人中的前15名里,只有第8名的哈灵顿程序是"不善良的",后15名中,只有1个总是合作的是"善良的"。可激怒性和宽容性也得到了证明。此外,好的策略还必须具有的一个特点是"清晰性",能让对方在三、五步对局内辨识出来,太复杂的对策不见得好。"一报还一报"就有很好的清晰性,让对方很快发现规律,从而不得不采取合作的态度。 二、 合作的进行过程及规律 "一报还一报"的策略在静态的群体中得到了很好的分数,那么,在一个动态的进化的群体中,这种合作者能否产生、发展、生存下去呢?群体是会向合作的方向进化,还是向不合作的方向进化?如果大家开始都不合作,能否在进化过程中产生合作?为了回答这些疑问,艾氏用生态学的原理来分析合作的进化过程。 假设对策者所组成的策略群体是一代一代进化下去的,进化的规则包括:一,试错。人们在对待周围环境时,起初不知道该怎么做,于是就试试这个,试试那个,哪个结果好就照哪个去做。第二,遗传。一个人如果合作性好,他的后代的合作基因就多。第三,学习。比赛过程就是对策者相互学习的过程,"一报还一报"的策略好,有的人就愿意学。按这样的思路,艾氏设计了一个实验,假设63个对策者中,谁在第一轮中的得分高,他在第二轮的群体中所占比例就越高,而且是他的得分的正函数。这样,群体的结构就会在进化过程中改变,由此可以看出群体是向什么方向进化的。 实验结果很有趣。"一报还一报"原来在群体中占1/63,经过1000代的进化,结构稳定下来时,它占了24%。另外,有一些程序在进化过程中消失了。其中有一个值得研究的程序,即原来前15名中唯一的那个"不善良的"哈灵顿程序,它的对策方案是,首先合作,当发现对方一直在合作,它就突然来个不合作,如果对方立刻报复它,它就恢复合作,如果对方仍然合作,它就继续背叛。这个程序一开始发展很快,但等到除了"一报还一报"之外的其它程序开始消失时,它就开始下降了。因此,以合作系数来测量,群体是越来越合作的。 进化实验揭示了一个哲理:一个策略的成功应该以对方的成功为基础。"一报还一报"在两个人对策时,得分不可能超过对方,最多打个平手,但它的总分最高。它赖以生存的基础是很牢固的,因为它让对方得到了高分。哈灵顿程序就不是这样,它得到高分时,对方必然得到低分。它的成功是建立在别人失败的基础上的,而失败者总是要被淘汰的,当失败者被淘汰之后,这个好占别人便宜的成功者也要被淘汰。 那么,在一个极端自私者所组成的不合作者的群体中,"一报还一报"能否生存呢?艾氏发现,在得分矩阵和未来的折现系数一定的情况下,可以算出,只要群体的 5%或更多成员是"一报还一报"的,这些合作者就能生存,而且,只要他们的得分超过群体的总平均分,这个合作的群体就会越来越大,最后蔓延到整个群体。反之,无论不合作者在一个合作者占多数的群体中有多大比例,不合作者都是不可能自下而上的。这就说明,社会向合作进化的棘轮是不可逆转的,群体的合作性越来越大。艾克斯罗德正是以这样一个鼓舞人心的结论,突破了"囚犯困境"的研究困境。 在研究中发现,合作的必要条件是:第一、关系要持续,一次性的或有限次的博弈中,对策者是没有合作动机的;第二、对对方的行为要做出回报,一个永远合作的对策者是不会有人跟他合作的。 那么,如何提高合作性呢?首先,要建立持久的关系,即使是爱情也需要建立婚姻契约以维持双方的合作。(火车站的小贩为什么要骗人?为什么工作中要形成小组制度?换防的时候一方总是要小小地进攻一下的,在中越前线就是这样)第二、要增强识别对方行动的能力,如果不清楚对方是合作还是不合作,就没法回报他了。第三、要维持声誉,说要报复就一定要做到,人家才知道你是不好欺负的,才不敢不与你合作。第四、能够分步完成的对局不要一次完成,以维持长久关系,比如,贸易、谈判都要分步进行,以促使对方采取合作态度。第五、不要嫉妒人家的成功,"一报还一报"正是这样的典范。第六、不要首先背叛,以免担上罪魁祸首的道德压力。第七、不仅对背叛要回报,对合作也要作出回报。第八、不要耍小聪明,占人家便宜。 (打桥牌和打麻将的区别) 艾克斯罗德在《合作的进化》一书结尾提出几个结论。第一、友谊不是合作的必要条件,即使是敌人,只要满足了关系持续,互相回报的条件,也有可能合作。比如,第一次世界大战期间,德英两军在战壕战中遇上了三个月的雨季,双方在这三个月中达成了默契,互相不攻击对方的粮车给养,到大反攻时再你死我活地打。这个例子说明,友谊不是合作的前提。第二、预见性也不是合作的前提,艾氏举出生物界低等动物、植物之间合作的例子来说明这一点。但是,当有预见性的人类了解了合作的规律之后,合作进化的过程就会加快。这时,预见性是有用的,学习也是有用的。 当游戏中考虑到随机干扰,即对策者由于误会而开始互相背叛的情形时,吴坚忠博士经研究发现,以修正的"一报还一报",即以一定的概率不报复对方的背叛,和 "悔过的一报还一报",即以一定的概率主动停止背叛。群体所有成员处理随机环境的能力越强,"悔过的一报还一报"效果越好,"宽大的一报还一报"效果越差。 三、 艾克斯罗德的贡献与局限性 艾克斯罗德通过数学化和计算机化的方法研究如何突破囚徒困境,达成合作,将这项研究带到了一个全新境界,他在数学上的证明无疑是十分雄辩和令人信服的,而且,他在计算机模拟中得出的一些结论是非常惊人的发现,比如,总分最高的人在每次博弈中都没有拿到最高分。(刘邦和项羽的战争) 艾氏所发现的"一报还一报"策略,从社会学的角度可以看作是一种"互惠式利他",这种行为的动机是个人私利,但它的结果是双方获利,并通过互惠式利他有可能覆盖了范围最广的社会生活,人们通过送礼及回报,形成了一种社会生活的秩序,这种秩序即使在多年隔绝,语言不通的人群之间也是最易理解的东西。比如,哥伦布登上美洲大陆时,与印地安人最初的交往就开始于互赠礼物。有些看似纯粹的利他行为,比如无偿损赠,也通过某些间接方式,比如社会声誉的获得,得到了回报。研究这种行为,将对我们理解社会生活有很重要的意义。 囚徒困境扩展为多人博弈时,就体现了一个更广泛的问题──"社会悖论",或"资源悖论"。人类共有的资源是有限的,当每个人都试图从有限的资源中多拿一点儿时,就产生了局部利益与整体利益的冲突。人口问题、资源危机、交通阻塞,都可以在社会悖论中得以解释,在这些问题中,关键是通过研究,制定游戏规则来控制每个人的行为。 艾克斯罗德的一些结论在中国古典文化道德传统中可以很容易地找到对应,"投桃报李"、"人不犯我,我不犯人"都体现了"tit for tat"的思想。但这些东西并不是最优的,因为"一报还一报"在充满了随机性的现实社会生活里是有缺陷的。对此,孔子在几千年前就说出了"以德报德,以直报怨"这样精彩的修正策略,所谓"直",就是公正,以公正来回报对方的背叛,是一种修正了的"一报还一报",修正的是报复的程度,本来会让你损失5分,现在只让你损失3分,从而以一种公正审判来结束代代相续的报复,形成文明。 但是,艾氏对博弈者的一些假设和结论使其研究不可避免地与现实脱节。首先,《合作的进化》一书暗含着一个重要的假定,即,个体之间的博弈是完全无差异的。现实的博弈中,对策者之间绝对的平等是不可能达到的。一方面,对策者在实际的实力上有差异,双方互相背叛时,可能不是各得1分,而是强者得5分,弱者得0 分,这样,弱者的报复就毫无意义。另一方面,即使对局双方确实旗鼓相当,但某一方可能怀有赌徒心理,认定自己更强大,采取背叛的策略能占便宜。艾氏的得分矩阵忽视了这种情形,而这种赌徒心理恰恰在社会上大量引发了零和博弈。因此,程序还可以在此基础上进一步改进。 其次,艾氏认为合作不需预期和信任。这是他受到质疑颇多之处。对策者根据对方前面的战术来制定自己下面的战术,合作要求个体能够识别那些曾经相遇过的个体并且记得与其相互作用的历史,以便作出反应,这些都暗含着"预期"行为。在应付复杂的对策环境时,信任可能是对局双方达成合作的必不可少的环节。但是,预期与信任如何在计算机的程序中体现出来,仍是需要研究的。 最后,重复博弈在现实中是很难完全实现的。一次性博弈的大量存在,引发了很多不合作的行为,而且,对策的一方在遭到对方背叛之后,往往没有机会也没有还手之力去进行报复。比如,资本积累阶段的违约行为,国家之间的核威慑。在这些情况下,社会要使交易能够进行,并且防止不合作行为,必须通过法制手段,以法律的惩罚代替个人之间的"一报还一报",规范社会行为。这是艾克斯罗德的研究对制度学派的一个重要启发。 |
这篇关于博弈论与纳什平衡的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!