歡迎光臨
每天分享高質量文章

彩票的數學知識

(點選上方公眾號,可快速關註)


來源:阮一峰的網路日誌

ruanyifeng.com/blog/2018/04/lottery-mathematics.html

彩票怎樣才能中獎?

理論上,只能靠運氣。但是,如果規則設計得不好,就可以鑽漏洞。

2005 年 2 月,美國的一個彩票品種,就出現了漏洞,被麻省理工學院的學生髮現了。隨後的七年,這個學生反覆購買這個品種,一共賺到了 300 萬美元。

本文介紹他怎麼做的,以及其中的數學原理。我依據的材料,主要來自數學教授 Jordan Ellenberg 在斯坦福大學的一次演講。

一、期望值

彩票最重要的數學概念,叫做 “期望值”(expected value),即同一種行為多次重覆以後,所能得到的平均收益。

舉例來說,如果每次抽獎需要 2 元,假設 200 次抽獎可以中獎一次,獎金為 300 元。那麼,你花了 2000 元,一共抽獎 1000 次,中獎了 5 次,獎金為 1500 元。

也就是說,1000 次抽獎的總收益是 1500 元,每次的平均收益是 1.5 元,這就是期望值。它的計算公式如下。

期望值 = 300 * (1 / 200) + 0 * (199 / 200) = 1.5

期望值是 1.5 元,但是每次抽獎成本 2 元,於是凈虧損 0.5 元。

一看就知道,這個事情是不划算的,做得越多,越不划算。偶爾買一次彩票,倒也算了;如果你一天到晚不斷買彩票,就肯定會虧很多錢(上例是每 200 次虧 100 元)。

總之,期望值是衡量彩票收益的一個關鍵指標。

二、馬薩諸塞州的 WinFall 彩票

美國馬薩諸塞州有一個彩票品種,叫做 WinFall。它的規則很簡單:1 到 48 裡面,你猜 6 個數字,猜中就有獎。

  • 四等獎(6 個猜中 2 個):獎金 2 元

  • 三等獎(6 個猜中 3 個):獎金 5 元

  • 二等獎(6 個猜中 4 個):獎金 150 元

  • 一等獎(6 個猜中 5 個):獎金 4000 元

  • 特等獎(6 個猜中 6 個):獎金池剩餘的全部獎金

有一期,一共賣出了 930 萬張彩票,其中特等獎一個,獎金 100 萬美元,一等獎 238 個,二等獎 11625 個,三等獎 19.8 萬個,四等獎 136.8 萬個。

計算可知,這種彩票的期望值是 0.798 元。

期望值 = 
  100 萬 * (1 / 930 萬) + 
  4000 * (238 / 930 萬) + 
  150 * (11625 / 930 萬) + 
  5 * (19.8 萬 / 930 萬) + 
  2 * (136.8 萬 / 930 萬) 
  = 0.798

每張彩票的價格是 2 元,可是平均收益只有 0.798 元,連一半都不到,可見這種彩票是非常不划算的。因此沒有吸引力,購買這種彩票的民眾不斷減少。

州政府很著急,因為政府從彩票抽成 20%(每張 0.4 元)。如果銷售量減少,政府的收益也會減少。於是,政府為了增加這種彩票的吸引力,決定修改彩票規則。

三、新規則

新的規則是,如果當期沒有特等獎(沒人猜中6個數字),那麼獎金會分配給一等獎、二等獎、三等獎的得主,各獎項新的中獎金額如下。

  • 一等獎(6 中 5):50000 元

  • 二等獎(6 中 4):2385 元

  • 三等獎(6 中 3):60 元

還是使用前面的中獎率,計算期望值。

期望值 = 
  50000 * (238 / 930 萬) + 
  2385 * (11625 / 930 萬) + 
  60 * (19.8 萬 / 930 萬) + 
  = 5.53

每張彩票的價格還是 2 元,但是期望值變成了 5.53 元。購買這種彩票就變得非常划算,大量購買的話, 可以得到 2.5 倍的收益。之所以期望值大於彩票的成本,是因為獎金池還包含前期剩餘的獎金。

麻省理工學院的一個學生,發現了這一點。他湊了 5000 元購買彩票,結果中了將近 15000 元!

四、如何選擇號碼?

現在我們知道,新規則的彩票是有利可圖的,可以大量購買。但是,還有一個問題,應該怎麼選擇號碼,才能保證收益?也就是說,48 個號碼裡面,你應該選擇哪 6 個號碼,才能收益最大化?

畢竟你不能購買所有彩票,因為彩票的收益來自沒中獎的那些人。你只能購買一部分彩票,設法使得自己購買的號碼有最大的中獎可能。

為了簡化思考,讓我們考慮一種簡單的情況。1 到 7 裡面猜三個數字,獎金如下。

  • 猜中 3 個:獎金 6 元

  • 猜中 2 個:獎金 2 元

  • 猜中 1 個:無獎金

你可以同時選擇七種組合(即購買七張彩票),請問應該如何選擇號碼?

五、組合數公式

首先,讓我們考慮一下,1 到 7 這七個數字裡面,三個數字的組合一共有多少種?這在數學裡面,叫做組合數公式。

組合數公式是指從 m 個不同元素中,取出 n(n ≤ m)個元素的所有組合的個數,用符號 c(m, n) 表示。

它的計算公式如下。

c(m, n) = m! / n! * (m – n)!

上面公式中,感嘆號表示階乘,比如 4! 等於 4 * 3 * 2 * 1 。

按照上面的定義,七個數字裡面的三個號碼的組合,共有 c(7, 3)個。

c(7, 3) = 7! / 3! * (7 – 3)! = 35

這就是說,三個數字的組合共有 35 種。我們可以把它們全部列出來。

123 124 125 126 127 
134 135 136 137 
145 146 147 
156 157 
167 
234 235 236 237 
245 246 247 
256 257 
267 
345 346 347 
356 357 
367 
456 457 
467 
567

上面是所有 35 種可能的組合,你必須從中選出 7 種。請問應該選擇哪七種?

六、最佳組合

答案是下麵這七種組合。

123 145 167 247 256 346 357

這七張彩票能讓你的收益最大化。因為,不管最後的中獎號碼是什麼,它們可以保證你總是獲得 6 元獎金。如果中獎號碼是 123,那麼你拿到頭獎 6 元;如果中獎號碼是 367,那麼 167、346、357 這三張彩票各自猜中兩個號碼,你中了三個小獎,獎金總額也是 6 元。

仔細觀察這七張彩票,你會發現它們是精心選擇的:每個數字都正好出現三次。這導致你要麼中一個大獎,要麼中三個小獎。

七、幾何選擇法

這七張彩票是怎麼選出的呢?

有一種幾何方法,可以非常簡單地做到這一點。七個號碼就是七個點,把它們用直線連起來,每根線上只能有三個點,而每個點出現在三根線上。畫成上面的形狀,就得到了七根線(內部的圓也算一根線)。然後,記錄一下每根線上的號碼,很簡單就選出了七張彩票。

更嚴謹的證明是這樣的:1 到 7 這七個數字,共有 21 種兩個數字的組合( C(7, 2)),這意味著只要把這 21 種組合都買全了,就可以保證中三個小獎。因為三個中獎號碼裡面,共有三種兩個數字的組合(比如中獎號碼是 367,那麼 36、37、67 都可以中小獎)。另一方面,由於每張彩票包含三個號碼,即包含三種兩個數字的組合,那麼最少只要買 7 張彩票就能改寫全部 21 種組合。

八、實際的策略

回到前面的問題,馬薩諸塞州的彩票應該怎麼買?

6 個號碼只要猜中 4 個,就可以中二等獎,只要把所有四個號碼的組合都買了,就可以確保中 15 個二等獎(6 個中獎號碼共有 15 個四個號碼的組合 C(6, 4))。

48 個號碼裡面共有 194580 種四個號碼的組合( C(48, 4)),既然一張彩票包含 15 種組合,那麼最少購買 12972 張彩票就夠了( 194580 / 15 = 12972),就可以包含所有四個號碼的組合。如果有興趣的話,你可以寫一個程式,算出包含這 194580 種組合的所有彩票。

購買 12972 張彩票,需要 25944 元( 12972 * 2)。根據前面的獎金額,二等獎的獎金是 2385 元,那麼 15 個二等獎就是 35775 元( 2385 * 15)。因此,投入 25944 元,可以無風險地獲得 35775 元。當然,這種回報率的前提是,當期沒人猜中特等獎,否則獎金就會被大大稀釋。


覺得本文有幫助?請分享給更多人

關註「演演算法愛好者」,修煉程式設計內功

贊(0)

分享創造快樂