亂數是什麼?
亂數(Random Number)指的是在特定範圍內隨機出現的數字,每個數字出現的機會理論上是相等的。亂數在日常生活中有許多實用的應用場景。
偽隨機數 vs 真隨機數
電腦產生的亂數其實分為兩種:
| 類型 | 原理 | 特性 | 適用場合 |
|---|---|---|---|
| 偽隨機數 | 數學公式計算 | 可重現、速度快 | 模擬、遊戲、抽籤 |
| 真隨機數 | 物理現象取樣 | 不可預測 | 密碼學、資安、正式抽獎 |
本工具使用偽隨機數演算法,相同的輸入參數會產生相同的結果。每次調整任何一個參數,都會產生不同的數字組合。
常見應用場景
日常抽籤
生活中經常需要做隨機決定:
- 午餐決定器:列出 5 間餐廳,產生 1-5 的亂數
- 值日排序:產生 1-30 的亂數來決定順序
- 遊戲先手:2 人遊戲產生 1 或 2 決定先後
- 歌曲點播:從播放清單中隨機選曲
班級分組
老師分組時可以利用亂數:
- 假設 30 位同學分成 5 組
- 為每位同學產生 1-5 的亂數
- 同一數字的同學為同一組
抽獎與彩券
- 尾牙抽獎:設定員工編號範圍,產生中獎號碼
- 社區活動:隨機抽取參加者序號
- 統一發票對獎:雖然用不到亂數,但發票中獎號碼就是用亂數決定的
亂數的數學原理
線性同餘法 (LCG)
本工具使用的演算法稱為線性同餘法(Linear Congruential Generator),是電腦科學中最經典的偽隨機數演算法之一:
X(n+1) = (a x X(n) + c) mod m
其中:
- X(n):目前的亂數
- a:乘數
- c:增量
- m:模數
- X(0):種子值(seed)
只要 seed 相同,產生的數列就完全一樣。這就是為什麼叫「偽」隨機——它是確定性的。
均勻分布
理想的亂數產生器應該讓每個數字出現的機率相等。在 1-100 的範圍內:
- 每個數字出現的機率 = 1/100 = 1%
- 產生 1000 個亂數,每個數字約出現 10 次
- 偶數和奇數各約佔 50%
- 前半段(1-50)和後半段(51-100)各約佔 50%
產生越多亂數,分布越趨近均勻,這就是大數法則。
進階隨機應用
蒙地卡羅方法
蒙地卡羅方法(Monte Carlo Method)利用大量亂數來解決計算問題。經典例子是用亂數計算圓周率:
- 在一個正方形內隨機撒點
- 計算落在內切圓內的點數比例
- 比例 × 4 ≈ π
撒的點越多,結果越接近 π = 3.14159…
密碼產生
安全的密碼應該具有隨機性。雖然本工具產生的是偽隨機數,但可以作為密碼設定的靈感:
- 產生幾個隨機數字作為密碼的一部分
- 搭配大小寫字母和特殊符號
- 密碼長度建議 12 字元以上
統計抽樣
研究者常用亂數進行隨機抽樣:
- 簡單隨機抽樣:從母群中隨機抽取樣本
- 系統抽樣:先隨機決定起始點,再等間隔抽取
- 分層抽樣:各層內分別隨機抽取
生活中的隨機現象
很多看似隨機的現象,其實有其規律:
- 骰子:每面出現機率 1/6,但物理骰子可能有微小偏差
- 硬幣:正反面各 50%,但有研究顯示輕微偏向原始面
- 樂透號碼:每個號碼機率相等,但人們常選「幸運數字」
- 天氣:看似隨機,但遵循混沌理論的確定性方程式
本工具適用於日常非正式的隨機選擇。正式抽獎活動請使用經過認證的抽獎系統。相同的參數設定會產生相同的結果。