このツールでできること
ジェネレーターは、指定した最小値と最大値の間の整数を抽選します。抽選数、重複の可否、結果をソートするか抽選順のままにするかを選べます。1回の抽選で最大1,000個まで生成できます。
乱数の仕組み
抽選にはcrypto.getRandomValues(ブラウザの暗号論的乱数ジェネレーター)を使い、精度の低いMath.randomは使いません。乱数ビットを範囲に偏りなく割り当てるため、棄却サンプリングを使います。32ビット値を抽選し、一部の数値がわずかに出やすくなる小さな残差領域(剰余バイアス)に入った場合はやり直します。これにより範囲内のすべての数値が完全に等確率になります。
計算例
1〜49の5つの数値を重複なし・ソートありで抽選すると、たとえば4, 17, 23, 31, 45となります。宝くじの抽選と同じ形式で、1,906,884通りの組み合わせはすべて等確率です。
重複のあり・なし
重複なしでは、くじ引きのように母集団が減っていく方式で抽選され、各結果は一意になります。重複ありでは各抽選が独立し、サイコロを振り直すようなものです。範囲に収まる数より多くの固有値を求めた場合、個数は範囲のサイズに制限されます。
注意点
ランダムであることと、あらゆる用途に公平であることは別です。公営くじやギャンブルには認証済みのシステムをお使いください。ゲーム、抽選会、サンプリング、日常の意思決定には、このジェネレーターの乱数で十分です。