圖/樹下繪本
圖/樹下繪本
文/檸檬
今年台北市立動物園過111歲生日啦!為了慶祝這個特別的「111」周年,園方推出神祕活動。其中一項符合活動的是:只要你的身分證字號或生日裡有3個「1」,就有機會換到限量小禮物。那麼問題來了,要在身分證號裡找到3個「1」,到底有多難?這一次,讓我們不靠運氣,靠數學。
我們先看看「身分證號」的構造:共有10個碼,第一個是英文字母,後面接9個數字。第二碼是性別碼,男生是「1」,女生是「2」。接下來第三到第九碼是所謂「流水號」,可以視為隨機的8個數字。第十碼則是「檢查碼」,用來驗證身分證號是否有效,不是完全隨機,但在我們做估算時,暫時可以把它當作一個普通數字來看。
這樣我們就可以將問題轉化成:「在這9個數字裡,出現3個或以上的『1』機率是多少?」
二項分布 重複計算
男生的第二碼固定是「1」。接下來只要在剩下8個數字裡再出現兩個「1」,就能達標。每一位出現「1」的機率是10%。這就是數學裡的「二項分布」,一件事成功的機率固定(像每個數字出現1的機率是0.1),重複做很多次(像8個數字位置),問「成功幾次」的機率是多少。
如果要算「至少兩次成功」,做法是把「0次成功」與「1次成功」的情況扣掉。
也就是:機率=1-〔出現0個1的機率+出現1個1的機率〕
把8個數字代進去後,算出來大約是0.187,也就是18.7%。換句話說,男生有將近1/5的機會能集滿3個「1」。
女生的第二碼是「2」,沒有先天的「1」,所以要在8個數字裡出現3個以上的「1」。同樣方法計算,要扣掉「0、1、2 次」的情況,結果約為0.038,也就是3.8%。
把男女兩種情況綜合起來,全體人口平均約11.25%。換句話說,每100個人裡,大概有11或12個人的身分證號裡藏著3個「1」。
這個估算當然有些簡化。第十碼檢查碼是根據前九碼算出來的,並非完全隨機,而且各地發號規則也略有差異。雖然我們為了計算方便,第三到第十碼視為隨機,但這些小小的簡化,並不會讓最終的11.25%結論差太多。所以,我們可以相信這個數字是相當接近真實情況的。推理下來,全台2300萬人中,約有250萬人符合條件,難怪動物園只開放前111位兌換,不然可能造成全台大轟動。
電腦模擬 快速推算
如果這些算式讓你頭有點暈,也別怕。現在我們有更聰明的做法,請電腦來幫忙,寫個簡單程式,隨機生成上億個身分證號,再統計有多少筆「出現3個1」。這叫「電腦模擬」或「蒙地卡羅方法」,算式再複雜,電腦也能在幾秒鐘內搞定。
這種方法不只用來算活動機率,還能應用在金融風險分析、醫學統計,甚至氣候模擬。數學告訴我們「原理」,電腦幫我們「驗證」。兩者搭配起來,才是現代世界最強大的組合。