【Puzzle】三人枪战

  |  

摘要: 《概率50题》三人枪战

【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】
我的网站:潮汐朝夕的生活实验室
我的公众号:算法题刷刷
我的知乎:潮汐朝夕
我的github:FennelDumplings
我的leetcode:FennelDumplings


这是概率面试题连载第 17 期,我们继续看 《Fifty challenging problems in probability with solutions》 中的一道题。

往期的内容整理在这篇文章里;或者看这个 github 仓库


问题描述

The-Three-Cornered-Duel

A, B, and C are to fight a three-cornered pistol duel
All know that:
1) A’s chance of hitting his target is 0.3
2) C’s chance is 0.5
3) B never misses
They are to fire at their choice of target in succession in the order A, B, C cyclically until one man is left unhit

Note: if a man is hit, he loses and is no longer shot at

What should A’s strategy be?

A, B, C 三个人进行枪战。三个人的射击水平不一样,具体如下:
1) A 命中目标的概率为 pa = 0.3
2) B 命中目标的概率为 pb = 1.0
3) C 命中目标的概率为 pc = 0.5
三个人按照 A, B, C 的顺序轮流执行射击,轮到每个人的时候,首先选一个目标,然后射击。
如果某个人被命中,则该人出局,此后也不能选他为目标。
三个人一直轮流地射击下去,直到只剩下一个人没有出局,此人是获胜者。
A, B, C 三个人在选择目标时,均会选择自己获胜概率最大的策略。

问:在 ABC 均在场时,A 选择谁为目标,获胜概率最大。


思路参考

记 P(XY) = XY 之间 X 先打的枪战, X 获胜的概率。

1. A 选择打 B

(1) A 命中 B,概率 0.3。则形成 AC 之间 C 先打的枪战。

下面我们考虑 AC 之间的枪战

  • 如果 C 先打,则 C 获胜的概率为 P(CA),A 获胜的概率为 1 - P(CA)。
  • 如果 A 先打,则 A 获胜的概率为 P(AC),C 获胜的概率为 1 - P(AC)。

如果局面是 C 先打但是 C 没有命中,则形成 A 先打的局面;如果局面是 A 先打但是 A 没有命中,则形成 C 先打的局面。因此 P(AC) 和 P(CA) 之间有以下关系。

可以求得:P(CA) = 10 / 13, P(AC) = 6 / 13

因此在 A 命中 B 的条件下,A 获胜的概率为 1 - P(CA) = 3 / 13

(2) A 未命中 B,概率 0.7,则形成 ABC 之间 B 先打的枪战。

下面我们考虑 ABC 之间 B 先打的枪战。B 可以选择 A 或者 C 为目标。

  • 如果 B 选择 A 为目标,则形成 BC 之间 C 先打的局面,C 获胜概率为 pc = 0.5,B 获胜概率为 0.5。
  • 如果 B 选择 C 为目标,则形成 AB 之间 A 先打的局面,A 获胜概率为 pa = 0.3,B 获胜概率为 0.7。

因此对于 B 来说,选择 C 为目标是对自己最有利的,形成 AB 之间 A 先打的局面,A 可以以 0.3 的概率获胜。

综合 (1) 和 (2) 两种情况,A 选择打 B 的获胜概率为 p1 = 0.3 * (3 / 13) + 0.7 * 0.3 = 0.27923

2. A 选择打 C

(1) A 命中 C,概率 0.3,形成 AB 之间 B 先打的枪战。A 胜的概率是 0

(2) A 未命中 C,概率 0.7,形成 ABC 之间 B 先打的局面,上面分析过,这种局面 A 胜的概率为 0.3

综合 (1) 和 (2) 两种情况,A 选择打 C 的获胜概率为 p2 = 0.7 * 0.3 = 0.21

p2 < p1,因此在 ABC 都在场且 A 先打时,A 应该打 B,获胜概率最大。

如果可以作弊的话,当 ABC 都在场轮到 A 打时,A 选择故意不命中,留下一个 ABC 都在场但 B 先打的局面,这种局面 A 的获胜概率为 0.3 比 p1,p2 都大。



Share