ランダム名前抽選
計算結果
選ばれた名前
- リスト内の名前の数
- 8
- ある名前が選ばれる確率
- 37.50%
ランダム名前抽選は、貼り付けた名簿から重複なしで名前を引き、同じシードで何度実行しても同じ結果を返します。名簿を貼り、1行に1つ、またはセミコロンやカンマで区切って、何名引くかを指定すると、このページはその数の異なる名前と、名簿の大きさ、そしてそれぞれの名前が引かれる確率を返します。福引き、景品の抽選、登壇の順番、席順、当番の割り振りの仕組みがこれで、名簿が入力、抽選が出力、そしてその横の数が、起きたことを主張するのではなく説明できるようにします。2つの性質ははっきり書いておく価値があります。抽選は非復元で、1回の結果に同じ名前が2度現れることはなく、どの名前も同じ確率です。引く数割る名簿の大きさなので、8人から3人引くと各名前は37.5%になります。そして結果は再現でき、だから公開した抽選は主張ではなく検証できるものになるのです。
公式
名前が引かれる確率 = drawCount / nameCount · 抽選はシード付きのシャッフルで、先頭のdrawCount個の名前を取ります
- nameCount
- 分割したあとに名簿が持つ名前の数です。区切りは改行、セミコロン、カンマで、空白は区切りではありません。だから空白を含む名前は1つの項目のままで、空白で打った番号付きの名簿は1つの名前に潰れてしまいます
- drawCount
- 取り出す名前の数です。抽選が非復元なので名簿の大きさを超えられません。3人の名簿から4人取るのは、起こりにくい結果ではなく実行できない要求です
- seed
- 生成器の開始状態で、4,294,967,295までです。同じ名簿、同じ数、同じシードはいつも同じ名前を返し、だから公開した結果を再実行して確かめられます。シードを変えれば抽選全体が変わります
- drawCount / nameCount
- ある特定の名前が1つ出てくる確率です。1回の抽選についての約束ではありません。37.5%の名前が10回続けて外れることもありますが、独立な抽選を数多く重ねると、その名前が出てくる割合はこの値に近づきます
- picked
- 引かれた名前を、抽選が生んだ順にカンマで区切ったものです。順序は見せ方の都合ではなく出力の一部です。同じシードは同じ順序を再現するので、登壇の順番や通し番号の一覧にも使えます
見える形で説明のつく抽選が必要で、公平さをあとから確かめられなければならないときに使います。当選者を決めるとき、順番を決めるとき、作業を割り当てるとき、いくつかの選択肢から1つを選ぶときです。シードがこれを不透明なランダムボタンと分かつものです。シードを結果と一緒に公開すれば誰でも同じ抽選を再現できるので、選び方が公平だったかという争いは信頼ではなく算術の問題になります。設定を選ぶときに覚えておくことが2つあります。部分集合ではなく完全な順序が目的なら名簿全体を引いてください。すべての名前を引くことはシャッフルと同じで、出力がそのまま順番の一覧になります。そして抽選を信じる前に、このページが名簿を何項目だと認識しているかを確かめてください。結果の横に出る数が実際に解析された項目数で、区切りが思ったとおりに分割されなかったことに気づく最短の道です。
計算例
8人から3人を引く場合
- 名簿はセミコロンで8つの項目に分割される
- シード付きの抽選がそのうち3つを非復元で取る:6、次に1、次に5
- どの名前も最初は同じ確率で、3 / 8 = 0.375なので37.5%
- シード1で同じ抽選をもう一度実行すると、同じ3つの名前が同じ順で返る
ここで最初に見るべきは3つの名前ではなく8という数です。このページが実際に何項目を解析したかを告げる数で、名簿が意図どおりに分割されたかを確かめる最短の道です。黙って1項目になった名簿でも、自信ありげな結果は出てしまいます。37.5%は名前1つ1つについての確率で、累計ではありません。8人分を足すと300%になりますが、それは3人を引いていて、それぞれの抽選が名簿への別々の要求だからです。
空白を含む名前の場合
- それぞれの名前が1行に1つなので、名簿は4項目で、8項目ではない
- 抽選は4つのうち2つを取る:Mary JaneとPeter Parker
- 各名前の確率は2 / 4 = 50%
- 同じ4人をJohn Smith; Mary Jane; Peter Parker; Bruce Wayneと書いても結果はまったく同じ
8項目ではなく4項目というのが要点です。このページでは空白が名前を区切りません。実際の名前のほとんどが空白を含むからです。区切るのはセミコロンか改行で、どちらの形でも同じシードから同じ抽選が出ます。結果の横の数が貼り付けた人数より大きくなったら、名簿が細かく分割されすぎています。姓名の順で書いた名前の中のカンマを区切りに使ったときに起こります。
名簿全体を引く場合
- 8つの名前を8つの名簿から非復元で引く
- どの名前もちょうど1度ずつ出なければならないので、結果は名簿全体を並べ直したものになる
- ある名前の確率は8 / 8 = 100%で、これが全部を引くときの正直な読み方
- 出力の順序が抽選の順序なので、これはシャッフルも兼ねる
100%という確率は、問いをよく読むまでは誤りに見えます。すべての名前を引くときに、ある名前が引かれる確率のことで、その名前が順序のどこに来るかについては何も言っていません。部分集合ではなく並べ替えた順番が欲しいときの設定です。同じ出力が両方の用途を兼ね、順序はこのページのほかのすべてと同じくシードから再現できます。
空白で打った数字が1つの名前として読まれる場合
- このページでは空白が区切りではないので、名簿はちょうど1項目になる
- 1つの名簿から1つ引くと、そのまま返る
- 確率は1 / 1 = 100%
- 同じ名簿をセミコロンで書き直すと8項目になり、意図した抽選になる
空白の規則が牙をむくときの姿です。空白で打った8つの数字は1つの名前なので、抽選はその1項目を返し、数は1、確率は100%と報告します。パネルのどこも壊れて見えないので、結果の横の数は毎回ちらりと見る価値があります。直し方は空白以外の区切り、つまり1; 2; 3; 4; 5; 6; 7; 8にするか1行に1つにするかです。
適用限界
結果を大事なことに使う前に知っておく価値のある実際的な限界が3つあります。名簿は200名までで、抽選は名簿にある数までしか引けません。空白は決して名前を区切りません。本物の名前が空白を含むからで、区切りは改行、セミコロン、カンマです。だから姓を先に書いた名前の中のカンマはそれを2つに割ってしまい、その警告になるのは結果の横の数だけです。シードは安全性のための仕掛けではなく再現性のための仕掛けです。その裏にある生成器は、この種のページにふさわしい小さく速く完全に決定的なもので、朝会の順番や当番表を決めるにはまったく十分ですが、実際にお金がかかる抽選には向きません。シードとアルゴリズムを知っている人が結果を事前に割り出せてしまうからで、そこでは検証できる公開された乱数源が正しい道具です。最後に、確率は予定表ではありません。名簿のどの名前も引かれる確率は同じですが、8分の1の確率は8回に1回その名前が出るという意味ではなく、独立な抽選を非常に長く続けたときにその割合が8分の1に近づくという意味です。それは長期についての記述であって、次の1回についてのものではありません。
よくある質問
- この抽選は本当にランダムですか、特定の名前が有利になったりしませんか
- 名簿のどの名前も同じ確率で、このページは重複なくしか引きませんので、1回の結果に同じ名前が2度出ることはありません。確かめられるのは結果の横の数です。このページが解析した項目数を報告するので、その数が貼り付けた人数と合わなければ、名簿は意図とは違う形に分割されていて、抽選は間違った集合の上で公平に行われています。隠れた偏りよりも、これが抽選がおかしく見えるいつもの理由です。だから名簿を1行に1つ貼るのが最も安全な習慣なのです。
- 同じシードが同じ名前を返すのはなぜですか
- 生成器が決定的だからです。シードが開始状態を決め、そこから先の並びは固定されます。これは制限ではなく利点で、公平さについての主張を誰でも検証できるものに変えます。名簿と引く数とシードを共有すれば、どんな端末でも、どんな言語でも、記録を残さずに同じ結果が返ります。別のシードはまったく別の抽選を生むので、名簿を変えずに新しい結果が欲しいときはその1つの数を変えてください。同じ決定性が、結果を事前に知って動けるような賭け事にこれが向かない理由でもあります。
- 8分の1の確率とは、8回に1回その名前が出るという意味ですか
- いいえ、これがどんな確率についても最もよくある誤読です。8分の1の確率とは、独立な抽選を非常に長く続けたときにその名前を含む回の割合が8分の1のあたりに落ち着くという意味ですが、特定の何回かの抽選では何度も続けて外れることも、2回続けて出ることもあります。8回では平均がものを言うにはまったく足りません。それでもこの数は役に立ちます。2つの名前を比べられるようにし、8人から4人引けばどの名前も50%になると教えてくれるからです。ただしそれは長期についての記述であって、予定表ではありません。
- 数字の一覧が1つの名前として読まれたのはなぜですか
- このページでは空白が名前を区切らないからです。実際の名前のほとんどが空白を含むので、それを区切りとして扱うとJohn Smithが2つに割れてしまい、名前を壊さない規則が1 2 3 4 5 6 7 8を1項目に潰す規則でもあります。結果の横の数がそれを示します。8ではなく1と出て、確率は100%と出ます。直し方は空白以外の区切り、つまりセミコロン、カンマ、1行に1つで、どれでも同じシードから同じ抽選になります。
- 同じ名前が2回引かれることはありますか
- 1回の抽選ではありません。名前は選ばれるたびに名簿から取り出されるので、どの結果も異なる名前の集合になります。福引きや登壇の順番が求めているのはそれで、同じ人を2度読み上げたら驚きではなく不具合です。知っておくべき帰結が1つあります。引く数は名簿の大きさを超えられません。3人の名簿から4人を求めると、実行できない手順を記述したことになり、このページは黙って3人を返す代わりにそう告げます。名簿にある数だけ引けば、結果は名簿全体を並べ直したものになります。
- このページに抽選例の表や一覧がないのはなぜですか
- 結果が、貼り付けた名前と選んだ数に完全に依存し、表はそのどちらも見られないからです。印刷された抽選例はどこか別の名簿の結果で、それが上のパネルと食い違ったときにはパネルのほうが正しいのです。自分と口論するページは、何も余分に載っていないページより悪いものです。パネルがすでに答えで、その横の2つの数がここで表にする価値のある唯一の一般的な事実です。名簿が実際に何項目あるか、そしてそれぞれの名前が引かれる確率がどれだけあったかです。
参考文献
- Math.random() — JavaScriptリファレンス:シードの引数を持たない組み込みの生成器と、暗号学的に安全ではないという明示的な警告 — MDN Web Docs (Mozilla)
- 用語(Introductory Statistics 2e, §3.1)— 大数の法則:公正なコインの表の相対度数は、投げる回数が増えるにつれて2分の1に近づきます — OpenStax(ライス大学)
- 1.3.6.1. What is a Probability Distribution — e-Handbook of Statistical Methods:確率の度数としての読み方。8分の1の確率という言い方が何についての主張なのか — National Institute of Standards and Technology (NIST)