隨機數字資料:產生器的工作原理與常見問題

隨機數字看起來是電腦能產生的最簡單的東西,卻也是最容易在不知不覺中出錯的東西之一。本部分的文章解釋數字從何而來,可靠的產生器與不可靠的產生器有何區別,以及當結果必須經得起檢驗時——課堂抽籤、有獎活動、測試資料集——應該選用哪種工具。

從何處開始

請閱讀什麼是隨機數字產生器:硬體、偽隨機和密碼學安全產生器,數字為何會重複,以及瀏覽器能提供什麼。當您需要的是數字而不是解釋時,隨機數字產生器可以在您的瀏覽器中按任意範圍抽取數字,可選允許或不允許重複。

產生器在哪裡悄悄出錯

強大的隨機源只完成了一半的工作。另一半是把它的原始值映射到您的範圍內,而許多自製產生器正是在這裡出錯。對範圍大小取模是顯而易見的做法,但會帶來細微的偏差:除非範圍大小能整除隨機源的輸出空間,範圍內最小的那些數字出現得會比其餘數字略多。這一缺陷稱為模偏差(modulo bias)。一種修正方法是拒絕採樣(rejection sampling):丟棄落在不均勻尾部的值,重新抽取。我們的產生器正是這樣做的,因此您範圍內的每個數字在每次抽取中機會都相同。

同樣的道理也排除了人們最先想到的捷徑。Math.random() 對安全性不作任何承諾,試算表函數 RAND() 和 RANDBETWEEN() 也屬於同一類:粗略打亂順序可以,用於任何可能有人質疑的場合則不行。

數字、清單與骰子

隨機數字產生器從您設定的範圍中返回數字。線上隨機抽取工具處理您貼上的清單——名字、參與項目、選項——這樣您就不必手動把數字和行對應起來。桌上遊戲可以用擲骰子工具擲骰並合計點數,二選一時用拋硬幣就夠了。當隨機性要保護某樣東西而不是決定某件事時,請使用強密碼產生器。它們都使用您瀏覽器中同一個密碼學安全的隨機源。

準備好使用該工具了嗎?

直接在您的瀏覽器中體驗完全免費且安全的「隨機數字產生器」工具。

開啟工具