转自出处:http://breeze-159.blog.163.com/blog/static/3913984220098594354512/

三个枪手的博弈(转)

2009-09-05 21:43:54|  分类: 转|举报|字号 订阅

今天,看面试题目的时候,看到一道很有趣的题目,关于三个枪手的问题:

    三个枪手其命中率分别是80%,70%,60%。问谁被射死的概率最大?

果然是百度的面试题目,越想越复杂。到网上一搜,发现有更复杂的想法。在这里,转一篇看了很久,而且写得很好的一篇文章。

-----------------------------

今天,我讲一个有关博弈论的经典故事。

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

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

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

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

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

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

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

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

甲: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年,南宋正式亡于蒙古。

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

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

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

三个枪手的博弈(转)相关推荐

  1. [博弈论] 三个枪手

    彼此痛恨的甲.乙.丙三个枪手准备决斗.甲枪法最好,十发八中:乙枪法次之,十发六中:丙枪法最差,十发四中. 先提第一个问题:如果三人同时开枪,并且每人只发一枪:第一轮枪战后,谁活下来的机会大一些? 一般 ...

  2. java——智力题:三个枪手(命中率不同)为女人而战斗

    题目: 三个小伙子同时爱上了一 个姑娘,为了决定他们谁能娶这个姑娘,他们决定用手枪进行一次决斗.小李的命中率是30%,小黄比他好些,命中率是50%,最出色的枪手是小林,他从不失 误,命中率是100%. ...

  3. 小米、OPPO、vivo的“枪手博弈”,小米会先出局?

    文|佘凯文 来源|智能相对论(aixdlun) 随着今年国内及全球第二季度手机销售数据陆续公布,几家欢喜几家愁.苹果销量及市场份额再次双线下跌,甚至据IHS Markit给出的数据显示,二季度苹果全球 ...

  4. HDU1847Good Luck in CET-4 Everybody!递推求解必胜、必败点 附三种经典博弈

    Problem Description 大学英语四级考试就要来临了,你是不是在紧张的复习?也许紧张得连短学期的ACM都没工夫练习了,反正我知道的Kiki和Cici都是如此.当然,作为在考场浸润了十几载 ...

  5. Stackelberg博弈问题双层模型转化为MPEC模型的三种方法

    Stackelberg博弈问题双层模型转化为MPEC模型的三种方法 Stackelberg博弈问题的求解可以利用模型转换将下层问题以约束集的形式添加到上层优化中的三种方法. 1.构造 KKT条件 在进 ...

  6. 【读书笔记】基础博弈知识小结

    一些概念和约定: 公平游戏: 这里讨论的组合游戏都是公平游戏,也就是说一个游戏者可以把状态A变成B,那么另一个游戏者也可以.比如下棋就不是公平游戏,因为白方可以移动白子而黑方不能. 状态图: 我们可以 ...

  7. 1.3 博弈结构和博弈的分类

    1.3.1 博弈中的博弈方 博弈方:独立决策.独立承担博弈结果的个人或组织 博弈规则面前博弈方之间平等,不因博弈方之间权利.地位的差异而改变 博弈方数量对博弈结果和分析有影响 根据博弈方数量分单人博弈 ...

  8. [益智]:三个火枪手

    文章目录 题目描述 正确思路 题目描述 彼此痛恨的甲.乙.丙三个枪手准备决斗.甲枪法最好,十发八中:乙枪法次之,十发六中:丙枪法最差,十发四中.如果三人同时开枪,并且每人每轮只发一枪:那么枪战后,谁活 ...

  9. 闲的没事干看看博弈,感觉逼格屌屌的

     一)巴什博弈(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个.最后取光者得胜. 很容易想到当n%(m+1)<>0时,先取必胜,第一 ...

最新文章

  1. matplotlib 中将图直接从buffer中变为PIL 再到numpy
  2. Hadoop中RPC协议小例子报错java.lang.reflect.UndeclaredThrowableException解决方法
  3. centos7扩展根分区
  4. 如何使用github搭建个人博客
  5. .NET通用基本权限系统
  6. time series 时间序列 | fractional factorial design 部分要因试验设计
  7. Linux(debian7)错误集锦(二)之安装Gnome报错Failed to start unit user@1000.service
  8. strchr,wcschr 及strrchr, wcsrchr,_tcschr,_tcsrchr函数
  9. 设计模式之六 --- 抽象工厂模式(Abstract Factory)
  10. 找出数组中第二大的值
  11. 80X86寄存器详解
  12. 太阳高度角计算题_【难点突破】太阳高度角与正午太阳高度角区别(附例题解析)...
  13. 一文搞懂SPI通信协议
  14. 打开Form时报错 FRM-18108:装载下列对象失败 FRM-10102不能附加PLSQL程序库
  15. 公云(3322)动态域名更新API
  16. 阿里云【云计算7天实践训练营】新人路线-class6学习笔记
  17. java画好看坦克_坦克大战第一节——画出自己的坦克(新手篇)
  18. COGS 613 火车站饭店
  19. SpringCloud Alibaba实战第九课 分布式事务理论、DevOps运维
  20. java毕业生设计医院设备管理系统计算机源码+系统+mysql+调试部署+lw

热门文章

  1. pyecharts 进阶之地图+涟漪散点图+路径图(六)
  2. Java字节流和字符流,是时候总结一下IO流了
  3. Servlet(一,熬夜整理华为最新Java笔试题
  4. 易语言正则表达式调试工具及模块源码
  5. Java IO流 思维导图
  6. SIMULINK下的STM32自动代码生成
  7. 手把手带你用python+和风天气+腾讯云函数+qmsg实现定时推送每日天气
  8. 大学毕业后很迷茫不知道干什么?看完这几点你就知道了
  9. PAT A1107 Social Clusters ——过尽千帆皆不是
  10. 美伊战争_战争不是答案