あみだくじが向いている場面
参加者の人数分の結果(当たり、はずれ、罰ゲーム、順番など)を、重複なく一人に一つずつ割り当てたいときの方法です。 コーヒー代を一人だけが負担する賭けでも、発表順を1番からN番まですべて違う値で決める場合でも、同じ仕組みで処理できます。 このツールは入力した名前と結果であみだを描き、名前を押すと上から下への経路を示します。入力内容はサーバーに送信せず、 ブラウザにも保存しないので、再読み込みするとすべて消えます。
あみだが必ず一対一で対応する理由
横線は隣り合う2本の縦線をつなぎ、渡った人は2本の縦線の位置を入れ替えます。横線一本を「隣同士の席替え」と考えてください。 入れ替えは、もう一度入れ替えれば元に戻せる操作です。したがって何回入れ替えても元に戻せるため、別々の二人が同じ場所に着くことも、 どこかが空くこともありません。数学の言葉では、横線すべてを合成した結果が順列(全単射)になる、と言います。 この性質を守る条件は、同じ高さの横線が縦線を共有しないことです。このツールは左から順に横線を置き、置いたら次の縦線を一つ飛ばします。
もう一つ知られた性質があります。横線一本は入れ替え一回なので、横線の総数が偶数なら最終的な並びは偶順列、奇数なら奇順列になります。 そのため、全員が自分の縦線の真下に着く結果は横線が偶数本のときにはあり得ても、奇数本のときには起こりません。
人数ごとの割り当ての数
| 参加者数 | 1行に横線を置ける場所 | 割り当ての総数(n!) |
|---|---|---|
| 2人 | 1か所 | 2通り |
| 3人 | 2か所 | 6通り |
| 4人 | 3か所 | 24通り |
| 5人 | 4か所 | 120通り |
| 6人 | 5か所 | 720通り |
| 7人 | 6か所 | 5,040通り |
| 8人 | 7か所 | 40,320通り |
8人なら、全員が別々の結果を受け取る方法は40,320通りあります。あみだは、その中の一つを目に見える形で選ぶ仕掛けです。
例1: 4人・横線8本の経路を実際にたどる
左から0〜3番の縦線にたろう、はなこ、けんじ、ゆきが立ち、下の結果欄は左から皿洗い、パス、パス、コーヒーです。横線は8本で、 ツールと同じ規則で経路を追跡しました。表の数字は、1行下るごとに立っている縦線の番号です。
| 名前 | 各行での位置(上→下) | 到着欄 | 結果 |
|---|---|---|---|
| たろう | 0 → 1 → 2 → 2 → 3 → 3 → 3 → 2 → 1 | 1番 | パス |
| はなこ | 1 → 0 → 0 → 0 → 1 → 2 → 2 → 3 → 3 | 3番 | コーヒー |
| けんじ | 2 → 2 → 1 → 1 → 0 → 0 → 1 → 1 → 2 | 2番 | パス |
| ゆき | 3 → 3 → 3 → 3 → 2 → 1 → 0 → 0 → 0 | 0番 | 皿洗い |
到着欄は1、3、2、0番で重複がないので、一対一の対応が確認できます。 横線8本は偶数で、全体の配置(0番は1番へ、1番は3番へ、3番は0番へ、2番はそのまま)は3人が順繰りに入れ替わる偶順列なので、 前述の性質とも合っています。
例2: 横線3本で3人の順番が逆転する場合
3本の縦線に、左・右・左の順で横線をたった3本置くだけで、0番は2番、1番は1番、2番は0番に着き、 順番がすっかり逆になります。横線が少ないからといって混ざり方が小さいとは限らず、横線の高さがどう重なるかで決まります。 この逆転は横線3本(奇数)で、3つの並びの逆転は両端の入れ替え一回分にあたる奇順列なので、これも前述の性質に合っています。
横線だけをランダムにしても、欄ごとの確率は等しくない
「一対一」であることと「確率が等しい」ことは別の話です。横線を一定の確率でランダムに置いたあみだでは、出発した縦線に近い欄に 着く確率がやや高くなる傾向があります。横線の確率35%、20行、左から順に置く方式で、4人の場合の到着欄の分布を正確に計算した値は 次のとおりです(単位は%、ページのビルド時に計算)。
| 出発 \ 到着 | 0番 | 1番 | 2番 | 3番 |
|---|---|---|---|---|
| 0番 | 26.4% | 25.8% | 24.3% | 23.5% |
| 1番 | 25.8% | 25.4% | 24.6% | 24.2% |
| 2番 | 24.3% | 24.6% | 25.3% | 25.7% |
| 3番 | 23.5% | 24.2% | 25.7% | 26.6% |
0番から出発して0番の欄に着く確率は26.4%、3番の欄は23.5%で、均等な25%とは差があります。この偏りをなくすため、 このツールは結果を下の欄に割り当てる前にフィッシャー–イェーツ法でシャッフルします。どの欄にどの結果が来るかが一様にランダムになり、 誰がどの結果を受け取る確率も等しくなります。あみだの形は経路を目で追う演出で、公平さはシャッフルが支えています。
使い方
- 参加者と結果を1行に一つずつ入力します。2つのリストは行数が同じで、2〜8人まで使えます。
- 結果を隠すか決めてから「あみだくじを作る」を押します。隠した場合は、たどり着いた欄だけが開きます。
- 名前を押して経路をたどると、その人の結果が公開されます。全員分を見るには「すべての結果を見る」を押します。
- やり直すには「あみだくじを引き直す」を押します。横線が引き直され、結果の割り当ても新しくシャッフルされます。
よくある失敗と限界
- 結果が見える状態で始めると、参加者が望む結果に着く縦線を選べてしまいます。経路は目で追うのが難しくないため、賭けでは結果を隠すほうが公平です。
- 同じ名前や同じ結果が重複しても動きますが、同じ名前は画面上で区別しにくいので番号などを付けてください。
- 乱数はブラウザのMath.randomで、セキュリティ用の乱数ではありません。友人同士の賭けには十分ですが、景品の抽選など公正さの証明が必要な場面には向きません。
- 参加者数と結果の数が違うと作れません。空行は無視されますが、結果が足りないと理由が表示されて止まります。
- 画面のキャプチャを共有する前に、結果が隠れているか、公開された経路がどこまでかを確認してください。
結果の活用方法
一人だけが負ける賭けなら、「コーヒーをおごる」と複数の「はずれ」を入れます。発表順なら、結果に1番、2番、3番と書きます。 役割分担では結果に担当する仕事を書き、人数より仕事が少ないときは「お休み」のような欄で埋めます。何度も繰り返すときは、 同じあみだを使い回さず、毎回引き直してください。
よくある質問
結果は操作できてしまいませんか?
横線と結果の並びは「あみだくじを作る」を押した瞬間にブラウザ内で無作為に決まり、サーバーには送信されません。ただし、開発者ツールで値を見られる点は一般のウェブページと同じです。信頼が必要な場では、全員で一つの画面を見てください。
参加者は最大何人まで使えますか?
見やすさのため、2〜8人に対応しています。それ以上の人数にはチーム分けやランダム数字のツールのほうが向いています。
横線が多いほど公平になりますか?
いいえ。このツールでは結果を下の欄に割り当てる前にシャッフルするため、横線の本数に関係なく、どの欄になる確率も等しくなります。横線は経路を目に見える形にし、上から結果を予測しにくくする役目です。
二人が同じ結果に着くことはありますか?
ありません。横線は隣り合う2本の経路を入れ替えるので、全員が別々の欄に着きます。複数の欄に同じ文言を入れた場合も、文言が同じだけで別々の欄です。
入力した名前や結果は保存されますか?
保存されません。クッキーやローカルストレージは使わず、再読み込みやタブを閉じると入力内容もあみだも消えます。他の端末との同期もありません。