博弈-三个枪手决斗
三人決斗問題(槍手博弈)
題目是這樣的:
A、B、C三人進行決斗。A 的射擊命中率是三分之一,也就是說如果他努力的話,他平均每三槍可以擊中一次;B 的射擊命中率是二分之一;C 的射擊命中率是一(也就是百分之百)。由于 A 的命中率最低,為公平起見,他們讓 A 先射,然后是 B(如果他還活著的話),然后是 C(如果他還活著的話)。再然后是 A,B,C,如此循環(huán)下去,直到只有一人活著。每次射擊時只能開一槍,但可以選擇朝哪里開,也可以選擇放空槍。我們的問題是:如果ABC三人都按照最佳選擇行事,也就是說盡可能的提高自己地存活率,誰活下來的可能性最大?準確一點,每個人活下來的概率是多少?
根據(jù)題意,在第一輪射擊過程中,我們可以有三個比較明顯的推斷:
1) 由于 C 的命中率為100%,A、B 第一輪如果互相攻擊則無異于找死;
2) C 在 A 與 B 中,會優(yōu)先射 B,因為 B 的命中率 1/2 大于 A 的命中率 1/3,不可養(yǎng)虎為患;
3) B 會射 C,B 先于 C 開槍,若其推斷出 C 會優(yōu)先射擊自己,則一定會先射 C,因為投降則必死,不如一博。
接下來,我們可以先把問題簡化一下,先考慮只有兩個人的情形。注意到 C 的命中率有100%,因此無論只有 A 與 C 還是只有 B 與 C,情況都比較簡單,如果輪到 C 開槍則 C 獲勝。
比如,如果現(xiàn)在只有 A 與 C 決斗,則如果 A 先開槍,A 的存活率為 1/3 (他一槍命中的情況),如果 C 先開槍,則 A 必死。
現(xiàn)在考慮如果只有 A 和 B 決斗,情況會怎么樣,顯然,在只有兩個人的情況下,如果雙方都想盡可能地提高自己的存活率,則不會有人放空槍。假設(shè)此時輪到 A 開槍,則:
1) A 開槍,有 1/3 的機會擊中 B 獲勝,2/3 的機會未擊中,進入下一輪;
2) B 開槍,有 1/2 的機會擊中 A 獲勝,1/2 的機會未擊中,進入下一輪;
3) 重復(fù)以上步驟,直到有一人獲勝。
如下圖所示:
當只有 A、B 決斗時,如 A 先開槍,則 A、B 的存活概率 P(A1)、P(B1) 分別為:
P(A1)
= 1/3 + 1/3 * (1/3 + 1/3 * …)
= 1/3 * (1 + 1/3 + (1/3) ^ 2 + …)
= 1/3 * (1/(1 – 1/3))
= 1/2
對應(yīng)地有 P(B1) = 1 – P(A1) = 1 – 1/2 = 1/2 。
如 B 先開槍,則 A、B 的存活概率 P(A2)、P(B2) 分別為:
P(A2) = P(A1) * 1/2 = 1/4 (相當于 B 先開一次槍后再進行上面 A 先開槍的步驟。)
對應(yīng)地有 P(B2) = 1 – P(A2) = 1 – 1/4 = 3/4 。
顯然,在 B 與 C 之間,A 更不希望與 C 決斗。上面的 P(A1)、P(B2) 下面還會用到。
如果 A 第一槍射 B ,則他有 1/3 的概率直接射中 B,然后被 C 打死,2/3 的概率進入下一輪決斗,即 A 有 1/3 的概率在第一輪就掛掉。下一輪中他有 1/2 的概率與 B 決斗,1/2 的概率與 C 決斗,情況看起來不是很妙。
如果 A 與 B 同仇敵愾,第一槍先一起射 C 呢?他將有 1/3 的概率射中 C,然后被 B 以 1/2 的概率射中,即如果他先射 C,則有 1/3 * 1/2 = 1/6 的概率在第一輪就掛掉。
那如果 A 第一輪放空槍呢?這時,B 顯然會射 C,如果射中(1/2 概率),則進入 A、B 決斗的情況,并且是 A 先開槍,A 有 1/2 的概率存活;如 B 未射中 C(1/2 概率),則輪到 C 開槍時 C 顯然會把 B 干掉,進入 A、C 決斗的情況,A 先開槍,此時 A 有 1/3 的存活概率。
顯然,A 第一輪放空槍是一種更好的策略。此時,A、B、C 三人決斗可能的流程如下圖所示:
其中 A、B、C 三人存活的概率分別為:
P(A) = 1/2 * 1/3 + 1/2 * P(A1) = 1/6 + 1/3= 5/12
P(B) = 1/2 * P(B2) = 1/4
P(C)=(1 – 1/2) * (1 – 1/3) = 1/3
其中 P(A1)、P(B2) 即是上面只有 A、B 兩人決斗時計算得到的中間變量。
可以看到,P(A) > P(C) > P(B),A 的存活概率最大(接近于 1/2),C 的存活概率次之,B 的存活概率最小。
分析方法值得學(xué)習,由簡入深,依次遞推。
轉(zhuǎn)載于:https://www.cnblogs.com/lovemo1314/archive/2013/03/21/2972421.html
總結(jié)
- 上一篇: tomcat与apache区别
- 下一篇: Annotation之补充