ランダム 数字 ジェネレーター
ブラウザで即座にランダムな数字を生成します。範囲、個数、形式をカスタマイズできます。無料、プライベート、サーバーへのデータ送信なし。
生成
ブラウザで即座にランダムな数字を生成します。範囲、個数、形式をカスタマイズできます。無料、プライベート、サーバーへのデータ送信なし。
生成
乱数ジェネレーターは、予測可能なパターンなしで、指定された範囲内の数値を生成します。一般的なアプリケーションには、サイコロを振る、宝くじの番号を選択する、統計作業のためのサンプリング、テスト データの生成、および公平な選択が必要なあらゆる状況が含まれます。ランダム性の質はソースによって異なります。弱いソースでは、ランダムに見えても検出可能なパターンを持つ数値が生成される可能性があります。強力な情報源は、高度な分析でも予測できません。
このジェネレーターは、セキュリティー関連の用途にはブラウザーの暗号的に安全なランダム ソース (window.crypto.getRandomValues) を使用し、セキュリティーよりも速度が重要なエンターテイメント用途にはオプションの Math.random フォールバックを使用します。サイコロの出目、コンテストのピック、または結果に影響を与えるあらゆるものについては、安全なソースが正しい選択です。
出力範囲と出力数は設定可能です。 1 つの数値、一度に複数の数値、またはオプションで一意性 (重複なし) を持つシーケンスを生成します。出力形式には、単純な数値、カンマ区切りのリスト、および 1 行に 1 つのテキストが含まれます。
多くの小さな決定は、偏りのないランダムな選択から恩恵を受けます。コンテストの勝者を選ぶこと、どのレストランを試すか決定すること、テスト ケースの順序をランダム化すること、データセットから行をサンプリングすることなど、すべては人間の偏見を排除する乱数ジェネレーターによって改善されます。
統計的および科学的な作業も、質の高いランダム性に依存します。モンテカルロ シミュレーション、A/B テスト バケットの割り当て、テスト入力のランダム化、その他多くの手法では、統計的に均一で調査対象のシステムにとって予測できない数値が必要です。
範囲とカウントを設定し、生成します。
ランダムな整数の生成: crypto.getRandomValues からランダムなバイト (またはワード) を取得し、モジュロ バイアスを回避するために拒否サンプリングを適用し、目的の範囲にマッピングします。拒絶サンプリングを行わない単純なモジュロでは、ソースの範囲に均等に分割されていない範囲にわずかなバイアスが生じます。拒絶サンプリングはこれを回避します。
バイアスのない均一な整数の生成: ランダムなバイトを生成します。バイト > フロア(256/範囲) × 範囲の場合、拒否して再試行します。それ以外の場合は、バイト変調範囲を返します。拒否率は平均で最大 50% であるため、アルゴリズムは扱いにくい範囲でも実質的に高速です。
Math.random と crypto.getRandomValues: Math.random は高速ですが、十分な出力があれば予測できる xorshift または同様の PRNG を使用します。 crypto.getRandomValues は暗号的に安全です。セキュリティ以外の用途 (サイコロ、カジュアルピック) の場合は、どちらでも機能します。セキュリティのために暗号を使用してください。