テニス乱数表・ダブルス組み合わせ表 自動作成ツール

人数とコート面数を入れるだけ。休憩を均等にしたまま全ラウンド分の乱数表を作る

ダブルス専用。人数とコート面数を入れるだけで、休憩が偏らない組み合わせ表を全ラウンド分まとめて作る。

メンバー

コートとラウンド

毎ラウンド 4人 が出場休憩 4人/ 全8人

組み方

ミックス・レベル分けを使うにはメンバー欄でグループ分けをオンにする。

休憩回数をそろえたうえで、まだ同じコートに入っていない人同士で4人を組む。4人のペア分けは、まだ組んでいない味方 → まだ当たっていない相手の順に決める。

固定ペア(任意)

この2人を必ず味方同士にする。

PR

🎾 テニス関連グッズ

関連ツール

8人でダブルス1面、8ラウンド。誰がどれだけ休んだか言える?

テニスの練習会で一番もめるのは、実は技術の話じゃなくて「今日あの人ばっかり打ってなかった?」という感覚のズレだと思う。コート横のホワイトボードでその場その場で組んでいくと、幹事は目の前の1ラウンドを成立させるのに精一杯で、8ラウンド通したときに誰が何回休んだかまでは追えない。追えないまま解散して、帰り道に「今日あんまり打てなかったな」と思われる。

テニスの世界では、この「ラウンドごとに誰と組み、誰と当たり、誰が休むか」を並べた表を乱数表と呼ぶ。数学の乱数表とは別物で、ダブルスの進行表を指す業界語。「テニス 乱数表 1面 6人」のように人数とコート面数をセットで探す人が多いのは、この表が構成ごとに全然違う形になるから。

このツールは、参加人数とコート面数を入れるだけで、全ラウンド分のダブルス乱数表を一度に作るもの。休憩回数を完全に揃えることを最優先の制約として固定したうえで、まだ同じコートに入っていない人同士で4人を組み、その4人のペア分けも、まだ組んでいない味方を優先して決める。4〜30人、1〜4面、1〜20ラウンドまで対応している。

「あれもこれも」をやめてダブルス専用にした

盛り込みすぎて誰の道具でもなくなっていた

このツールには前の版がある。シングルスとダブルスの混在コート、A・Bグループの「別々」と「混合」、グループが割り切れないときの優先度切り替え、固定ペア。思いつく限りの状況に対応しようとした結果、コート横でスマホを取り出した幹事が最初に見るのが「シングルス面数」の入力欄という画面になっていた。ほとんどの人には一生使わない項目だ。

決定打は検索キーワードだった。90日分の流入を調べたら、シングルス目的で来た人は表示回数33回・クリック0という数字で、ほぼ存在しなかった。一方で「テニス 乱数表 6人」「テニス 乱数表 1面 6人」「テニス 乱数表 5人」のような、人数とコート面数を具体的に指定した検索が全体の主力を占めていた。5〜8人で1面。これが圧倒的多数派だった。

つまり作るべきだったのは「あらゆる構成に対応できる汎用ツール」ではなく、「6人1面のときに一番いい表が一発で出る道具」だった。だからシングルスを丸ごと落とした。設定項目が半分以下になり、人数を入れてボタンを押すだけで表が出るところまで手順が減った。

休憩の均等は「選ばせるもの」ではなかった

前の版では「グループを厳守する」か「休憩をそろえる」かをユーザーに選ばせていた。作り直すにあたって本当にそれが必要なのかを実際に測ってみたら、グループ分けを使わない限り、休憩を完全に均等にしてもペアの重複はほとんど増えないと分かった。8ラウンドの生成を各20回試した平均で、6人1面の重複が1組から2組に増える程度。12人2面ではむしろ均等にしたほうが良い結果だった。

タダで手に入るものを選択肢にしていたわけだ。だから休憩の均等は選ばせるのをやめて、常に守る制約に格上げした。選択肢が1つ減って、しかも結果は良くなった。

テニスの乱数表とは何か — シャッフルとの決定的な違い

乱数表 とは:ランダムに配るだけでは公平にならない

乱数表という名前から「ランダムに割り振った表」と思われがちだけど、実際に必要なのは正反対の性質だ。トランプを切るように毎ラウンド無作為に4人選ぶと、確率的に必ず偏る。10人で1面、8ラウンドをサイコロだけで回すと、3回休む人と1回も休まない人が同時に現れる。全員の期待値は同じでも、たった8回の試行では期待値に収束しない。

だから乱数表がやっているのは乱数を振ることではなく、乱数を振った結果を評価して選び直すことにある。見るべき軸は4つ。

  • 休憩回数の偏り — 誰かが余計に休まされていないか
  • コートの顔ぶれの重複 — 毎回似たような4人でコートに入っていないか
  • 味方ペアの重複 — 同じ人とばかり組んでいないか
  • 対戦相手の重複 — 同じ相手とばかり当たっていないか

紙の乱数表が「1面6人」「2面10人」のように構成ごとに存在するのは、これらを同時に満たす配置が人数とコート面数の組み合わせごとに全く違うから。6人の表を7人で流用することはできない。

5人1面が特別扱いされる理由

ダブルスの組み合わせを数える。5人からペアを作る方法は 5×4÷2 で10通り。1ラウンドのダブルス1面には味方ペアが2組できるから、10通りを消化するのにちょうど5ラウンドかかる。

5人のペア総数     = 5 × 4 ÷ 2 = 10通り
1ラウンドの消化数 = 2組(味方ペアが2つ)
10 ÷ 2 = 5ラウンドで全ペアを1回ずつ消化できる

割り切れる。しかも5人中4人が出場するので毎ラウンド1人だけ休み、5ラウンドで全員がちょうど1回ずつ休む。全員が他の4人と1回ずつ組み、2回ずつ対戦し、休憩も完全に均等という、どこにも無駄のない表が存在する。こういう「割り切れる」構成は組合せ論では分解可能デザインと呼ばれ、ソーシャルゴルファー問題として研究されている領域と地続きになっている。

逆に6人1面は割り切れない。ペアは15通りあるのに1ラウンドで2組しか消化できないので、7.5ラウンドという中途半端な数字が出てくる。6人の乱数表が5人ほど美しくないのはこのためで、ツールの責任ではなく人数の性質の話。

「前と同じ顔ぶれ」が消せない構成がある

6人1面で8ラウンド回すと、「毎回ほとんど同じメンバーじゃない?」と感じることがある。これはアルゴリズムの手抜きではなく、算数で決まっている。

連続する2つのラウンドには、合わせて4人×2=8人分の出場枠がある。ところが参加者は6人しかいない。8人分の枠に6人しかいないなら、差の2人は必ず前のラウンドから続けて出ることになる。

前ラウンドから残る最少人数 = 2 × (4 × コート面数) − 人数
6人1面 → 2 × 4 − 6 = 2人
8人1面 → 2 × 4 − 8 = 0人(理論上は全員入れ替われる)

8人いれば理屈のうえでは毎ラウンド全員入れ替えられる。6人だとどうやっても2人残る。ツールはこの数字を該当する構成のときに画面に出すようにした。「もっと混ぜたい」と思ったときの答えがアルゴリズムではなく人数にあることを、その場で分かるようにしたかった。

休憩の偏りが壊すのは、その日の空気だけじゃない

参加費2,000円の練習会を2時間、8ラウンドでやるとする。1面6人なら1人あたりの出場は約5.3ラウンド。ここで休憩が2回偏った人が出ると、その人だけ出場が4ラウンドになる。1ラウンドあたりの単価が375円から500円に跳ね上がる計算になる。同じ金額を払っているのに3割高い。

数字にすると露骨だけれど、現場ではこれが「なんとなく損した気分」として蓄積する。そして厄介なことに、偏りを引きやすいのは遠慮して自分から前に出ない人、つまり初心者や新規参加者になりがちだ。幹事が悪気なく「じゃあ次はこの4人で」と回していくと、声の大きい常連が自然と多く入る。サークルの新規定着率が上がらない原因が、練習内容ではなく組み合わせの偏りにあるケースは珍しくない。

日本テニス協会が普及の課題として挙げる継続率の問題も、突き詰めれば「また来たい」と思えるかどうかで決まる。初回に来て2回しか打てずに帰った人は、たぶん次は来ない。

休憩回数の差が0か1に収まっているか。これは組み合わせ表の品質を測る指標として、ペアの重複より優先度が高い。同じ人と2回組むのは笑い話で済むけれど、自分だけ2回多く休まされたのは笑い話にならない。だからこのツールは休憩の均等を選択肢から外して、常に守る制約にした。

こんな場面で使う

週末のサークル練習会 — 参加者が確定した時点で人数を入れて生成。表をコピーしてLINEのグループに貼れば、コート横で「次どうする?」が発生しない。

社会人テニス教室の後半フリー練習 — レッスンが終わって自由に打つ時間。コーチが1面を人数分回すときに、公平さの根拠を数字で示せる。

男女混合のミックス練習会 — 男性グループと女性グループに分けて、各コートを2人ずつで組む。男女比が揃っていない日でも、何が崩れるかを提示したうえで選べる。

レベル別に回すクラブ練習 — 上級者と初中級者をA・Bに分けて「レベル分け」を選ぶと、Aだけのコート・Bだけのコートで埋まる。上級者が初心者相手に手加減し続ける、初心者が上級者のサーブを返せないまま終わる、が起きない。

バドミントン・ピックルボール・卓球のダブルス — 4人でコートに入って交代しながら回す競技なら、種目が違っても同じ表がそのまま使える。ラウンド数を種目に合わせて調整するだけ。バドミントンで5面以上を借りる日や、練習時間からラウンド数を決めたい日は、同じ組み合わせエンジンで8面40人まで扱うバドミントン乱数表・ダブルス組み合わせ表のほうが合う。

使い方は3ステップ

  1. メンバーを入れる — 「番号で楽に」なら人数を打つだけで1〜nの番号ができる。「名前を入れる」に切り替えると改行区切りの貼り付け欄が出るので、LINEのメンバーリストをそのまま貼れば人数は自動でカウントされる。
  2. コート面数とラウンド数を決める — 面数は1〜4、ラウンド数は既定8で1〜20まで。2時間の練習会ならおおむね8ラウンドが目安。
  3. 組み方を選んで生成 — ランダム・ミックス・レベル分けから選んでボタンを押す。レベル分けでは「レベル分けを優先」か「休憩を優先」かも選ぶ。表が全ラウンド分まとめて出て、各コートは「A・B vs C・D」の形でペアまで決まっている。

試合が始まったら、表の上の ▶ を1回押すごとにラウンドが進む。終わったラウンドは1行に畳まれ、今のラウンドが色付きで表の一番上に来るので、スマホを回し見しても「今どこ?」で止まらない。ラウンド番号をタップすればその回へ直接飛べる。先の組み合わせで気が散るなら、表の上のラジオを「今と次だけ」か「今だけ」にすれば残りのラウンドも1行に畳める。コート横で画面を見せるときは、操作欄のいちばん上にある ▲ で表の文字を最大40pxまで大きくできる。

入力した内容はブラウザに保存されるので、毎週同じメンバーでやるなら次回は開くだけで前回の設定が入っている。生成した表と今のラウンドも保存されるので、試合中にページを閉じても開き直せば続きから見られる。

実際に作った表の中身を数字で見る

以下はすべて、公開している実装にその条件を入れて20回ずつ生成した実測値で、回によってばらつくものは幅で書いた。「同じコート」は同じコートに入った2人組、「味方」は味方として組んだ2人組の集計。「網羅」はそのうち一度でも出た通り数、「最大」は同じ2人組が最も多く出た回数、「休憩差」は最も休んだ人と最も休まなかった人の差。

構成ラウンド同じコート 網羅同じコート 最大味方 網羅味方 最大休憩差
5人1面510 / 10通り3回10 / 10通り1回0
6人1面815 / 15通り4回14〜15 / 15通り2回1
7人1面821 / 21通り3回16 / 21通り1回1
8人1面824 / 28通り2回16 / 28通り1回0
10人2面845 / 45通り3回32 / 45通り1回1
12人2面864〜66 / 66通り2回32 / 66通り1回1
20人4面8152〜158 / 190通り2回64 / 190通り1回1
30人4面20357〜368 / 435通り2〜3回158〜160 / 435通り1〜2回1

ケース1:5人1面・5ラウンド(味方10/10・最大1・休憩差0) — 前述した理論上の完全な表に、実際に到達している。全員が他の4人と1回ずつ組み、休憩も1回ずつ。同じコートが全員3回ずつになるのは、5人中4人が毎回コートに入る以上ほかに形がないから。この構成なら乱数表として文句のつけようがない。

ケース2:6人1面・8ラウンド(味方最大2・休憩差1) — 8ラウンドで消化する味方ペアは16組なので、15通りを全部使っても1組は2回目が出る。20回中18回は15通りを使い切った。同じコートの最大4回も人数で決まる数字で、1人あたり5〜6試合、毎試合3人と同じコートに入るのに相手は5人しかいない。

ケース3:8人1面・8ラウンド(同じコート最大2・味方最大1) — 8ラウンドで同じコートになる2人組は延べ48組、28通りしかないので2回目は必ず出る。それを最大2回に抑え、味方は16組すべて別の人になった。代わりに、一度も同じコートにならない2人組が4組残る。同じ2人が3回同じコートに入るよりは偏りが小さい、という判断だ。

ケース4:10人2面・8ラウンド(同じコート45/45・味方最大1) — 10人の顔合わせ45通りを全部消化したうえで、味方は32組すべて別の人。顔ぶれを散らすことと、同じ人と組まないことが両立している例だ。

ケース5:20人4面・8ラウンド(同じコート最大2・味方最大1) — 大人数では組み合わせの母数が大きいので、味方の重複を完全にゼロにできる。20人規模のサークルなら、8ラウンド程度では誰とも2回組まない表が普通に作れる。

ケース6:30人4面・20ラウンド(味方最大1〜2・休憩差1) — 上限いっぱいの構成。20回中17回は20ラウンド回しても味方ペアの重複がゼロで、残りの3回も2回目が出たのは一部の組だけ。休憩差は毎回1に収まる。生成にかかる時間は手元の計測で0.1〜0.2秒。

ケース7:A8人/B4人・2面・ミックス — 人数が偏った構成の比較。「休憩をそろえる」だと休憩差1のまま、16コート中4コートがミックスで組めない。「ミックスを守る」に切り替えると全16コートがミックスになる代わりに休憩差が4に開く。B側の4人が出ずっぱりになるということ。どちらが正しいかは会の性格次第なので、数字を出して選んでもらう形にした。

ケース8:A10人/B6人・3面・レベル分け — 「レベル分けを優先」だと全24コートがAだけ・Bだけで組まれ、休憩はAが1〜2回・Bが2〜3回(差2)。B6人ではBだけのコートは1面しか作れないので、毎ラウンドA8人・B4人の出場で固定になり、B側が多めに休む。「休憩を優先」に切り替えると休憩差0になる代わりに、24コート中2コートがA・B混成になる。レベル分けは各ラウンドの出場者がA・Bとも4の倍数でないと成立しないので、ミックスより崩れやすい。ただしA8人/B4人・2面なら「Aだけ2面」のラウンドと「A・B1面ずつ」のラウンドを混ぜれば休憩差1のまま混成ゼロで組めて、どちらを選んでも同じ表になる。

仕組み:4つの設計判断を実測で決めた

全体の流れはシンプルで、1ラウンドずつ「候補を大量に作って一番いいものを選ぶ」を繰り返す。

各ラウンドについて:
  1. 休憩回数の多い人から順に出場枠を埋める(休憩均等のハード制約)
  2. 固定ペアを同じコートに配置し、残りをランダムに割り振る
  3. 各コートの4人の顔ぶれを過去の履歴と照らしてペナルティを計算
  4. 各コートの4人を2対2に分ける3通りを総当たりし、味方・対戦の重複が少ない分け方を選ぶ
  5. 1〜4を300回繰り返し、ペナルティ最小の配置を採用
  6. 履歴を更新して次のラウンドへ

面白いのはペナルティの中身で、ここは何度も作り直している。

判断1:4人組の新規性は「4人組」で測ってはいけない

コートに入る4人の顔ぶれを散らしたいとき、素直に考えると「この4人組が過去に出たか」を数えたくなる。これが罠だった。

20人4面なら4人の組み合わせは4,845通りある。8ラウンドで作る4人組はたかだか32個なので、完全一致はまず起きない。つまりペナルティが常にゼロになり、評価が機能せず実質ランダムに退化する。結果として「ある2人は8ラウンド中4回も同じコート、別の2人は一度も当たらない」という表ができる。

正解は、4人組の中にある6通りのペアそれぞれの同席回数を二乗和で叩くこと。3人が前回と同じなら6ペア中3ペアが重複するので、自動的に重く罰せられる。両方式を実装して比べた結果が以下。

構成測り方最大同席同席回数の差網羅
8人1面4人組の一致3.53回2.4725.2 / 28
8人1面6ペアの同席2.00回0.0024.0 / 28
20人4面4人組の一致4.20回3.20122.8 / 190
20人4面6ペアの同席2.87回1.87143.1 / 190

8人1面では同席回数の差が完全にゼロになった。粒度を1段下げるだけで結果が変わる。

判断2:ペア分けは4人が決まってから総当たりで選ぶ

以前の版は「味方ペア」「対戦相手」「4人だけ」の3つから、どの重複を避けるかを選ばせていた。味方ペアを選ぶと味方の重複は減るが、4人の顔ぶれは偏る。4人だけを選ぶと顔ぶれは散るが、ペアが決まっていないので現場でジャンケンが要る。どちらかを諦める作りだった。

ところが4人を2対2に分ける方法は、AとBが組むか、AとCか、AとDかの3通りしかない。だから4人を決めたあとで3通りを総当たりし、まだ組んでいない味方 → まだ当たっていない相手の順に良いものを選べば、4人の選び方には一切影響しないまま味方まで決まる。各10回の平均で比べた結果が以下。

構成方式同じコートの最大味方の最大
10人2面8R旧「味方ペア」3.7回1.0回
10人2面8R旧「4人だけ」(表の並びでペアにした場合)3.0回2.3回
10人2面8R4人を決めてから総当たり3.0回1.0回
12人3面8R旧「味方ペア」4.3回1.0回
12人3面8R旧「4人だけ」(同上)3.0回2.5回
12人3面8R4人を決めてから総当たり3.0回1.1回

顔ぶれは旧「4人だけ」と同じ水準のまま、味方の重複は旧「味方ペア」並みに下がった。両立するなら選ばせる理由はないので、3択は廃止した。

判断3:「前と同じ顔ぶれを避ける」項は入れてはいけない

もっと入れ替わり感を出したくて、「直前のラウンドと重なっている人数」を直接ペナルティにする案を試した。狙いどおり直前との重なりは減った。ところが8ラウンド全体で見ると壊れていた。

構成方式前ラウンドからの持越し同席回数の差網羅
8人1面同席回数のみ0.86人0.0024.0 / 28
8人1面+持越しも叩く0.27人3.0021.7 / 28
9人1面同席回数のみ1.07人1.0033.0 / 36
9人1面+持越しも叩く0.00人2.0026.0 / 36

直前だけを見て散らすと、その反動で特定の2人ばかりが後半に固まる。局所最適が全体を壊す教科書どおりの現象だったので、この項は捨てた。目先の見た目より8ラウンド通した公平さを取る。

判断4:表は1本作って終わりにしない

1ラウンドずつ最良手を選ぶ貪欲法には弱点がある。序盤の選択が終盤の袋小路を作る。5人1面5ラウンドで試したところ、20回中数回は理論上の完全な表(10通り全消化)に届かず8通りで終わっていた。

対策は単純で、表を丸ごと何本か作って一番いいものを選ぶ。1本あたりが軽いので12本作っても大した負担にならない。休憩差、ミックスの成立、同じコートの最大重複、味方の最大重複、網羅数の順に評価して勝者を採る。これを入れたら5人1面5ラウンドは20回中20回とも完全な表になり、7人1面や10人2面のばらつきも消えた。

ミックスと休憩均等が両立する条件を計算で出す

ミックスでA・Bの人数が違うと警告が出る根拠はこの式にある。休憩を完全に均等にすると、各人の出場ラウンド数は全体で割り算した値に固定される。一方ミックスは毎ラウンドちょうど2×コート数のAを必要とする。A側の総出場枠を両側から書くと等式ができる。

休憩を均等にしたときのA側の総出場枠
  = A人数 × (4 × コート数 × ラウンド数 ÷ 全人数)

ミックスが要求するA側の総出場枠
  = 2 × コート数 × ラウンド数

両者を等号で結んで整理すると
  A人数 × 4 ÷ 全人数 = 2
  → A人数 = 全人数 ÷ 2
  → A人数 = B人数

つまりA人数とB人数がぴったり等しいときだけ両立する。それ以外では数式上どちらかが必ず崩れる。実測でもA4/B4、A5/B5、A6/B6は成立率100%・休憩差0〜1で無風、A5/B3、A8/B4、A7/B3は例外なく劣化した。だから2択を出す条件は「A人数 ≠ B人数」の一行で済んでいて、人数が揃っている構成では選択肢そのものを画面に出していない。

エクセルのテンプレートや紙の乱数表と何が違うか

検索すると出てくるのは、大きく分けて2種類。「1面6人」のような特定構成の完成済みPDFと、自分で数式を組むエクセルテンプレート。

完成済みPDFの弱点は構成が固定されていること。6人の表を持っていても、当日1人増えたら使えない。エクセルは自由度がある代わりに、公平性の評価まで作り込むのは現実的でなく、多くは番号を機械的にずらしていく方式になっている。ずらし方式は同じペアが規則的に再登場するし、休憩の順番も固定されるので、参加者に順番が読まれる。

このツールは毎回違う表が出る。同じメンバーで毎週やっても「またこの並びか」にならない。そして組み合わせの品質を数字で表示するのが一番の違いだと思う。同じコートの網羅数・同じ2人の最大回数(同じコートと味方)・休憩差が表の下に出るので、幹事は「今日の表は休憩差0で組めている」と根拠を持って言える。感覚の話を数字の話に変えられる。

役割分担としては、順番決めやチーム分けそのものが目的なら公平な配置係のほうが向いている。練習会後の会計で負担割合を変えたいときは不平等割り勘マスターを使い分けてほしい。

豆知識:なぜ「乱数表」と呼ばれるようになったのか

この呼び名、よく考えると変だ。統計や暗号でいう乱数表は無作為な数字を並べた表のことで、公平性の調整なんて概念はない。テニスで使われている表はむしろ「無作為ではない、注意深く設計された表」なのに、正反対の名前が定着している。

由来ははっきりしないものの、コンピュータが手元になかった時代の名残という説が有力だ。当時の実務では、参加者に番号を振り、市販の乱数表や乱数さいころで並びを決めて紙に書き出す、という手順で組み合わせを作っていた。作り方の道具の名前が、成果物の名前になったわけだ。ガリ版で刷った表を持ち回るうちに呼び名だけが残り、中身のほうは各サークルで「同じペアが続かないように」と手直しされて洗練されていった。

同じ表がバドミントンやピックルボールでも使われているのも面白い。4人でコートに入り、交代で休みながら回すという構造が共通していれば、競技のルールが違っても最適な表は同じ形になる。実際、卓球のダブルス練習会で使われている進行表とテニスの乱数表は、番号の並びとしてはまったく区別がつかない。組合せ論の問題として抽象化されてしまえば、そこにボールの大きさは出てこない。

近年はこの種の問題がラウンドロビン方式の一般化として扱われ、ゴルフのコンペ組分けや会議のグループ分けでも同じ数学が使われている。ソーシャルゴルファー問題という名前がゴルフ由来なのは、8人ずつ3組に分かれて何日ラウンドできるかという実際の悩みが出発点だったから。

使いこなすためのTips

ラウンド数は種目に合わせて変える — テニスの1ゲームは長いので2時間なら8ラウンド前後。ピックルボールやバドミントンは1試合が短いぶん、同じ時間でも12〜15ラウンド回ることがある。既定の8にこだわらず実態に合わせてほしい。バドミントン版では、練習時間と点数制からラウンド数の目安を出せる。

同じコートの最大回数は暗算で見積もれる — 1人の出場回数 × 3 ÷ (人数 − 1) を切り上げた値が、どう組んでも下回れない下限になる。1試合で同じコートに入る相手は3人いるからだ。8人1面8ラウンドなら 4 × 3 ÷ 7 で切り上げて2回。表の数字がこの値と同じなら、それ以上は人数を増やすかラウンド数を減らさない限り減らせない。

表の下の数字を見る癖をつける — 休憩差が2以上になっていたら、人数とコート面数の相性が悪いサイン。コートを1面減らすか、ラウンド数を人数の倍数に近づけると改善することが多い。

名前は貼り付けで入れる — LINEの参加表明リストをコピーして貼るのが一番速い。名前が入った表はそのままグループに投げられるので、当日の連絡が1往復減る。

固定ペアは使いすぎない — 夫婦や親子を組ませたいときには便利だけれど、組むほど他の人の組み合わせの自由度が下がる。1面につき1組までを目安にすると全体の質を落とさずに済む。

よくある質問

「1面6人」「1面5人」「2面10人」みたいな定番の乱数表も作れる?

作れる。人数に6、コート面数に1を入れれば1面6人の乱数表になるし、人数10・2面なら2面10人になる。紙の乱数表と違うのは、生成するたびに違う表が出ること。同じ顔ぶれで毎週練習会をやってもパターンが変わるから「またこの表か」にならない。構成ごとの実際の出力品質は上の使用例の表にまとめてあるので、自分の人数の行を見てほしい。

前にあった「味方ペア」「対戦相手」「4人だけ」の選択はどこへ行った?

廃止して1つの組み方にまとめた。4人の顔ぶれを散らすことと味方の重複を減らすことが両立すると分かったからで、理由は前半の仕組みの節で書いたとおり。表は「A・B vs C・D」の形でペアまで決まって出るので、コート横でジャンケンをする必要はない。それでもペアはその場で決めたいという会なら、表の4人だけを使ってペアを自由に組み替えてかまわない。コートに入る4人の散らばりは、ペアをどう組み替えても変わらない。

ミックスでA・Bの人数が違うと警告が出るのはなぜ?

休憩を完全に均等にすることと、全コートをミックスで組むことが、数式上その構成では両立しないから。両立するのはA人数とB人数がぴったり等しいときだけで、導出は上の仕組みの項に書いてある。たとえばA8人・B4人の2面では、全コートをミックスにするとB側の4人が全ラウンド出ずっぱりになる。だから偏っている構成でだけ「休憩をそろえる」か「ミックスを守る」かを選んでもらっている。人数が揃っていれば警告も選択肢も出ない。

6人1面だと毎ラウンド同じ人が残る気がするけど直せる?

これはアルゴリズムではなく人数の問題なので直せない。連続する2ラウンドの出場枠は合計8人分あるのに参加者は6人しかいないので、差の2人は必ず前のラウンドから続けて出る。ツール側では該当する構成のときに何人残るかを画面に表示している。もっと入れ替えたいなら人数を増やすか、コート面数を減らして出場枠を絞る。8人1面なら理論上は毎ラウンド全員入れ替えられる。

入力したメンバーの名前が外部に送信されることはある?

一切ない。すべてブラウザ内のJavaScriptで処理していて、サーバーとの通信は発生しない。名前や設定は次回の入力を省くために同じブラウザのローカルストレージにだけ保存していて、これも外部には送られないし、ブラウザの閲覧データを消せば一緒に消える。共用のパソコンで使ったあとに名前を残したくない場合は、リセットボタンを押せばその場で消える。

シングルスの組み合わせも作れる?

作れない。以前はシングルスとダブルスの混在にも対応していたけれど、そのぶん設定項目が増えて、大多数を占めるダブルス目的の人にとって画面が複雑になっていた。ダブルス専用に絞ることで、人数を入れてボタンを押すだけで表が出るところまで手順を減らしている。順番決めや総当たりのグループ分けが目的なら公平な配置係のほうが近いことができる。

まとめ

ダブルスの乱数表を、休憩の均等を絶対条件にしたまま全ラウンド分まとめて作るツール。人数とコート面数を入れてボタンを押すだけで、まだ同じコートに入っていない人同士で組み、ペア分けまで済んだ表が出る。5人1面なら全員と1回ずつ組む完全な表に到達するし、20人4面でも味方の重複ゼロで組める。表の下に網羅数・最大回数・休憩差が出るので、幹事は公平さを感覚ではなく数字で説明できる。

バドミントンの練習会ならバドミントン乱数表・ダブルス組み合わせ表、順番決めやチーム分けそのものが目的なら公平な配置係、練習会後の割り勘なら不平等割り勘マスターを使い分けてほしい。


不具合や要望があれば、お問い合わせページから気軽に教えてほしい。

M

Mahiro

Mahiro Appの開発者。サークルの練習会で「今日あんまり打てなかった」と言われたのが悔しくて、休憩回数の均等を選択肢ではなく絶対条件にした版に作り直した。

運営者情報を見る