WOO logo

秘密聖誕老人之謎

你可能還記得,我在2023年10月26日的新聞通訊中寫過一篇關於他們在船上玩的遊戲節目的文章,名為「一擲千金」(Deal or No Deal)。在那個遊戲中,每個玩家都可以購買卡片,並獲得上台表演的機會。不過,每張卡片都有機會贏得安慰獎。安慰獎的玩法是,每張卡片上有20個箱子,箱子後面隨機放著20種不同的獎金。箱子的蓋子打開後即可打開。玩家獲勝的條件是,卡片上的獎金有多少與螢幕上隨機排列的相同獎金匹配。那篇新聞通訊中一個未解決的問題是,任意給定數量的匹配機率。

這個問題通常被稱為「秘密聖誕老人謎題」。它的名字來自聖誕派對上的一項活動:一群人(通常在同一間辦公室)從一頂寫有所有辦公室員工名字的帽子裡抽取一個名字,以此來決定要送禮物給誰。這個遊戲的一個問題是,你有可能抽到自己的名字,這很沒意思。平均而言,每個辦公室都會有一名玩家遇到這種情況,無論有多少員工。在本期簡報中,我試圖解答的一個問題是,沒有人抽到自己名字的確切機率是多少。

被低估的
圖片來源: The Underrated

在我撰寫10月26日的電子報時,我並不清楚該如何計算,所以用泊松函數進行了估算。然而,這個問題一直困擾著我。我一直覺得估算在智力上非常不令人滿意。

首先,我編寫了一個計算機程序,循環遍歷所有可能的獎品順序,併計算每個排列對應的匹配數量。然而,如果是13個行李箱,程式大約需要一天時間才能遍歷完所有6,227,020,800種排列。如果是20個行李箱,則有2,432,902,008,176,640,000種排列,大約需要一百萬年才能遍歷完畢。

其次,我打開Excel,嘗試用遞歸的方式計算。結果比我想像的簡單得多。我一開始就應該這麼做。本通訊的其餘部分將解釋該方法背後的邏輯。

我假設讀者熟悉 Excel 的 combin(x,y) 函數,它表示從 x 中選擇 y 項的方式數。其確切公式為 x!/(y!*(xy)!)。

讓我們從一些明顯的案例開始。

  1. 1.有一位聖誕老人,顯然他有自己的名字。
  2. 2.有兩個聖誕老人,那麼兩個人都有自己名字或彼此名字的機率是 50%。
  3. 3.有三個聖誕老人,每個人有1種可能的名字。兩個人有0種可能的名字,因為如果他們這樣,最後一個人也會抽到自己的名字,因為這是唯一剩下的一個。一個人有3種可能的名字,分別是3個人各一個,另外兩個人互相有1種可能的名字。 3*1 = 1。3個名字的排序方式共有3!=6種。 0個人有自己名字的可能方式數就是剩下的:6-1-3 = 2。

到目前為止,我們的進展如下:

火柴3個聖誕老人2個聖誕老人1 聖誕老人
3 1
2 0 1
1 3 0 1
0 2 1 0
全部的6 2 1

接下來,讓我們來談談 4 位聖誕老人。

4 場比賽:每個人總有一種方法可以得到自己的名字。

3個配對:除了一個人之外,其他人抽到自己的名字是不可能的。當除了一個人之外的其他人都匹配成功後,就只剩下一個人和他們的名字,而且他們必須相同。

2 人配對:從 4 個人中選出 2 人進行配對,一共有 combin(4,2)=6 種方法。另外 2 個人不匹配,只有 1 種方法,即透過抽籤的方式匹配對方的名字。

1 次配對:選擇與自己配對的聖誕老人有 4 種方式。從 3 個聖誕老人的情況可以看出,另外 3 個聖誕老人不匹配的情況有兩種,這是必然發生的。因此,1 次匹配的組合數為 4*2=8。

0 個匹配:同樣,我們從總排列中減去所有其他可能性。 4! - 1 - 6 - 8 = 24-15=9。

現在我們位於:

火柴4個聖誕老人3個聖誕老人2個聖誕老人1個聖誕老人
4 1
3 0 1
2 6 0 1
1 8 3 0 1
0 9 2 1 0
全部的24 6 2 1

接下來,讓我們來了解 5 位聖誕老人。

5 場比賽:每個人總有一種方法可以得到自己的名字。

4 場比賽:不可能,原因在 4 個聖誕老人的案例中有所說明。

3 次配對:從 5 個人中選擇 3 個人進行配對,共有 combin(5,3)=10 種方法。另外兩個人互相知道對方名字的方法只有 1 種。因此,3 次配對共有 10 種方法。

2 人配對:從 5 個人中選出 2 人進行配對,一共有 combin(5,2)=10 種方式。其餘 3 人,有兩種不匹配的方式,這一點我們從 3 個聖誕老人的案例中可以看出。因此,2 人配對共有 10*2=20 種方式。

1 次配對:選擇與自己配對的聖誕老人有 5 種方式。從 4 個聖誕老人的情況可以看出,其他 4 個聖誕老人不匹配的情況有 9 種,這是必然發生的。因此,1 次匹配的組合數為 5*9=45。

0 個匹配:同樣,我們從總排列中減去所有其他可能性。 5! - 1 - 0 - 10 - 20 - 45 = 44。

現在我們位於:

火柴5個聖誕老人4個聖誕老人3個聖誕老人2個聖誕老人1個聖誕老人
5 1
4 0 1
3 10 0 1
2 20 6 0 1
1 45 8 3 0 1
0四十四9 2 1 0
全部的120 24 6 2 1

按照同樣的邏輯,我們得到最多 10 位聖誕老人的下表。

墊。 10個聖誕老人9個聖誕老人8個聖誕老人7個聖誕老人6個聖誕老人5個聖誕老人4個聖誕老人3個聖誕老人2個聖誕老人1個聖誕老人
10 1
9 0 1
8 45 0 1
7 240三十六0 1
6 1890 168二十八0 1
5 11088 1134 112 21 0 1
4 55650 5544 630 70 15 0 1
3 222480 22260 2464 315 40 10 0 1
2 667485 66744 7420 924 135 20 6 0 1
1 1334960 133497 14832 1855 264 45 8 3 0 1
0 1334961 133496 14833 1854 265四十四9 2 1 0
全部的3628800 362880 40320 5040 720 120 24 6 2 1

請注意,0 個匹配和 1 個匹配的排列數總是相差無幾。如果聖誕老人數量為偶數,則 0 個匹配的排列數比 1 個匹配的排列數多一個;如果聖誕老人數量為奇數,則 0 個匹配的排列數比 1 個匹配的排列數少一個。如果我們接受這種情況總是成立(事實也確實如此),那麼我們可以快速確定 11 個或更多聖誕老人的 0 個匹配的排列數,如下所示。

11個聖誕老人:對於一個匹配,有11個聖誕老人需要匹配,而其他10個不匹配的情況,則有133,496種方式。因此,1個匹配的排列數為11*133,496 = 14,684,571。由於11是奇數,因此0個匹配的排列數少一個,即14,684,571 - 1 = 14,684,570。

12個聖誕老人:對於一個匹配,有12個聖誕老人需要匹配,而其他11個不匹配的情況,則有14,684,570種方式。因此,1個匹配的排列數為12*14,684,570 = 176,214,840。由於12是偶數,因此0個匹配的排列數多一個,即176,214,840 + 1 = 176,214,841。

繼續同樣的邏輯,這裡是 1 到 20 個聖誕老人的 0 個匹配的排列數,包括總排列數和機率。

聖誕老公公0 場比賽總排列可能性
20 895,014,631,192,902,000 2,432,902,008,176,640,000 0.367879
19 44,750,731,559,645,100 121,645,100,408,832,000 0.367879
18 2,355,301,661,033,950 6,402,373,705,728,000 0.367879
17 130,850,092,279,664 355,687,428,096,000 0.367879
16 7,697,064,251,745 20,922,789,888,000 0.367879
15 481,066,515,734 1,307,674,368,000 0.367879
14 32,071,101,049 87,178,291,200 0.367879
十三2,290,792,932 6,227,020,800 0.367879
12 176,214,841 479,001,600 0.367879
11 14,684,570 39,916,800 0.367879
10 1,334,961 3,628,800 0.367879
9 133,496 362,880 0.367879
8 14,833 40,320 0.367882
7 1,854 5,040 0.367857
6 265 720 0.368056
5四十四120 0.366667
4 9 24 0.375000
3 2 6 0.333333
2 1 2 0.500000
1 0 1 0.000000

請注意,0場比賽的機率是如何接近0.367879的。這個數字看起來很熟悉嗎?沒錯!它是1/e。我現在可以寫一本關於泊松估計的小冊子了,但這份簡報已經太長了。想了解更多,我推薦史丹佛·黃(Stanford Wong)的《敏銳體育博彩》(Sharp Sports Betting),這本書解釋瞭如何使用泊松函數分析超級盃的命題投注。

讓我們回到 Deal or No Deal 遊戲,它相當於 20 個聖誕老人的情況。我們想知道 0 到 20 個匹配的組合數。

20 位聖誕老人中,m 個匹配項的組合數為 combin(20,m)*z(m),其中 z(m)=m 位聖誕老人中 0 個匹配項的組合數。下表使用該方法計算了 20 位聖誕老人中,0 到 20 個匹配項的組合數。

火柴排列可能性
20 1 0.000000
19 - 0.000000
18 190 0.000000
17 2,280 0.000000
16 43,605 0.000000
15 682,176 0.000000
14 10,271,400 0.000000
十三143,722,080 0.000000
12 1,868,513,010 0.000000
11 22,421,988,160 0.000000
10 246,642,054,516 0.000000
9 2,466,420,377,200 0.000001
8 22,197,783,520,770 0.000009
7 177,582,268,088,640 0.000073
6 1,243,075,876,659,240 0.000511
5 7,458,455,259,939,930 0.003066
4 37,292,276,299,704,500 0.015328
3 149,169,105,198,817,000 0.061313
2 447,507,315,596,451,000 0.183940
1 895,014,631,192,902,000 0.367879
0 895,014,631,192,902,000 0.367879
全部的2,432,902,008,176,640,000 1.000000

如果您將這些機率與我在2023 年 10 月 26 日的新聞通訊中的泊松估計進行比較,您會發現所有人都同意提供的六位小數,這表明泊松函數和數字 e 的有用性。

《衛報》
圖片來源: 衛報

下週,我計劃詳細闡述這個主題,並展示任意數量聖誕老人的排列數的一般公式。