A B C 三個人相互射擊, A B C 命中率分別為 30% 50% 100% ,每輪每個人可以任選一個人射擊或者什麼也不做,開槍是同時的;請問,每個人都為了保證自己存活率更高的情況下,射擊的情況以及每個人的存活概率?


daniel的解答是正確的,但這道題有個變種:開槍不是同時的,而是A先開始開槍,B第二,C最後,然後這樣循環。這樣就複雜一些了,下面給出這個變種問題的解答。

先來點簡單的,也為解決該題做準備。

如果AB單挑,A先開槍,A存活的概率是

30%+70%×50%×30%+70%×50%×70%×50%×30%+……=0.3/0.65

相應的,B存活的概率是 1-0.3/0.65 = 0.35/0.65

然後看看A、B、C的三人決鬥的情況。三個人的話,那就首先要考慮一下目標了,對於A來說,在C尚存活的情況下,他肯定不會以B為目標,打不中等於浪費機會,打中更慘,下一輪直接被C爆了,所以,先解決威脅大的是正解,於是A會以C為目標。

同理,B會以C目標,C會以B為目標。

下面來看看A的存活概率,分三種可能:

A幹掉了C,B沒有幹掉A,此時問題退化為AB決鬥A先開槍了。

30%×50%×0.3/0.65

A沒有幹掉C,B幹掉了C,此時問題也退化為AB決鬥A先開槍了。

70%×50%×0.3/0.65

A沒有幹掉C,B也沒有幹掉C,C幹掉B,A幹掉C。

70%×50%×30%

全概率事件概率相加,得到A存活的概率為

0.105+3/13≈0.336

B存活下來也分三種可能性:

A幹掉了C,B幹掉A

30%×50%

A幹掉了C,B沒有幹掉A,此時問題退化為AB決鬥A先開槍了。

30%×50%×0.35/0.65

A沒有幹掉C,B幹掉了C,此時問題也退化為AB決鬥A先開槍了。

70%×50%×0.35/0.65

所以B活下來的可能性為0.15+3.5/13≈0.419

C存活的只有一種情況,比較簡單:

A沒有幹掉C,B沒有幹掉C,C幹掉B,A沒有幹掉C,C幹掉A。

70%×50%×70%=0.245

由此我們學到了一個道理:先下手為強!

如果允許棄權,或者朝天開槍,那麼情況又有變化了。

首先B不可能棄權,因為B知道自己是C的目標,而C又百發百中,這個先動手的機會一定不能放棄,如果C已經死了,兩個人對決,先手機會也有優勢。

C更不可能棄權了,一是自己百發百中,二是自己均是A、B的目標。

那A如果第一輪棄權呢。

來算算看。

A的存活概率,分兩種可能:

B幹掉了C,此時問題退化為AB決鬥A先開槍了。

50%×0.3/0.65

B沒有幹掉C,C幹掉B,A幹掉C。

50%×30%

全概率事件概率相加,得到A存活的概率為

0.5(0.3/0.65+0.3)≈ 0.381。

38%的存活概率啊!比之前33.6%的最佳方案高了不少!

看看B的存活概率,只有一種可能性:

B幹掉C,此時問題退化為AB決鬥A先開槍了。

50%×0.35/0.65≈0.269。

C的存活率也很簡單:

B沒有幹掉C,C幹掉B,A沒有幹掉C,C幹掉A。

50%×70%≈0.35

哇喔,看來A的首輪棄權給了A、C更大的存活率,並使得A一躍成為最有希望存活選手!

所以,如果A的邏輯推理學得還不錯的話,必然選擇首輪棄權了。

由此我們又學到了一個道理:鶴蚌相爭,漁翁得利。


第一輪:

B一定會選擇打C,因為打死A對他沒有好處。

同理A也一定會打C。

C會選擇先打B,因為A的威脅較小。

第二輪:

B已經死了,如果C也死了的話,那麼A直接獲勝。

如果C沒有死的話那麼就AC對決。

所以B存活概率0%,

C存活概率(1-0.5)*(1-0.3)*(1-0.3)=24.5%

A只有在第一輪滅了C的情況下才能存活1-(1-0.5)*(1-0.3)=65%


這是博弈論的經典模型,標籤加錯了。 給個關鍵詞 博弈論+三個火槍手


A應該朝天射擊,B射C,50%命中,C射B,B死亡,A在射擊C,30%命中,若不命中則A死亡。結論是A20%死亡率,B100%死亡,C80%死亡。


威脅最高的是c,因為必殺,所以ab必須先殺他,不然他們就得死,c也會殺威脅較高的b,a因為攻擊威脅小反而不會被攻擊,所以第一輪開槍結果,

a 百分百存活

b 死亡

c 35%存活。

第二輪 c未死

a 死亡

c 70%存活

所以

c 存活率22.4%。

a 存活率65%。

b 存活率0%


這個題目無解,C必然打B,然後B必死,所以B無論做什麼都無法提高自己的存活概率。

所以B可以選擇打任何人,或者不開槍。


再更:

A、B會陷入循環,只要A決定打C,B就會打自己,迫使C打A,接下來A也會打自己,C放棄攻擊(因為C打B的話會讓B反擊)。也就是 A、B都在打自己,C放棄攻擊。但這樣會讓A、B看不到希望(A、B都在期望藉手殺人,因為被C打必死),A、B開始打C。。。

進入剪子包袱錘的節奏。

================================================================

更新:

題設條件下,即使A、B都打自己,第二輪的時候也是B對C的威脅大。所以C還是會打B。B就不會打自己。

================================================================

假設選擇的過程是公開透明的 且C有最終選擇權,且如果B的命中概率是0.8的話就好玩了。

那樣的話,B就會選擇打自己,因為B打自己的話命中率0.8(打自己也要遵守基本法),這是B能存活的唯一途徑。

A由於槍法爛,打自己也打不中,成為C的最大威脅被幹掉。

A存活概率0

B存活概率0.2*0.3=0.06

C存活概率0.7*(1-0.2*0.8)=0.588


A減傷70%

B減傷50%

C減傷0%.

是否就是相同的存活率了呢?


推薦閱讀:

Master是否應該去找software engineer的工作而不是data scientist?
你是怎樣申請到PhD的呢?
在學習成績下降的情況下是什麼讓你堅持競賽?
軟體工程師如何帶好實習生?
運行bgp的路由器具有所有的公網路由嗎?

TAG:計算機科學 | 遊戲數值策劃 | 概率論 |