乙個由鬥地主引發的血案

2021-08-23 12:10:29 字數 3044 閱讀 9155

王炸!~~,看到這個小故事我也試著拿筆去算了算, (唉,尼瑪,去試一下自己的智商下限!)

然後得出如下思路:地主20,農民17,一共54張牌.

那我直接用:

20/54 =地主拿一張王牌的概率

19/53=地主在有一張王后再拿到王的概率

然後兩個概率相乘:20/54*19/53不就得出了王炸的概率嘛?==13.3%在確定王炸的結果後,雖然很簡單,但還是很興奮的,那我也要趕緊去算一下農民炸的概率,兩王分家的概率各種balaba.,可沒想到,這一激動,就出了事!~~

我先是套用上面的公式算了民炸的概率:17/54*16/53*2==19%(因為2民,農民需乘2)

上面得出了王炸的情況,下面我們來看看兩王分家,這時有兩種:1.兩民各一王 2.地主農民各一王

再算算–>

兩民各拿一王(概率簡寫為p):17/54(一民拿王p)*17/53(另一民拿王p)*2=19%

地主與民各一王: 20/54*17/53*(這裡得出地主拿王,再乘民拿王) *2 =23.8%(因為這裡有兩民,所以乘二!)

好!這下子我們是不是算出了所有情況!~~

1.王炸(13.3%) / 2.民炸(19%) /3.兩民各王(20.2%) /4.地主民各王(23.8%)

這裡概率事件確實就這4種,那我們現在來將上面算出來的所有概率加一下,

13.3%+19%+20.2%+23.8%=76.3%(!汗~~76.3..這尼瑪 !! ~~)

雖然概率學不好,但就算根據大自然的規律來看也應該是1阿,這裡怎麼缺了一塊呢, 你給我吃了嘛??!!趕緊吐出來,~~~

那細心的同學這時候有沒有發現什麼呢?是哪個地方錯了喔!76.3..!這個數字好像和哪個地方有點蹊蹺呀~猜出來了嘛?

那下面我們來推斷一下,首先王炸(13.3%)和民炸(19%)肯定是正確的,比較符合邏輯. 那有問題的大概就是兩民各一王(20.2%)和地主民各王(23.8%)裡面了.

**計算錯了我們先不急,我們先確定出一些正確的事件概率,

這裡我是這樣思考的,既然盲算(上面的區域性演算法)不行,那我就從全域性入手.先得出那些可靠性較高的資料:

我們在這裡把事件分三種:1.王全在民那 2.王全在地主那 3.王分布在地主和民各乙個

全民:34/54*33/53=39.2%

王炸:13.3%

這時還剩下最後一種情況:3.地主民各一張王

100%-39.2%-13.3%=47.5%?? 得出這個概率有沒有大吃一驚呢~~

那這裡得出的概率和上面得出的23.8%是完全不一樣的,

這裡很明顯第二種計算過程更可靠一些,23.8%,47.5%,有沒有看出什麼呢? 對!正好約為2倍!

那我們是不是能得出乙個推斷: 第一次計算時得出的兩民各一王(20.2%)和地主民各王(23.8%),是計算地主與民分王概率時錯了,少乘了個2!而二民各一王的概率20.2%是正確的!

本著探索錯誤本源的精神:我們來回顧一下之前的計算過程:

兩民各拿一王:17/54(一民拿王p)*17/53(另一民拿王p)*2

地主與民各一王: 20/54*17/53*(這裡得出地主拿王,再乘民拿王) *2 =23.8%

為什麼前面乘二沒問題,而下面乘二就錯啦呢?

先用地主拿王概率20/54,再乘17/53(農民在地主拿到王后的p),這裡有兩個民,所以我們

理所當然的乘二! 符合邏輯啊,但其實我們這裡陷入了乙個思維誤區..

我們分析一下計算兩民時,乘2是因為雙方都能互動,所以各來一次. 而在地主面對

兩民時,乘二也就各自互動了一次,正確的是應該也像上面雙方各互動一次,所以我們

的整體結果應該繼續乘個2. (禮來我往!)

好的!到這裡我們得出正確答案了,過程確實很簡單! 因為我們能知道所有情況.

但試想一下,假如我們在乙個完全未知的空間中,你不知道一共有多少種角色,

那裡除了農民還有什麼老師,富豪.告訴你農民和地主的情況,讓你去算上面的概率.

(即不知道全域性條件的情況下)然後~~我根據盲目的演算法給出了乙個錯誤答案!~(小心到時候被關小黑屋喔~嘿嘿)

唉,想一想是不是很恐怖!! 所以最後我們牢記一條規律:

1.在事件中, 兩者關係間的相互作用不能與三者之前的相互作用混為一談! 不要想筆者一樣陷入思維誤區,三者間 不是乘2,而是乘4.

2.那通過這個我們還能得到什麼呢?我們以後就可以通過大資料打牌都地主了啦^_^balabala!…

(敲黑板,再記一遍)1.王炸(13.3%) / 2.民炸(9.5%*2) /3.兩民各王(20.2%) /4.地主民各王(47.5%)

所以你以後再也不用傷心你沒王炸了! 這概率,~太低了,那些每把都能有王炸的,趕緊去買彩票吧哈哈!

乙個由copyBean引發的血案

一次開發中使用輪子bean互轉突然發生了問題 new setdlevel 1 dto dto new dto dto beancopyutils.copybean dto.class system.out.println dto.getdlevel 列印出輸出結果 輸出結果卻變成null,怎麼肥事呢...

乙個鬥地主的演算法

此前,在公司的專案開發中,我負責著手解決這樣乙個問題 在鬥地主遊戲中,根據玩家出的 出這手牌的牌型。火箭 即雙王 大王和小王 炸彈 四張同數值牌 如四個7 單牌 單個牌 如紅桃5 對牌 數值相同的兩張牌 如梅花4 方塊4 三張牌 數值相同的三張牌 如三個j 三帶一 數值相同的三張牌 一張單牌或一對牌...

乙個memset引發的血案

前幾天做了一道bst題,提交了幾次都是wa,今天抽空拿了出來仔細瞧瞧總算被我發現禍頭根源.總結原因還在於自己對memset不太了解,以前用對估計也是瞎貓撞見死耗子 memset的介紹 void memset void buffer,int ch,size t count buffer 指向某段記憶體...