ランダム数値ジェネレーター
重複や小数点のオプション付きで、指定された範囲内のランダムな数値を生成します。
最小値
最大値
生成数
重複を許可
小数点を含む
生成された数値がここに表示されます
ランダム数値ジェネレーター の使い方
- 1
範囲を設定する
ランダムな数値が収まる範囲を定めるため、最小値 (Minimum) と最大値 (Maximum) を入力します。
- 2
数量とオプションを選ぶ
生成する数を設定し、「Allow Duplicates」を切り替え、小数が必要なら「Include Decimal Places」を有効にします。
- 3
数値を生成する
「Generate Numbers」をクリックすると、選んだ範囲内のランダムな値が即座に生成されます。
- 4
結果をコピーする
「Copy Numbers」で出力を保存するか、「Clear」をクリックして新しい設定で最初からやり直します。
ランダムな数値を正しく生成する方法
両端を含む範囲とは
このジェネレーターは両端を含む範囲(inclusive range)を採用しており、最小値と最大値の両方が実際に結果として現れる可能性があります。範囲を1から6に設定すると、サイコロを振るのとまったく同じように、1から6までのすべての数値が出現し得ます。上限の値が決して出てこないといった、隠れたオフバイワン(off-by-one)の問題はありません。
範囲が両端を含むかどうかを把握しておくことは重要です。というのも、多くのプログラミング言語では上限値をデフォルトで「含まない(exclusive)」ものとして扱うからです。このツールの結果をコードに反映する際は、ここでの1から100の抽選がスクリプトの想定する境界と一致するよう、使用している言語の慣習をよく確認してください。
一様分布と公平性
ここで生成される数値は一様分布から抽出されます。つまり、範囲内のすべての値が抽選ごとに等しい確率で選ばれるということです。1から10の範囲であれば、各数値が10分の1の確率を持ち、中央や端に偏ることはありません。この偏りのなさこそが、抽選、くじ引き、運任せのゲームにおいて出力を公平なものにしています。
よくある誤解は、ランダム性は滑らかに見えるはずだというものです。そのため、7, 7, 4, 7 のような並びが出ると、人はそれを疑ってしまいます。しかし、真に一様なランダム性には記憶がありません。過去の結果が未来の結果に影響を与えることは決してなく、同じ数値が短く連続するのは偏りの兆候ではなく、むしろ当然予想されることなのです。
復元抽出と非復元抽出
「Allow Duplicates」オプションは、復元抽出と非復元抽出のどちらを行うかを選ぶものです。重複を許可すると、各抽選は独立しており、同じ数値が繰り返し現れることがあります。これはサイコロを何度も振ったり、コインを何度も投げたりする状況を再現します。重複をオフにすると、すべての結果が異なる値になります。これは番号の付いたボールを引いて、引いたものを戻さない場合と同じです。
一意モードは、宝くじ形式の抽出、座席番号の割り当て、1枚のチケットが2回当選してはならない当選者の選出などに使います。一方、重複ありモードは、独立して繰り返せる試行こそが本質となるシミュレーションやゲームに使います。
数量の警告が表示される理由
重複を無効にしている場合、範囲に含まれる数よりも多くの一意の数値を引くことはできません。1から10の間で20個の異なる値を求めるのは、10個しか存在しないため不可能です。そのためツールは、無限にループしたり、何も告げずに少ない結果を返したりするのではなく、処理を止めて「invalid quantity」メッセージを表示します。
この警告を解消するには、要求した数以上の整数が収まるように範囲を広げるか、収まるように数量を減らすか、あるいは目的上重複が許容できるのであれば「Allow Duplicates」を再びオンにします。
ランダムな小数と精度
整数ではなく小数を生成するには「Include Decimal Places」を有効にし、小数点以下に何桁欲しいかを設定します。これは、サンプルの価格、センサーの測定値のようなデータ、重量、確率など、整数ではなく連続的に見えるべきテストデータを生成するのに便利です。
小数点以下の桁数が増えるほど、取り得る値の数は格段に多くなり、重複はほとんど起こらなくなって、出力はより現実味を帯びることを覚えておいてください。モデル化しようとしている実際の量に合った精度を選びましょう。通貨なら2桁、科学的な測定値のようなものであれば4桁か5桁といった具合です。
擬似乱数と真の乱数
このツールは、ブラウザに内蔵された擬似乱数生成器に依存しています。擬似乱数生成器は、予測不可能な初期値をシード(seed)として決定論的な計算式を実行し、ランダム性の統計的検定に合格する数列を生成します。これはゲーム、サンプリング、シャッフル、シミュレーションに最適です。
一方、真の乱数は、大気の揺らぎや熱雑音といった物理的なノイズから取り出され、原理的にすら再現できません。この実用上の違いが問題になるのは、暗号や賞金の高い宝くじに限られます。このツールが対象とする日常的な作業においては、よくできた擬似乱数は本物と見分けがつきません。
日常での活用例
ランダムな数値は、目立たないところで実に幅広い作業を支えています。教師は座席番号で生徒を指名し、管理者は雑務やプレゼンの順番を割り当て、ゲーマーは失くしたサイコロの代わりに使ったり戦利品を生成したりします。研究者は、調査が答えやすい回答者に偏らないよう、母集団からランダムなサンプルを選ぶのにこれを使います。
統計的なサンプリングでは、非復元(重複なし)モードが役立ちます。リストのすべての項目に番号を振り、その範囲内で必要な数だけ一意の数値を生成し、それに対応する項目を選びます。こうして得られるのは、好みではなく完全に偶然によって選ばれた、偏りのないサンプルです。
よくある質問
特定の範囲内でランダムな数値を生成できますか?
「Allow Duplicates」オプションは何をしますか?
整数ではなく小数を生成できますか?
「invalid quantity」メッセージが時々出るのはなぜですか?
数値は本当にランダムですか?ツールは無料ですか?
関連ツール
こちらの便利なツールもどうぞ