信頼

NamesWheelのルーレットは本当にランダム?

NamesWheelはルーレットが動く前に暗号乱数で結果を決めます。このページは契約です。ここでランダムが何を意味し、どう確かめるか。

crypto.getRandomValues が番号を選びます。扇が同じなら確率も同じです。針はその番号を示すだけです。
結果の決め方安全な乱数 → 結果を決める → そこに回す → お祝い
  1. 1安全な乱数
  2. 2結果を決める
  3. 3そこに回す
  4. 4お祝い
ルーレットが回り始める前に結果が決まっている

ルーレットは本当にランダム?

結果の決め方

  1. いま対象のリストを取ります(空行と除外済みは無視)。
  2. crypto.getRandomValues() でインデックスを引きます。ブラウザが安全なトークンに使う系統のAPIです。偏った余りを捨て、「長さで割るだけ」が先頭の扇形を有利にしないようにします。
  3. そのあとで目標角度を計算し、減速アニメーションを再生します。

アニメーションが真実なら、コマ落ちや遅い端末で結果が変わり得ます。変わりません。結果はすでに決まっています。

同じ確率

公平なリストでは、すべての名前の確率が同じです。6名なら約16.7%ずつです。重み付きは意図的に変え、確率は重み÷合計、扇形の大きさも同じ比率です。

6つの等しい扇形、各16.7%

重み付きでも、設定した重みに対しては公平です。合計10のうち重み2なら20%で、隠れた追加抽選はありません。 重み付きルーレット (EN).

ランダム性とアニメーション

ルーレットは進行の見せ方です。余分な回転やイージングで止まりを物理的に見せます。モーション削減でも抽選の質は同じです。ティック音は扇形に合わせるだけで、投票ではありません。

重複

同じ名前が2行あると扇形も2つです。多くは貼り付けミスです。ユニークにしたいときは重複削除を。意図的に2枚なら両方残すと手動の重み2です。

重み付きの確率

重み付きルーレット (EN)では確率は重み ÷ 合計の重みです。扇形の弧も同じ比率なので見た目と計算が一致します。0以下の重みは未使用として扱います。

重複なしの抽選

「当たったあと項目を除く」がオン、または除いてもう一度回すと、その項目は除外されます。次は残りだけから。履歴には出た人が残ります。復元なしの抽出で、新しいRNGではありません。ルーレットくじと生徒指名 (EN)は最初からオンです。

重複は普通のこと

独立した抽選では同じ名前が出ることがあります。不具合ではありません。表は10名での重複確率です。「当たった人を除く」をオンにすると、選ばれた名前が対象から外れるので重複はゼロになります。

同じ名前が出うるとき重複は運。除くをオンにしない限り。
1〜10回での重複確率。「当たった人を除く」オフとオンの比較
10名での、少なくとも1回の重複の確率
回数除く:オフ除く:オン
328.0%0%
569.8%0%
1099.96%0%

空と1件だけのリスト

対象が0なら「回す」は何もしません。1件ならその名前が結果で、乱数の余地はありません。

主張しないこと

  • 得ていない第三者の監査バッジは出しません。
  • マークアップに偽の星評価は使いません。
  • 公開抽選を外部が保証するには、主催者自身のルールと記録が必要です。

全員一度(教室モード)

「全員一度」は制約付き参加です。このラウンドですでに選ばれた名前は一時的に対象外。追加のランダム性の主張ではありません。暗号乱数は残りの対象から選びます。

抽選控えのハッシュ

抽選控えは、版・時刻・結果・回数・モード・順序付きラベルと重みのハッシュなどを正規化した文字列のSHA-256です。手元に残す記録で、改変なしを第三者に証明するものではありません。

使い方

このページは、回転の見た目ではなく、行がどう選ばれるかを説明します。ブラウザは crypto.getRandomValues で番号を取り、残っている行の1つに割り当て、それから扇がその位置へ動きます。

等しい扇は等しい確率です。重みを付けると扇の大きさが変わりますが、選ぶ順番は同じです。先に番号、あとから動きです。

下の試験は、このブラウザで何度も引いて、偏りが見えるかを確認するためのものです。次の1回を約束しません。

設定の説明

crypto.getRandomValues:このブラウザの暗号用の乱数です。サーバーに一覧は送りません。

番号:残っている行の位置です。等しい行なら、各行の確率は残数の逆数です。

等しい扇:見た目の面積と確率を一致させます。

針:すでに選ばれた番号を指すだけです。動きが番号を変えません。

当たった人を除く:出た行が次の残数から落ち、次の確率が変わります。

使いどころ

教室や抽選の前に、方法を見せたいとき。このページを開いて、先に選んでから動くことを読んでください。

重み付きの抽選:重み付きのページへ進み、数字を声に出してから回します。

同じ人が続くとき:除くをオンにすると、残数に対する確率に変わります。このページの表がその差です。

他社のホイールと比べるとき:公開された試験があるかを見てください。

コツと公平さ

遅い動きを「より公平」と呼ばないでください。公平さは、残っている行への番号の割り当てです。

一覧を静かに直してから回す方が、動きそのものより不公平に見えます。直したら、新しい人数を言ってください。

試験の回数を増やしても、次の1回はまだ1回です。長期の割合に近づく、という説明です。

名前ルーレットに戻る

ランダム性を確かめる

自分で確かめる

本番と同じ暗号乱数で、6名のリストを10,000回抽選します。棒は約16.7%付近になります。重い処理は別スレッドなので、ページは使えます。

よくある質問

結果を操作できますか?

アニメーションから操作することはできません。結果は動く前に、ブラウザ内の crypto.getRandomValues で決まります。隠れた重みはありません(重み付きページでは重みが表示されます)。

ランダムだと確かめるには?

このページのボタンで、本番と同じ方式で10,000回の抽選ができます。各名前の回数は近い値になるはずです。