博弈论三个枪手的故事_博弈模型的三个基本要素

博弈论三个枪手的故事_博弈模型的三个基本要素彼此痛恨的甲、乙、丙三个枪手准备决斗。甲枪法最好,十发八中;乙枪法次之,十发六中;丙枪法最差,十发四中。先提第一个问题:如果三人同时开枪,并且每人只发一枪;第一轮枪战后,谁活下来的机会大一些?一般人认为甲的枪法好,活下来的可能性大一些。但合乎推理的结论是,枪法最糟糕的丙活下来的几率最大。我们来分析一下各个枪手的策略。枪手甲一定要对枪手乙先开枪。因为乙对甲的威胁要比丙对甲的威胁更大,甲应该首…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

彼此痛恨的甲、乙、丙三个枪手准备决斗。甲枪法最好,十发八中;乙枪法次之,十发六中;丙枪法最差,十发四中。

先提第一个问题:如果三人同时开枪,并且每人只发一枪;第一轮枪战后,谁活下来的机会大一些?

一般人认为甲的枪法好,活下来的可能性大一些。但合乎推理的结论是,枪法最糟糕的丙活下来的几率最大。

我们来分析一下各个枪手的策略。

枪手甲一定要对枪手乙先开枪。因为乙对甲的威胁要比丙对甲的威胁更大,甲应该首先干掉乙,这是甲的最佳策略。

同样的道理,枪手乙的最佳策略是第一枪瞄准甲。乙一旦将甲干掉,乙和丙进行对决,乙胜算的概率自然大很多。

枪手丙的最佳策略也是先对甲开枪。乙的枪法毕竟比甲差一些,丙先把甲干掉再与乙进行对决,丙的存活概率还是要高一些。

我们计算一下三个枪手在上述情况下的存活几率:

甲:24%(被乙丙合射40% X 60% = 24%)

乙:20%(被甲射100% – 80% = 20%)

丙:100%(无人射丙)

通过概率分析,我们发现枪法最差的丙存活的几率最大,枪法好于丙的甲和乙的存活几率远低于丙的存活几率。

但是,上面的例子隐含一个假定,那就是甲乙丙三人都清楚地了解对手打枪的命中率。但现实生活中,因为信息不对称,比如枪手甲伪装自己,让枪手乙和丙认为甲的枪法最差,在这种情况下,最终的幸存者一定是甲。所以,无论是历史,还是现实,那些城府很深的奸雄往往能成为最后的胜利者。这样的例子,对你的职场生涯或者官场生涯是否很有启发呢?

我们继续假定,甲乙丙三人互相不了解对手的枪法水平。在这种情况下,甲被乙射、甲被丙射、甲被乙丙射及甲不被乙丙射的机率各为25%,按贝氏(Bayes)定理计算甲的存活率:
 
甲活率:31%([被乙射:25% X 40% = 10%] + [被丙射:25% X 60% = 15%] + [被乙丙射:25% X 40% X 60% = 6%])。

乙活率:23%([被甲射:25% X 20% = 5%] + [被丙射:25% X 60% = 15%] + [被甲丙射:25%X20%X60% = 3%])。

丙活率:17%([被甲射:25% X 20% = 5%] + [被乙射:25% X 40% = 10%] + [被甲乙射:25% X 20% X 40% = 2%])。

在枪手互相不知道对手命中率的信息的情况下,这时命中率最高的枪手甲存活的几率最大,枪法最差的丙存活的可能性最小。

我们现在回到甲乙丙都知道对手命中率的情形,进行第二轮枪战的分析。

在第一轮枪战后,丙有可能面对甲,也可能面对乙,甚至同时面对甲与乙,除非第一轮中甲乙皆死。尽管第一轮结束后,丙极有可能获胜(即甲乙双亡),但是第二轮开始,丙就一定处于劣势,因为不论甲或乙,他们的命中率都比丙的命中率为高。

这就是枪手丙的悲哀。能力不行的丙玩些花样虽然能在第一轮枪战中暂时获胜。但是,如果甲乙在第一轮枪战中没有双亡的话,在第二轮枪战结束后,丙的存活的几率就一定比甲或乙为低。

第二轮枪战中甲乙丙存活的几率粗算如下:
(1) 假设甲丙对决:甲的存活率为60%,丙的存活率为20%。
(2) 假设乙丙对决:乙的存活率为60%,丙的存活率为40%。

这似乎说明,能力差的人在竞争中耍弄手腕能赢一时,但最终往往不能成事。我们现在用严格的概率方法计算一下两轮枪战后,甲乙丙各自的存活的几率。

(1)    第一轮:

甲射乙,乙射甲,丙射甲。

甲的活率为24%(40% X 60%),乙的活率为20%(100% – 80%),丙的活率为100%(无人射丙)。

(2)    第二轮:

情况1:甲活乙死(24% X 80% = 19.2%)
           甲射丙,丙射甲──甲的活率为60%,丙的活率为20%。
情况2:乙活甲死(20% X 76% = 15.2%)
           乙射丙,丙射乙──乙的活率为60%,丙的活率为40%。
情况3:甲乙皆活(24% X 20% = 4.8%)
           重复第一轮。
情况4:甲乙皆死(76% X 80% = 60.8%)
           枪战结束。

甲的活率为12.672%
(19.2% X 60%) + (4.8% X 24%) = 12.672%
乙的活率为10.08%
(15.2% X 60%) + (4.8% X 20%) = 10.08%

丙的活率为75.52%

(19.2% X 20%) + (15.2% X 40%) + (4.8% X 100%) + (60.8% X 100%) = 75.52%

通过对两轮枪战的详细概率计算,我们仍然发现枪法最差的丙存活的几率最大,枪法较好的甲和乙的存活几率仍远低于丙的存活几率。

对于这样的例子,有人会发出“英雄创造历史,庸人繁衍子孙”的感叹。

我们现在改变游戏规则,假定甲乙丙不是同时开枪,而是他们轮流开一枪。在这个例子中,我们发现丙的机会好于他的实力,丙不会被第一枪干掉,并且他可能极有机会在下一轮中先开枪。

先假定开枪的顺序是甲、乙、丙,甲一枪将乙干掉后(80%的几率),就轮到丙开枪,丙有40%的几率一枪将甲干掉。即使乙躲过甲的第一枪,轮到乙开枪,乙还是会瞄准枪法最好的甲开枪,即使乙这一枪干掉了甲,下一轮仍然是轮到丙开枪。无论是甲或者乙先开枪,乙都有在下一轮先开枪的优势。

如果是丙先开枪,情况又如何呢?

丙可以向甲先开枪,即使丙打不中甲,甲的最佳策略仍然是向乙开枪。但是,如果丙打中了甲,下一轮可就是乙开枪打丙了。因此,丙的最佳策略是胡乱开一枪,只要丙不打中甲或者乙,在下一轮射击中他就处于有利的形势。

我们通过这个例子,可以理解人们在博弈中能否获胜,不单纯取决于他们的实力,更重要的是取决于博弈方实力对比所形成的关系。

在上面的例子中,乙和丙实际上是一种联盟关系,先把甲干掉,他们的生存几率都上升了。我们现在来判断一下,乙和丙之中,谁更有可能背叛,谁更可能忠诚?

任何一个联盟的成员都会时刻权衡利弊,一旦背叛的好处大于忠诚的好处,联盟就会破裂。在乙和丙的联盟中,乙是最忠诚的。这不是因为乙本身具有更加忠诚的品质,而是利益关系使然。只要甲不死,乙的枪口就一定会瞄准甲。但丙就不是这样了,丙不瞄准甲而胡乱开一枪显然违背了联盟关系,丙这样做的结果,将使乙处于更危险的境地。

合作才能对抗强敌。只有乙丙合作,才能把甲先干掉。如果,乙丙不和,乙或丙单独对甲都不占优,必然被甲先后解决。

先看赤壁之战的例子。

那时,曹操势力最强,孙权次之,刘备最弱。为了抵抗强大的曹操,孙刘两家只有联合起来,取胜的几率才比较大。孙权就相当于前面例子中的乙,是孙刘联盟中最卖力的成员。在赤壁之战中,孙权出力最多,刘备实际上没出多少力。《三国演义》夸大了诸葛亮对赤壁之战的贡献,当时孙刘联军的统帅实际上是周瑜,周瑜在赤壁之战的功劳远大于诸葛亮。

再看蒙古联合南宋灭金的例子。

当时,蒙古军事实力最强,金国次之,南宋武力最弱。本来南宋应该和金国结盟,帮助金国抵御蒙古的入侵才是上策,或者至少保持中立。但是,当时的南宋采取了和蒙古结盟的政策。南宋当局先是糊涂地同意了拖雷借道宋地伐金。1231年,蒙古军队在宋朝的先遣队伍引导下,借道四川等地,北度汉水歼灭了金军有生力量。1233年,南宋军队与蒙古军队合围蔡州,金朝最后一个皇帝在城破后死于乱兵,金至此灭亡。1279年,南宋正式亡于蒙古。

如果南宋当政者有战略眼光,捐弃前嫌,与世仇金结盟对抗最强大的敌人蒙古,宋和金都不至于那么快就先后灭亡了。

竞争中,没有永远的敌人。为了自己的利益,要随时准备同自己以前的对手进行合作以对付更危险的敌人。

争一时也争春秋,近视贪利不如宏观天下。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/181552.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 有限域运算_有限域GF

    有限域运算_有限域GF  忙了一周,总算把网络编码的Demo搞定了。  回想一下,大部分的时间都花在有限域的运算上了。网上找了几个运算类,没一个像样的,算出来结果也没两个是一样的,汗…主要是三个方面的问题,一是本原多项式P(x),到现在我还是没搞懂这玩意是怎么定出来的,为什么同样是GF(2^8),有人说P(x)=x^8+x^4+x^3+x+1,有人又说是P(x)=x^8+x^4+x^3+x^2+1,而且两种还都可以

  • shell中if elif_shell编程if语句格式

    shell中if elif_shell编程if语句格式测试shell脚本编程时,写了如下代码:在对if-elif-else分支进行数值判断时,发现一个奇怪的现象:如果使用testconditon(即[condition])进行判定,当第一条if条件为假时,无论代码中的elif语句条件是否为真,都输出elif分支下的语句;查看输出结果,发现输出结果显然与期望值不一样为了能够得到预期结果,发现如果采用双圆括号是进行判断,可得到预期结…

  • 报文学习四(LLDP协议)「建议收藏」

    报文学习四(LLDP协议)「建议收藏」1.LLDP出现的原因随着网络技术的发展,接入网络的设备的种类越来越多,配置越来越复杂,来自不同设备厂商的设备也往往会增加自己特有的功能,这就导致在一个网络中往往会有很多具有不同特性的、来自不同厂商的设备,为了方便对这样的网络进行管理,就需要使得不同厂商的设备能够在网络中相互发现并交互各自的系统及配置信息。LLDP(LinkLayerDiscoveryProtocol,链路层发现协议)就是用于这个目的的协议。当一个设备从网络中接收到其它设备的这些信息时,它就将…

  • document.all用法(一)

    document.all用法(一)1、理解document.all[]  从IE4开始IE的objectmodel才增加了document.all[],来看看document.all[]的Description:ArrayofallHTMLtagsinthedocument.Collectionofallelementscontainedbytheobject.  也就是说document.all

  • asp.net MVC 之 Controller.RedirectToAction 方法 详解[通俗易懂]

    asp.net MVC 之 Controller.RedirectToAction 方法 详解[通俗易懂]该方法将HTTP302响应返回到浏览器并会导致浏览器对指定的操作发出GET请求。该方法重载列表如下:重载列表名称说明RedirectToAction(String)使用操作名称重定向到指定的操作。RedirectToAction(String,Object)使用操作名称和路由值重定向到指定的操作。Red

  • loadrunner11激活成功教程失败,已解决“ license security violation.Operation is not allowed ”问题

    loadrunner11激活成功教程失败,已解决“ license security violation.Operation is not allowed ”问题loadrunner11激活成功教程失败,已解决“licensesecurityviolation.Operationisnotallowed”问题

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号