このルーレットは本当にランダムなのか
はい。あまりによく聞かれるので、お見せするためにページを一枚まるごと作りました。下ではあなた自身のトップページの盤を、百万回まわして結果がどこに落ち着くか見られます。
0
これまでのスピン
·
公平からの最大のずれ
スタートを押して、公平なルーレットが本当はどう見えるかを確かめてください。
公平なルーレットが仕組まれて見える理由
どんなに公平なルーレットでも二十回まわせば壊れて見えます。下は八項目の盤を実際にまわしたものです。二十回の時点で、最も運のよかった項目は 4 回出て、最も運の悪かった項目は 1 回しか出ていません。
盤に問題はありませんでした。単にスピンの回数がまだ足りなかっただけです。回し続ければ、同じ盤が同じコードのままひとりでにならされていきます。
差は 120%
差は 40%
差は 8.4%
差は 0.5%
棒は一項目ずつ、破線は均等な分かれ方です。回数が少ないと棒はその線の周りで大きく跳ねます。回数が多いと線に貼りつきます。
何を検定したか
最終実行 2026-09-08五つの検定、それぞれ数百万回のスピン、あなたのルーレットが使っているのと同じコードに対して。どれもルーレットが不公平になりうる別々の道筋を問うています。
どの項目も12回に1回当たっているか
どの項目も自分の取り分の 0.18% 以内に収まった
2項目だけのとき、片側が抜け出さないか
10 百万回のスピンで 50.0% / 50.0%
重み1、2、3、4はその比率どおりに当たるか
10 百万回のスピンで 10.0% / 20.0% / 30.0% / 40.0%
針は当選区画の一部を偏って選んでいないか
どの項目も自分の取り分の 0.28% 以内に収まった
前回の当選は次回について何か語るか
5 百万回のスピンに規則性なし
この種の検定は落ちることしかできず、証明はできません。合格とは、五つの具体的な不公平を探しに行って見つからなかった、という意味です。
当選者の選び方
スピンを押した瞬間、ブラウザはパスワードや決済を守っているのと同じ仕組みで乱数を作ります。その数値が当選者を決めます。
これは盤が動き出す前に起きています。目に見えるのは、すでに決まった結果に向かって盤が進んでいるところです。だからクリックの強さも、場所も、押し続けた長さも結果を変えません。
const randomValues = new Uint32Array(2)
crypto.getRandomValues(randomValues)
const prizeNumber = selectWeightedIndex(
props.segments,
randomValues[0] / 0xFFFFFFFF
)詳しくは、スピンごとに crypto.getRandomValues から32ビットの数値を2つ取り出します。1つ目は累積した重みをたどって当選項目を選びます。2つ目は針を当選区画の10%から90%の間に置き、境界にちょうど止まらないようにします。
さあ、回してみてください。
無料、アカウント不要。証明されるところは、いま見たとおりです。