くじ引き・抽選ツール
候補リストからランダムに当選者を抽選。忘年会のビンゴ、プレゼント交換、席順決めなどに。
5件の候補
候補リストからランダムに当選者を抽選。忘年会のビンゴ、プレゼント交換、席順決めなどに。
5件の候補
候補リストからランダムに当選者を選ぶオンラインツールです。紙のくじやあみだくじを準備する手間なく、スマホひとつで公平な抽選を行えます。
忘年会のビンゴ、プレゼント交換の順番決め、席替え、グループ分けなど、「公平にランダムに選びたい」あらゆるシーンで活用できます。
本ツールではFisher-Yatesシャッフルアルゴリズムを使用しています。これは配列の要素をランダムに並べ替えるための標準的なアルゴリズムで、全ての並び順が等確率で出現することが数学的に保証されています。
候補が10人で1人を選ぶ場合、各候補が選ばれる確率は均等に10%です。候補の入力順序が結果に影響することはありません。
N人の中からK人を選ぶ場合、特定の1人が当選する確率はK/Nです。
なお、くじ引きでは「先に引いても後に引いても当選確率は同じ」という性質があります。これは確率論で証明されている事実で、順番による有利不利はありません。
ガチャ確率の数学 — 「3%を33連で当たる確率」は63%しかない理由と天井の意味
「排出率 3% なら 33 連で 1 個出るはず」 ― この感覚、 数学的には外れています。 33 連で当たらない人は 36.6% もいて、 50% の確率に達するには 23 連、 90% には 76 連、 99% には 152 連必要です。 ガチャの確率公式 P=1−(1−p)ⁿ、 期待値、 二項分布、 天井 (pity) の意味、 そして景表法で課徴金になった「3% 表記で実は 0.333%」 事案まで、 全数値を Node.js で再計算しながら整理します。
Fisher-Yates シャッフル — くじ引き・ルーレットを支える 1938 年生まれの「公平な並び替え」アルゴリズム
「配列をランダムに並び替える」コードを書くとき、`arr.sort(() => Math.random() - 0.5)` と書いていませんか? 実はこれは偏ります。1938 年 Fisher & Yates の統計学テーブルから始まり、1964 年 Durstenfeld が線形時間化、1969 年 Knuth が TAOCP で標準化 — 公平なシャッフルの正解アルゴリズムを一次資料で整理します。
Mersenne Twister 1998 — サイコロ・くじ引き・パスワードを支える日本発の世界標準乱数アルゴリズム
Python の random、C++ の <random>、PHP の mt_rand、Excel の RAND、MATLAB / R / Ruby — 世界の主要言語のデフォルト乱数の中核に「メルセンヌ・ツイスタ」(松本眞・西村拓士 1998) があります。周期 2^19937-1、広島大学発の日本発標準アルゴリズムを一次資料で読み解きます。