🪜 あみだくじ
参加者と結果を入れて「あみだを作る」だけ。暗号学的乱数で公平なあみだくじを自動生成し、経路をたどって結果を表示します。席替え・係決め・景品配りに。
入力
人数: 0 人
結果: 0 個
あみだくじ
参加者を選ぶと、経路をたどって結果を表示します。
※ 横棒(橋)の位置は暗号学的に安全な乱数(crypto.getRandomValues)で決めています。横棒がランダムなら結果はかたよらず、全員が別々の結果に1対1で対応します。あみだくじはあくまで遊び・抽選の補助で、名前や結果はすべてお使いの端末内で処理され、外部へ送信されません。
解説
あみだくじは、縦に引いた何本かの線と、隣り合う線をつなぐ横棒(橋)だけでできた、昔ながらのくじ引きです。上端の参加者から下へたどり始め、横棒に出会うたびに隣の線へ渡っていくと、最後に下端のどれか1つの結果へ必ずたどり着きます。本ツールは、参加者と結果を入力するだけで横棒を自動で引き、各参加者がどの結果になるかを画面上で経路をたどりながら表示します。席替え・係決め・景品配りなどの割り当てを、その場で手早く決められます。
あみだくじの仕組みのポイントは「横棒は隣どうしの線を入れ替える」ことです。ある高さで線Aと線Bをつなぐ横棒があると、その高さを通る経路はAとBで入れ替わります。横棒をいくつも重ねると入れ替えが積み重なり、上の並び(参加者)と下の並び(結果)が1対1で対応づきます。どの参加者も必ずどれか1つの結果に、しかも別々の結果にたどり着くのはこのためで、同じ結果に2人が重なることはありません。
横棒の位置は、暗号学的に安全な乱数(crypto.getRandomValues)で決めています。JavaScriptでよく使われる Math.random は手軽ですが、生成のかたよりや予測可能性の点で抽選には向きません。本ツールは crypto.getRandomValues を用い、剰余のかたよりを取り除く処理(リジェクションサンプリング)で横棒を公平に配置します。crypto が使えない古い環境でのみ Math.random に切り替わりますが、通常のブラウザではまず使われません。
用途はさまざまです。教室やイベントでの席替え、掃除・給食・日直などの係決め、忘年会や誕生日会での景品・プレゼント配り、発表やゲームの順番決めなど、「人に何かを1つずつ割り当てたい」場面で活躍します。参加者に名前、結果に席番号や景品名を入れれば、そのままあみだくじとして使えます。結果の欄には「当たり」「はずれ」を混ぜてもよく、当たりくじの数を自由に決められます。
結果に納得がいかないときや、もう一度引きたいときは「引き直し」を押すと、同じ参加者・同じ結果のまま横棒だけを引き直し、まったく新しいあみだくじを作り直します。横棒がランダムに引き直されるので、対応も変わります。何度でも引き直せるので、その場の雰囲気で「せーの」で引き直すといった使い方もできます。参加者を1人ずつ選んで経路をたどれば、みんなで結果を見ながら盛り上がれます。
入力した名前や結果、あみだくじの生成・経路の計算はすべて、お使いのブラウザの中だけで行われます。名前や結果が外部のサーバーへ送られることはなく、通信が切れていても動作します。あみだくじはあくまで遊び・抽選の補助であり、結果に法的な効力があるわけではありません。公平な割り当てをその場で手早く決める道具として、気軽にお使いください。
よくある質問
あみだくじの結果はかたよりませんか?公平ですか?
横棒(橋)の位置を暗号学的乱数(crypto.getRandomValues)で決め、剰余のかたよりを取り除く処理で公平に配置しています。横棒がランダムに引かれていれば、どの参加者がどの結果になるかもかたよらず、特定の結果が出やすいということはありません。あみだくじは横棒で隣どうしを入れ替える仕組みなので、必ず全員が別々の結果に1対1で対応します。
参加者と結果の数は同じでないといけませんか?
はい、原則として同じ数にしてください。結果が参加者より少ないと全員に割り当てられないため、不足しているときはメッセージでお知らせします。結果のほうが多いときは、先頭から人数ぶんだけを使い、余った結果は使われない旨を表示します。当たり・はずれのように結果の中身は自由なので、当たりくじの数はお好みで調整してください。
1人でもあみだくじを作れますか?
あみだくじは隣の線と入れ替える仕組みのため、最低でも2人(縦線2本)が必要です。参加者が1人以下のときは作成できず、メッセージでお知らせします。2人以上であれば人数に制限はありませんが、画面の見やすさのため上限を設けています。
特定の人の結果だけを1人ずつ見ることはできますか?
できます。あみだを作ったあとに表示される参加者のボタンを押すと、その人の経路だけが上から下へハイライト表示され、たどり着いた結果がわかります。1人ずつ順番に押していけば、全員で見ながら結果を確認できます。「全員の結果を表示」を押すと、参加者→結果の対応を一覧でまとめて表示します。
同じメンバーでもう一度引き直せますか?
「引き直し」ボタンを押すと、同じ参加者・同じ結果のまま横棒だけを新しく引き直し、別のあみだくじを作り直します。横棒の位置が変わるので、参加者と結果の対応も変わります。何度でも引き直せるので、納得がいくまで、あるいはその場のノリで引き直してお使いください。
入力した名前や結果は外部に送信されますか?
送信されません。名前や結果の読み取り、あみだくじの生成、経路の計算、結果の表示まで、すべてあなたのブラウザの中だけで処理します。サーバーや第三者にデータが送られることはなく、オフラインでも利用できます。あみだくじは遊び・抽選の補助としてご利用ください。