這個工具的用途
整數均勻分布隨機數產生器會在你設定的範圍(含上下限)內,產生一組均勻分布的隨機整數。所謂「均勻分布」,是指下限到上限之間的每一個整數出現的機率都完全相同。你可以自行決定要產生幾個數字,以及同一個數值是否可以重複出現。這項工具非常適合用來模擬樂透選號、骰子與遊戲擲點、從資料集中抽樣、分配編號(ID)、A/B 測試分組,以及課堂上的統計教學示範。
使用方式
在「起始範圍」欄位輸入下限,在「至」欄位輸入上限(可填入 1 到 100000 之間的任意整數)。在「數量」欄位設定你想產生幾個數字(1 到 100 個)。若要允許重複(即放回抽樣),請選擇「允許」;若要每個結果都不重複(即不放回抽樣),請選擇「不允許」。如果你不小心把上下限填反了,工具會自動幫你對調。
公式解析
範圍 \([\text{lo}, \text{hi}]\) 共包含 \(N = \text{hi} - \text{lo} + 1\) 個相異整數。單次抽取的公式為
$$r = \text{lo} + \left\lfloor U \times N \right\rfloor$$其中 \(U\) 是介於 \([0, 1)\) 之間的均勻隨機實數。將 \(U\) 乘以 \(N\) 再取下高斯函數(向下取整),會得到 \(0\) 到 \(N-1\) 的整數,接著再加上 \(\text{lo}\) 平移到正確的起點。如此可保證每一個候選數值出現的機率恰好為 \(\frac{1}{N}\)。在允許重複的模式下,工具會針對每一個要求的數字獨立重複進行抽取。在不允許重複的模式下,工具會持續抽取並捨棄已經選過的數值,直到收集到要求的相異數字數量為止——因此數量不可超過 \(N\)。
範例說明
範圍 1 到 6、數量 5、允許重複:每次抽取為
$$r = 1 + \left\lfloor U \times 6 \right\rfloor$$效果就像擲一顆六面骰子。可能的結果是 4、1、6、4、2(其中 4 重複出現,這在此模式下是允許的)。若選擇不允許重複,則會得到五個相異數值,例如 3、5、1、6、2。但若想從 1 到 6 中取出 7 個相異數值則無法達成,因為其中只有六個整數可選。
常見問題
為什麼每次得到的結果都不一樣?這個產生器是非確定性的;每次執行都會重新抽取全新的隨機數值,因此結果本來就會不同,這是設計上的特性。
下限和上限可以相同嗎?可以。如果兩者相同,則 \(N = 1\),唯一可能的數值就是該數字本身。
如果我要求的相異數字比實際存在的還多會怎樣?在「不允許」模式下,工具會回報錯誤,因為沒有足夠的相異整數可以滿足你的需求。