数値生成

繰り返しの有無にかかわらず、選ばれた最小および最大範囲でランダム整数を生成します。ナンバージェネレーターはブラウザでcrypto.getRandomValuesを使用します。

crypto.getRandomValues() を使用すると、ブラウザでランダムな結果が生成されます。サーバーには何も送信されません。

01 生成ツール

    ナンバージェネレーターは、選択した最小値と最大値内にランダムな整数を抽出し、固定数と繰り返し値を許可または禁止するオプションがあります。返す数値の範囲と数を設定すると、ツールはブラウザ内の暗号学的に公正なランダムソースを使って結果リストを即座に埋めます。

    ランダム整数生成は、くじ引き、宝くじのようなピック、教室での演習、サイコロシミュレーション、そして定義された範囲から公平で予測不可能な数字を求めるあらゆる状況の核です。

    範囲内の乱数を生成する

    Concept diagram: Inputs leads to Generate random numbers in a range leads to ResultInputsGenerate random numbersin a rangeResult
    Generate random numbers in a range.

    最小値、最大値、数を入力すると、最小値と最大値の間の包含範囲から引かれた数の整数を数値生成器で返します。デフォルトは1から100までで5つの値を返します。

    最小値と最大値はどちらも整数でなければならず、最大値は最小値と同じくらい大きく、カウントは1から1、000までの整数でなければなりません。

    インクルーシブバウンドとは、抽選で最大値自体が到達可能であることを意味し、「1から100」とラベル付けされた抽選や宝くじでは重要です。最大値が正確に100に設定され、実際の抽選と一致させるには必ず最大値が設定されます。

    繰り返しを許可するかどうかを選びます

    Concept diagram: Inputs leads to whether repeats are allowed leads to ResultInputswhether repeats areallowedResult
    Choose whether repeats are allowed.

    Yesに固有の設定は置き換えなしで描画します。ジェネレーターは範囲内のすべての整数を生成し、公正なシャッフルアルゴリズムでそのプール全体をシャッフルし、シャッフルされた結果から最初のカウントエントリを返します。要求されたカウントが範囲の総サイズを超えると、生成はエラーで停止し、重複値を静かに生成することはありません。

    Noに固有の設定を使うと、同じ整数が返還されたリスト全体に複数回現れることが可能で、引かれる各値が全範囲から独立した新しいランダムピックとなります。抽選券、席の割り当て、または同じ数値が2回現れるのが問題となる状況にはユニークなYesを使いましょう。同じ範囲の独立した繰り返しのロールにはユニークなNoを使い、例えば複数回のサイコロ投げをシミュレートします。

    サイコロを振るシミュレーションや抽選を実施する

    Concept diagram: Inputs leads to Simulate a die roll or run a raffle leads to ResultInputsSimulate a die roll orrun a raffleResult
    Simulate a die roll or run a raffle.

    単一の六面サイコロ面の場合、最小値を1、最大を6、カウントを1に設定し、Noに一意に設定します。を再生するたびに、1つの独立した面が返されます。

    ダブルが出る可能性のある2つのサイコロについては、ユニーニュをNoに設定し、カウントを2に設定し、両方の位置が同じ1から6の範囲から独立して引くようにします。カウントが2のYesに固有の設定は、ダブルを誤って禁止し、実際のサイコロの挙動とは異なります。

    抽選の場合は、最小値を1、最大をYesに固有のチケット総数に設定し、授与される賞品の数までカウントします。生成器はその異なるチケット番号をシャッフル順で返します。最初にリストされた番号は、賞品がランク付けされていれば第一賞として扱えます。

    ランダム性が公平かどうかを確認しましょう

    Concept diagram: Inputs leads to Verify randomness is fair leads to ResultInputsVerify randomness isfairResult
    Verify the randomness is fair.

    数値はブラウザに組み込まれた暗号的に安全なランダムソースから来ており、バッファをランダムバイトで埋め、リジェクションサンプリングを用いて、レンジサイズがランダムソースの範囲に均等に割れないときに生じる単純なモジュロ方式の微妙なバイアスを回避します。

    この手法は、一般的に使用される標準的で厳密さの低い疑似乱数関数に依存しません。

    生成されたすべての値はブラウザにローカルで留まり、どこにも送信されません。このツールにはシード入力がないため、各プレスは繰り返し可能なシーケンスではなく、完全に新規で再現不能なドローを生成します。

    確率の例を解きながら考えてみましょう

    Process with 3 steps: Enter Work through a probability…; Read the main result; Check the breakdown1Enter Work through aprobability…2Read the main result3Check the breakdown
    Work through a probability example.

    最小1、最大10、3を数え、一意は「Yes」に設定します。プールは10個の整数で構成されています。公平なシャッフルの後、例えば7のような特定の数字は、10のプールのうち3つの位置が埋まっているため、3つの抽選値のどこかに出現する確率が約10個のプールの3つに出ます。

    ユニークをNoに設定すると、3回の抽選は完全に独立するため、7のような特定の値が3回の抽選で現れる期待回数は3 ×(1/10) = 0.3であり、一意な「はい」の場合とは異なり、同じ値が原則的に複数回現れることもあります。

    よくある質問

    範囲内のランダムな数はどうやって生成するのですか?

    最小値と最大値とカウントを設定し、それから生成します。ツールは、暗号的に公平なランダムソースを使って包含範囲からその数の整数を引き出します。

    この文脈で「ユニーク」とはどういう意味ですか?

    一意に「はい」に設定すると、置換なしで引き出しが行われ、結果に繰り返される値が保証されません。一意に「No」に設定すると、各抽算が独立しているため、同じ値を複数回引き出すことができます。

    このツールでサイコロを振る動作をシミュレートできますか?

    はい。最小値を1、最大を6(または面数)に設定し、サイコロの数にカウントし、Noに固有の設定をします。実際のサイコロの出方は独立しており、ダブルのように繰り返し表示されることがあります。

    そのランダムな数字は本当にランダムなのでしょうか?

    数字はブラウザに組み込まれた暗号的に安全なランダムソースを使って引き取られ、距離関連バイアスを避けるためにリジェクションサンプリングが適用されます。これは単純な擬似乱数関数よりも強いランダム性の保証です。

    範囲内よりも多くのユニークな番号を要求したらどうなりますか?

    ジェネレーターは重複値を発明せずエラーを返します。なぜなら、一意な描画は指定された範囲内に存在する値以上に異なる値を返すことはできないからです。

    包括的な境界は重要ですか?

    はい。包含範囲とは最大値自体を引くことができることを意味します。「1 から 100」を走る範囲は、最大値を100に設定しなければならず、99ではなく、最高値は表示されません。

    このツールは生成された数値を保存または送信しますか?

    いいえ。すべての生成はブラウザ内でローカルに行われ、生成された値はどのサーバーにも送られません。

    まとめ

    乱数を生成するとは、最小値、最大値、数を設定し、暗号学的に公平なランダムソースを使って包含範囲からその数の整数を引き出し、繰り返し値を許容または禁止するオプションを持つことを意味します。

    ユニークな抽選は抽選やチケットの割り当てに適し、非ユニークな抽選はサイコロのような独立した繰り返しイベントに適しており、すべての抽選は再現可能なシードなしでブラウザにローカルで残ります。