3面借りた体育館で、1面だけシャトルが飛んでいない時間
土曜の夜、体育館を3面借りた練習会。2面ではもう打ち合いが始まっているのに、残りの1面には誰も入っていない。幹事がホワイトボードの前で「次は……この2人、さっき組んだっけ?」とマーカーを止めているからだ。1試合が十数分で終わるバドミントンでは、この「組み合わせを考える数分」が毎ラウンドやってくる。2時間の練習会なら10回前後。そのたびに1面が止まる。
それなら決まった乱数表を印刷して持っていけばいい、と思うかもしれない。ところが練習会の人数は毎週変わる。今週は13人、来週は11人。借りられたコートも今週は3面、来週は2面。「12人3面」の表は13人の日には使えないし、そもそも何ラウンド回せるかは、その日の練習時間と、21点で回すか15点で回すかで決まる。人数・面数・練習時間がそろって変わる以上、固定の表では追いつかない。
このツールは、人数(または名前)とコート面数とラウンド数を入れるだけで、休憩回数をそろえたダブルスの組み合わせ表を全ラウンド分まとめて作る。4〜40人、1〜8面、1〜30ラウンドまで対応している。練習時間と点数制を入れれば、その時間で回せるラウンド数の目安も出る。人数が面数に足りない日は、使う面数を自動で下げて組む。
テニス版の上限では、バドミントンの練習会が収まらなかった
同じ悩みでも、数字の桁が違った
このサイトには、テニスのダブルス乱数表がすでにある。休憩回数をそろえたうえで、まだ組んでいない相手を優先して埋めていく組み合わせ生成は、そちらで作り込んだものだ。テニス版の記事でも「バドミントンにも同じ表が使える」と書いていた。
ところが実際にバドミントンの練習会に持ち込むと、数字の桁が合わなかった。テニスの練習会は1〜2面に6〜10人が中心だけれど、バドミントンは体育館1つでコートがいくつも取れる。社会人サークルで3〜4面、クラブの全体練習なら6面・8面を借りて30人、40人が集まる。1試合も短い。2面8人の2時間なら、15点で回して10ラウンド、11点なら13ラウンドになる。テニス版は4面・30人・20ラウンドを上限にしていたので、大きめの練習会ほどその枠からはみ出した。
紙の乱数表は「その人数の日」にしか使えない
ネットで探すと「12人3面」のような完成済みの表が見つかる。その人数と面数にぴったりの日なら便利だ。でも1人遅れて来た、1人急に休んだ、というだけで使えなくなる。13人の日に12人の表を流用すると、あぶれた1人をどこかに差し込むことになり、その人だけ休憩が多くなる。毎週参加者が入れ替わるサークルで、人数と面数の組み合わせごとに表を全部そろえておくのは現実的じゃない。
ラウンド数は練習時間から逆算したかった
もう1つ足りなかったのが、ラウンド数の決め方だ。幹事が本当に知りたいのは「何ラウンドの表を作るか」ではなく「この2時間で何ラウンド回るか」のほう。多めに作って途中で打ち切ると、表の後半に入っていた試合がまるごと消える。少なすぎると、最後に時間が余ってなんとなく解散になる。
そこで、組み合わせを作る中身は共通のまま、面数を8面・人数を40人・ラウンド数を30まで広げ、練習時間と点数制(21点・15点・11点)からラウンド数の目安を出す補助を足した。それがこのバドミントン版になる。
バドミントン乱数表を数字で分解する — 出場枠・休憩・重複の下限
バドミントン 乱数表 とは
バドミントンの練習会でいう乱数表は、ラウンドごとに「どのコートで誰と誰が組み、誰と当たり、誰が休むか」を並べた進行表のこと。テニスの練習会から広まった呼び名で、中身はダブルスの組み合わせ表そのものだ。
出発点は単純で、ダブルスは1面に4人。だから1ラウンドに出られる人数は面数で決まり、残りが休憩になる。
1ラウンドの出場 = 使う面数 × 4
1ラウンドの休憩 = 人数 − 1ラウンドの出場
3面なら12人が出られる。12人ちょうどなら全員が毎ラウンド打ち、13人なら毎ラウンド1人が休む。
ダブルス 組み合わせ 休憩 均等 — 割り切れないと1回の差が残る
次に、全ラウンドを通した出場の総量を考える。1ラウンドの出場人数にラウンド数を掛けたものが「出場枠の合計」で、これを人数で割ると1人あたりの出場回数になる。
出場枠の合計 = 1ラウンドの出場 × ラウンド数
1人の出場回数 = 出場枠の合計 ÷ 人数
(割り切れなければ、切り捨てた回数と切り上げた回数の人が混ざる)
休憩回数 = ラウンド数 − 1人の出場回数
13人・3面・12ラウンドなら、出場枠は 12 × 12 = 144。13人で割ると 13 × 11 = 143 で1つ余る。つまり1人だけが12試合、残りの12人は11試合になり、休憩は0回の人と1回の人に分かれる。どれだけ丁寧に組んでも、割り切れない構成では1回の差が必ず残る。逆に言えば、差が1回に収まっていればそれ以上そろえようがない状態だ。20人・4面・11ラウンドでも、出場枠176を20人で割ると8〜9試合になって、同じことが起きる。
休憩回数の差を0か1に抑えることを、組み方の好みではなく絶対条件として扱っている理由は、テニス版とまったく同じなので、ここでは繰り返さない(仕組みの節でテニス版の記事へリンクしている)。
乱数表 3面 — 人数が面数に足りない日は面数を下げる
1面に4人必要なので、人数が「面数 × 4」に足りないと全部のコートは埋まらない。そのときは使う面数を下げる。
使う面数 = min(借りた面数, floor(人数 ÷ 4))
10人で3面を借りた日は floor(10 ÷ 4) = 2 なので、2面で組む。3面目は基礎打ちやノックに回せばいい。3面を借りて12ラウンド回すときの見通しを人数別に並べると、こうなる。
| 人数 | 使う面数 | 1ラウンドの休憩 | 12ラウンドでの1人の出場 |
|---|---|---|---|
| 10人 | 2面 | 2人 | 9〜10試合 |
| 11人 | 2面 | 3人 | 8〜9試合 |
| 12人 | 3面 | 0人 | 12試合 |
| 13人 | 3面 | 1人 | 11〜12試合 |
| 14人 | 3面 | 2人 | 10〜11試合 |
| 15人 | 3面 | 3人 | 9〜10試合 |
| 16人 | 3面 | 4人 | 9試合 |
目を引くのは11人の日だ。3面目が埋まらないので2面に落ち、毎ラウンド3人が休む。1人の出場は8〜9試合で、16人集まった日より打てる回数が少ない。人数が少ないほど1人あたりたくさん打てる、とは限らない。面数の切れ目をまたぐと逆転が起きる。
同じ相手との重複には「下限」がある — 鳩の巣原理
学校の席替えを思い出してほしい。隣の席になりうるクラスメイトが11人しかいないのに、12回席替えをしたらどうなるか。どんなにくじを工夫しても、少なくとも誰か1人とは2回隣になる。11個の箱に12個の物を入れれば、どこかの箱に2個入る。これが鳩の巣原理だ。
ダブルスの組み合わせも同じ構造をしている。1人の出場回数を、組める相手(自分以外の人数 − 1人)で分け合うことになるからだ。1試合のなかで、味方は1人、対戦相手は2人、同じコートに入る相手は3人いる。
味方ペアの重複の下限 = ceil(1人の出場回数 ÷ (人数 − 1))
対戦相手の重複の下限 = ceil(2 × 1人の出場回数 ÷ (人数 − 1))
同じコートに入る相手の下限 = ceil(3 × 1人の出場回数 ÷ (人数 − 1))
ここでの「1人の出場回数」は、いちばん多く出る人の回数を使う。12人・3面・12ラウンドなら全員が12試合で、組める相手は11人。味方の下限は ceil(12 ÷ 11) = 2、対戦は ceil(24 ÷ 11) = 3、同じコートは ceil(36 ÷ 11) = 4。この構成では、誰かと2回組むのは算数で決まっていて、ツールの工夫では消せない。反対に8人・2面・7ラウンドなら、7試合を7人の相手で分け合うので味方の下限は1。全員が全員と1回ずつ組む表があり得る。
なお、この下限は「誰とでも組める」前提の値だ。男女で分けるミックスや、レベル別に分ける組み方、固定ペアを入れたときは組める相手が減るので、下限そのものが成り立たなくなる。
休憩1回の差、同じペアの3回目、押した最終ラウンド — 練習会で効いてくる場面
休憩の差が「1」と「2」では意味が違う
休憩回数の差が1回なら、それは上で見たとおり割り切れない構成では避けられない差で、誰の落ち度でもない。問題は2回以上の差だ。休憩をそろえて組むかぎり差は1回以内に収まるので、2回以上の差が出るのは、ミックスやレベル分けで男女・レベルの人数が偏っている日に「組み方を守る」ほうを選んだときに限られる。つまり差2回以上は、組み方を優先した代わりに誰かの休憩を増やすという選択の結果だ。表を配る前に、その選択を自分がしたのかどうかは確かめておきたい。
ホワイトボードで手作業で回していると、この区別がつかない。差が出ても、それが人数の性質なのか、幹事が無意識に常連を多く入れた結果なのか、本人にも分からない。数字で見えていれば「今日は割り切れないので1回の差は出る」と最初に言える。
同じペアが続くと、練習の幅が狭くなる
練習会でいろんな人と組みたいのは、仲良くなるためだけじゃない。ダブルスはパートナーの癖で自分の役割が変わる。前衛が得意な人と組めば後ろで打ち続けることになるし、逆なら前に詰める判断を迫られる。同じ相手とばかり組むと、その組み合わせでしか通用しない動きだけが身につく。
初心者にとってはもっと切実だ。同じ上級者と3回組めば、その上級者は3回ぶん手加減して打つことになるし、初心者同士が続けば決まらないラリーが続く。面数が多いと手作業では追いきれない。30人いれば味方ペアの組み合わせは435通りあり、誰と誰がもう組んだかを頭で覚えておくのは無理だ。
時間が押すと、表の後半が消える
いちばん地味で、いちばんよく起きるのがこれだ。12人・3面で12ラウンドの表を作り、21点・交代1分で2時間の練習会に持っていくと、所要時間は約192分。練習時間を72分超える。7ラウンド目が終わったところで退館時刻が迫り、残り5ラウンドは回らない。
表は12ラウンド全体で重複を散らすように組んであるので、7ラウンドで切った姿が7ラウンドの表として最良とは限らない。後半で組むはずだった相手とは、その日は組まずに終わる。このツールは練習時間を入れておけば、この構成で「今の12ラウンドだと約192分かかり、練習時間を72分超える。目安は7ラウンド」という注記を出す。最初から7ラウンドで作れば、その7ラウンドの中で重複を散らした表になる。
2面の週例会から8面の合同練習まで
社会人サークルの週例会(2〜3面) — 参加表明が毎週変わるサークルの定番。LINEの参加者リストを名前欄に貼れば人数は数え直さなくていい。面数が足りない日は自動で下げて組むので、11人しか来なかった日も表は作れる。できた表をコピーしてグループに流せば、コート横で「次どうする?」が起きない。
クラブや協会の大人数練習(6〜8面) — 30〜40人がいっせいに打つ日は、ホワイトボードで組むと1ラウンドごとの入れ替えだけで数分かかる。全ラウンドを最初に作っておけば、終わったコートから次の4人が自分で入っていける。練習時間からラウンド数を決めておけば、最終ラウンドが退館時刻にかからない。
ミックスダブルスの練習会 — 男性と女性を2つのグループに分けて組むと、各コートが男女2人ずつのミックスになる。男女が同数なら休憩もそのままそろう。人数が偏った日は、休憩をそろえるかミックスを守るかを選んで作れる。
中学・高校の部活の練習試合 — 部員20人前後に体育館4面という規模がちょうど収まる。限られた練習時間で試合数を増やしたいなら11点や15点で回し、練習時間からラウンド数を決める。顧問が手元で作って印刷しなくても、部のグループに貼れば各自が見られる。
使い方:人数と面数、練習時間、生成の3ステップ
- 人数(または名前)とコート面数を入れる — 番号で回すなら人数を打つだけでいい。名前で回すなら改行区切りで貼り付ければ、名前の数がそのまま人数になる。面数は借りた面数をそのまま入れる。人数が足りないときは使う面数を下げて組み、そのことが注記される。
- 練習時間と点数制から、ラウンド数を決める — 練習時間(分)と交代にかかる時間(既定は1分)を入れ、1試合の長さを21点・15点・11点・直接入力から選ぶ。その時間で回せるラウンド数の目安が出るので、「目安を使う」でラウンド数に入れる。練習時間を空にしておいても、今のラウンド数で何分かかるかは表示される。
- 組み方を選んで生成し、表をコピーする — 組み方(ランダム・ミックス・レベル分け)と、重複を避けたいもの(味方ペア・対戦相手・4人だけ=コートに入る4人の顔ぶれ)を選んで生成する。全ラウンド分の表が出るので、コピーしてLINEに貼ればいい。
生成する前から、使う面数、1ラウンドの出場と休憩の人数、1人の出場回数、所要時間が表示される。人数や面数を動かしながら「今日はこの条件で回すか」をその場で決められる。
よくある練習会の形は3つ、ボタンにしてある。「2面8人・2時間」「4面20人・3時間」「6面30人・2時間」のどれかを押すと、人数・面数・ラウンド数・練習時間・点数制・交代の時間がまとめて入る。人数は番号での入力に切り替わるが、貼り付けた名前は消えないので「名前を入れる」に戻せばそのまま使える。組み方の設定は変わらない。
具体的な使用例:7つの構成で見通しと実測を確かめる
以下の7ケースは、人数・面数・時間から決まる見通し(使う面数・出場回数・所要時間・重複の下限)と、組み合わせを実際に生成したときの結果を並べたもの。生成は乱択なので、同じ入力でも毎回違う表になる。そこで生成結果は、組み方を「ランダム」、人数が偏ったときを「休憩をそろえる」、固定ペアなしにして各20回作った実測で示す。「使った組」は全組み合わせのうち一度でも出た通り数、「最大重複」は同じ組み合わせが出た最多回数。
ケース1:12人・3面・12ラウンド(21点)— 全員12試合、味方の重複2回は下限どおり
入力: 12人、3面、12ラウンド、21点、交代1分、練習時間なし。
結果: 3面を全部使い、毎ラウンド12人が出場して休憩はなし。全員が12試合。1ラウンド16分(試合15分+交代1分)で、所要時間は192分。重複の下限は味方2回・対戦3回・同じコート4回。
実測: 味方ペア優先で20回作ると、最大重複は20回とも2回。66通りの味方ペアのうち65〜66通りを使った。対戦優先なら20回とも3回、4人の顔ぶれ優先なら20回とも4回で、3つとも下限ちょうど。休憩回数の差は20回とも0。
解釈: 11人の相手と12試合組む以上、誰かと2回組むのは避けられない。その避けられない分だけに抑えた表が毎回出ている。ただし192分は3時間を超えるので、2時間の会ならラウンド数を減らす必要がある。
ケース2:8人・2面・2時間(21点)— 7ラウンドで全員が全員と1回ずつ組む
入力: プリセット「2面8人・2時間」。8人、2面、120分、21点、交代1分。
結果: 1ラウンド16分なので、目安は7ラウンド(所要112分、8分余る)。毎ラウンド全員が出場し、1人7試合。味方の下限は1回。
実測: 味方ペア優先で20回作ると、最大重複は20回とも1回、28通りの味方ペアを20回とも全部使った。
解釈: 7人の相手と7試合なので、全員が他の全員とちょうど1回ずつ組む表になっている。この人数と時間の組み合わせは、味方ペアの重複という点ではこれ以上ない表になる。
ケース3:20人・4面・3時間(21点)— 11ラウンドで8〜9試合、休憩2〜3回
入力: プリセット「4面20人・3時間」。20人、4面、180分、21点、交代1分。
結果: 目安は11ラウンド(所要176分)。毎ラウンド16人が出場し、4人が休む。1人の出場は8〜9試合、休憩は2〜3回。味方と対戦の下限は1回、同じコートは2回。
実測: 味方ペア優先で20回作ると、最大重複は20回とも1回で、190通りのうち88通りを使った。対戦優先だと最大重複は20回とも2回。休憩回数の差は20回とも1。
解釈: 休憩の差1回は出場枠が20人で割り切れないことから来るもので、これ以上は縮まらない。味方は誰とも2回組まない。計算の流れは仕組みの節で1段ずつ追う。
ケース4:30人・6面・2時間(15点)— 10ラウンドで全員8試合・休憩2回
入力: プリセット「6面30人・2時間」(大人数サークル)。30人、6面、120分、15点、交代1分。
結果: 1ラウンド12分(試合11分+交代1分)で、目安は10ラウンド、所要時間は120分ちょうど。毎ラウンド24人が出場して6人が休み、全員が8試合・休憩2回で割り切れる。重複の下限は味方・対戦・同じコートとも1回。
実測: 味方ペア優先は20回とも最大重複1回(435通りのうち120通りを使用)。対戦優先は20回とも2回。4人の顔ぶれ優先は20回中19回が2回、1回だけ3回。休憩回数の差は20回とも0。
解釈: 30人規模になると組み合わせの母数が大きいので、味方ペアの重複ゼロが毎回出る。顔ぶれ優先で3回が出たのは20回中1回だけなので、気になるなら作り直せばいい。
ケース5:10人・3面を借りた日 — 2面に下げて12ラウンド、9〜10試合
入力: 10人、3面、12ラウンド、21点、交代1分。
結果: 10人では3面を埋められないので、使う面数は2面。毎ラウンド8人が出場して2人が休み、1人の出場は9〜10試合、休憩は2〜3回。所要192分。重複の下限は味方2回・対戦3回・同じコート4回。
実測: 最大重複は味方優先で20回とも2回、対戦優先で20回とも3回、顔ぶれ優先で20回とも4回と、すべて下限どおり。45通りの味方ペアを20回とも全部使った。休憩回数の差は20回とも1。
解釈: 9人の相手と最大10試合なので、味方の重複2回は避けられない。それでも全員と最低1回は組めている。空いた3面目は基礎打ちに使える。
ケース6:13人・3面・12ラウンド(15点・2時間)— 下限に届かない構成と時間超過
入力: 13人、3面、12ラウンド、120分、15点、交代1分。
結果: 毎ラウンド12人が出場して1人が休む。1人の出場は11〜12試合、休憩は0〜1回。1ラウンド12分で所要144分となり、練習時間を24分超える。練習時間からの目安は10ラウンドで、そのときの出場は1人9〜10試合。12ラウンドのときの重複の下限は味方1回・対戦2回・同じコート3回。
実測: 12ラウンドのまま作ると、味方優先の最大重複は20回とも2回で、78通りのうち69〜71通りを使った。対戦優先は20回とも3回、顔ぶれ優先は20回とも4回。どれも下限より1回多い。休憩回数の差は20回とも1。
解釈: 出場枠144を13人で割ると1余るので、12試合出るのは1人だけ。その1人が12人全員と1回ずつ組めば下限の1回になるが、実測ではそこまで届かなかった。時間の面でも12ラウンドは多いので、目安の10ラウンドで作り直すのが現実的だ。
ケース7:40人・8面・5時間(11点・交代0分)— 目安37ラウンドが上限30を超える
入力: 40人、8面、30ラウンド、300分、11点、交代0分。
結果: 1ラウンド8分なので、練習時間からの目安は37ラウンド。1つの表は30ラウンドまでなので、30ラウンドで作る(所要240分)。残りの60分は、表を作り直して続ける。毎ラウンド32人が出場して8人が休み、全員が24試合・休憩6回で割り切れる。重複の下限は味方1回・対戦2回・同じコート2回。
実測: 味方優先の最大重複は20回とも2回(780通りのうち453〜460通りを使用)、対戦優先は20回とも3回、顔ぶれ優先は20回とも4回。休憩回数の差は20回とも0。
解釈: 上限いっぱいの構成では、下限より1〜2回多くなる。それでも24試合して同じ相手と組むのは最大2回なので、手作業で組むのとは比べものにならない。休憩は全員6回できっちりそろう。
計算の仕組み:重複を決めるのは面数ではなく「試合数 ÷ (人数 − 1)」
組み合わせの生成はテニス版と共通
休憩回数をそろえることを絶対条件にしたうえで、1ラウンドごとに候補の配置を乱択で多数作り、それまでの重複が少ないものを選んでいく。この組み合わせ生成はテニス乱数表・ダブルス組み合わせ表と共通で、なぜその設計にしたかはテニス版の記事で詳しく書いた。
候補になる作り方はほかにもある。番号を1つずつずらしていく巡回式の表は計算がいらないが、人数と面数ごとに別の表が要り、同じペアが規則的に戻ってくる。乱択と評価の組み合わせなら、どの人数・面数でも同じ手順で表が作れる。人数と面数が毎週変わるバドミントンの練習会には、こちらしか合わない。
バドミントン版で変えたのは2点。上限を40人・8面・30ラウンドに広げたことと、生成には借りた面数ではなく「使う面数」を渡すことだ。8面・40人・30ラウンドでも生成は手元の計測で最大約0.44秒なので、候補の数は減らしていない。
同じ4面12ラウンドでも、16人と24人で重複が変わる
面数が多いほど重複が減る、と思われがちだが、効いているのは面数ではない。同じ4面・12ラウンドで人数だけを変えた実測(各20回)を並べる。
| 構成 | 1人の出場・休憩 | 味方 下限/実測 | 対戦 下限/実測 | 同じコート 下限/実測 |
|---|---|---|---|---|
| 16人・4面・12R | 12試合・休憩0回 | 1回/2回×20 | 2回/3回×20 | 3回/4回×20 |
| 24人・4面・12R | 8試合・休憩4回 | 1回/1回×20 | 1回/2回×20 | 2回/2回×19・3回×1 |
24人のほうが1人の試合数が少なく、組める相手も多い。だから重複が減る。重複を左右するのは、上で導いた下限の式のとおり「1人の出場回数 ÷ (人数 − 1)」の比で、面数はその比を通してしか効かない。裏を返すと、たくさん打つことと、いろんな人と組むことは引っ張り合う。24人の日は重複が減る代わりに、1人4回休む。
点数制を短くすると、試合が増えて重複も増える
同じ2面8人・2時間の練習会を、点数制だけ変えて比べる(実測は各20回)。
| 点数制 | 1ラウンド | 目安 | 1人の出場 | 味方 下限/実測 | 対戦 下限/実測 | 同じコート 下限/実測 |
|---|---|---|---|---|---|---|
| 21点 | 16分 | 7R | 7試合 | 1回/1回 | 2回/2回 | 3回/3回 |
| 15点 | 12分 | 10R | 10試合 | 2回/2回 | 3回/3回 | 5回/5回 |
| 11点 | 9分 | 13R | 13試合 | 2回/2回 | 4回/4回 | 6回/6回 |
11点にすれば1人の試合数は7から13に増える。その代わり、同じ相手と組むのは最大2回、同じコートに入る相手とは最大6回になる。8人しかいない以上、試合を増やせば同じ顔ぶれが増えるのは当然で、実測は3つとも20回すべて下限ちょうどだった。どれを選ぶかは、試合数と顔ぶれの新しさのどちらを取るかの判断になる。
下限に届く構成と、届かない構成
ここまでの実測を並べると、下限ちょうどに届く構成が多い。12人3面12R、8人2面(21点・15点・11点)、10人3面12R、20人4面11R、30人6面10R の味方・対戦、24人4面12R の味方・対戦がそうだ。一方で、16人4面12R と 13人3面12R は3種類とも下限より1回多く、40人8面30R は1〜2回多かった。
下限は「どう組んでもこれ未満にはならない」値であって、その値を達成する表が必ず存在するとは限らないし、存在しても乱択で見つけ損ねることがある。届かなかった構成でも20回とも同じ値だったので、作り直して下限に近づく可能性はあっても期待しすぎないほうがいい。重複を確実に減らしたいなら、ラウンド数か人数のほうを動かす。
ラウンド数の目安と、1試合の時間の置き方
ラウンド数の目安は、練習時間を1ラウンドの時間で割って切り捨てる。途中までしか回らないラウンドは数えない。
1ラウンドの時間 = 1試合の時間 + 交代の時間
ラウンド数の目安 = floor(練習時間 ÷ 1ラウンドの時間) // 30を超えたら30で作る
所要時間 = ラウンド数 × 1ラウンドの時間
1試合の時間をどう置くかは迷った。ユーザーに毎回分数を打ってもらう方法と、点数制から目安を出す方法がある。練習会の幹事はたいてい自分たちの1試合が何分かを測っていないので、点数制から目安を出すほうを既定にし、直接入力も残した。
ただし、この目安は一次資料で決まる値ではない。21点1ゲームを15分と置き、1点あたりの時間が一定だと仮定して比例させている。15点は 15 × 15 ÷ 21 ≒ 10.7 で11分、11点は 15 × 11 ÷ 21 ≒ 7.9 で8分だ。ラリーの長さはレベルで大きく変わるので、自分たちの実測があれば直接入力(3〜60分)に入れてほしい。
計算例:20人・4面・3時間・21点
使用例のケース3を、1段ずつ追う。
1. 使う面数 = min(4, floor(20 ÷ 4)) = min(4, 5) = 4面
2. 1ラウンド = 出場 4 × 4 = 16人、休憩 20 − 16 = 4人
3. 1ラウンドの時間 = 15 + 1 = 16分
目安 = floor(180 ÷ 16) = floor(11.25) = 11ラウンド
4. 出場枠の合計 = 16 × 11 = 176
176 ÷ 20 = 8.8 → 8〜9試合(16人が9試合、4人が8試合)
5. 休憩回数 = 11 − 9 〜 11 − 8 = 2〜3回
6. 所要時間 = 11 × 16 = 176分(練習時間180分の内側)
7. 重複の下限 = 味方1回・対戦1回・同じコート2回
20人で4面なので、面数は人数に対して足りている(20人なら5面まで埋まる)。目安の11ラウンドを使えば176分で、退館前に4分の余裕が残る。重複の下限はすべて小さく、使用例で見たとおり味方ペアは実測でも1回に収まった。
バドミントンの組み合わせ作成アプリ・配布PDFとの違い
「バドミントン 組み合わせ 作成」で探すと、出てくるものは大きく2種類に分かれる。スマホにインストールして使う組み合わせアプリと、協会や自治体の講習会で配られる「◯人◯面」のダブルス表のPDFだ。PDFが当日の人数の増減に耐えないことは、冒頭の「なぜ作ったのか」で触れたとおり。
アプリは機能が豊富で、扱える人数や面数の上限ならこのツールより大きいものもある。弱点は、表が幹事のスマホの中に閉じてしまうこと。メンバー全員に同じアプリを入れてもらうのは現実的でないので、結局は幹事が画面を見せて回るか、スクリーンショットを撮って送ることになる。このツールは表をテキストでコピーできるので、LINEのグループに貼ればメンバーは自分のスマホで次の出番を確認できる。幹事以外はページを開く必要すらない。
もう1つの違いは、表を作る前の段階まで扱っていること。練習時間と点数制を入れるとラウンド数の目安が出て、今のラウンド数だと何分かかるかも分かる。組み方がランダムなら、同じペアや同じ相手との重複が算数として避けられない構成では、その回数(理論上の下限)が生成前から表示され、生成後は実際の重複がその下限に届いているかを見比べられる。ブラウザだけで8面40人30ラウンドまで扱え、練習時間からラウンド数まで決められるものは、調べた範囲では見当たらなかった。
近いツールとの役割分担も書いておく。テニス乱数表・ダブルス組み合わせ表は同じ組み合わせエンジンを使ったテニス向けの版で、4面30人20ラウンドまで。1試合が長く面数の少ないテニスなら、記事の中身もそちらのほうが話が合う。ダブルスの進行ではなく、チーム分け・くじ引き・順番決めそのものが目的なら公平な配置係が向いている。
豆知識:21点ラリーポイント制は東京で決まった
今のバドミントンは1ゲーム21点のラリーポイント制で、サーブ権に関係なくラリーに勝った側に1点が入る。体育館で誰もが当たり前に数えているこの21点が国際ルールになったのは、意外と最近の2006年のことだ。
それまでは15点3ゲームのサイドアウト制(女子シングルスは11点)で、サーブ権を持つ側しか得点できなかった。サーブ権が行き来するだけで点が動かない時間が長く、試合時間が読めない。国際バドミントン連盟(当時のIBF)は2000年から7点5ゲーム制を試し、2002年に元の15点制へ戻し、2003年には9点5ゲーム制なども検討して見送る、と迷走を続けた。決着したのは2006年5月。トマス杯・ユーバー杯の開催中だった東京での総会で、21点ラリーポイント制が満場一致で支持された(経緯はWikipediaのバドミントンの項の歴史の節に詳しい)。日本の練習会で数えている21点は、東京で決まったルールということになる。練習会で「今日は15点で」と短く区切るとき、点数だけは図らずも旧ルールと同じ数字を使っているわけだ。
面白いのはその後だ。新ルールの狙いの1つは試合時間を短くし、テレビで見て分かりやすくすることだった。ところがトップ選手の試合はむしろ長くなっている。2007年と2017年のスーパーシリーズを比べたIizukaらの研究(2020)によると、男子シングルスの1試合の平均は1・2回戦で38.2分から49.1分、準々決勝以降で44.5分から52.8分に伸びた。ラリーそのものも、ラリー間の休みも長くなったことが理由として挙げられている。点数の上限を決めても、1点にかかる時間が伸びれば試合は長くなる。練習会の「1試合何分」が点数制だけでは決まらず、このツールが1試合の時間を目安として出しつつ実測で入れ直せるようにしているのも、同じ理屈による。
同じころ、用具の側でも事件があった。競技用のシャトルは16枚の羽根とコルクでできていて、羽根は主に食用のガチョウのもの。世界のシャトルの9割以上は中国で作られている。2005〜2006年に鳥インフルエンザが流行して食用ガチョウが大量に処分されると、各メーカーが値上げに踏み切った。練習会の参加費の何割かを占めるシャトル代が、実は食肉の事情に左右されている。ルールが21点に変わった年は、シャトルの値段が上がった年でもあった。
練習会のローテーションを回すコツ
1試合の時間は「最後のコートが終わるまで」で測る — 1ラウンドの長さは、いちばん遅いコートで決まる。最初の1〜3ラウンドだけ、全コートが一斉に始まってから最後のコートが終わるまでを計り、その平均を1試合の時間の直接入力に入れる。コートごとの平均で入れると、早く終わったコートが待っている時間が計算から抜けて、毎回少しずつ押していく。交代にかかる時間は別の欄があるので、ここには試合だけの時間を入れる。
遅刻・早退が分かったら表を2本に分ける — 途中で人数が変わる日は、人が入れ替わる時刻で練習を区切り、前半と後半を別々の表で作る。後半の表は、残りの時間を練習時間に入れ直せばラウンド数の目安もそのまま使える。休憩回数がそろうのは1本の表の中だけなので、区切りは1回、多くても2回に留めておくと、表をまたいだ偏りが目立たない。
表のコート番号と体育館の番号を最初に対応させる — 表のコートは1から順に番号が振られるが、体育館の床に書かれた番号とは一致しないことが多い。借りたのが5〜7番コートなら、最初に「表の1番=5番コート」と声に出すか、ホワイトボードに書いておく。入口に近い順に1から割り当てておくと、休憩明けの人が自分のコートを探して迷わない。
紙に印刷するよりLINEに貼る — 印刷した表は、当日1人増えた瞬間にただの紙になる。テキストなら作り直して貼り直すだけで全員の手元が更新される。面数が多い日ほど表は横に広がり、A4に収めると字が小さくなるが、LINEのテキストなら各自がスマホで拡大して読める。
よくある質問
テニス版の乱数表と何が違う?
組み合わせを作るエンジンは同じで、休憩回数をそろえる仕組みも、ミックス・レベル分け・固定ペアの扱いも変わらない。違いは3つ。1つ目は扱える規模で、こちらは8面40人30ラウンドまで(テニス版は4面30人20ラウンド)。2つ目は、練習時間と点数制からラウンド数の目安と所要時間を出す補助があること。3つ目は、人数が面数を埋めきれないときの扱いで、テニス版は表を作らずに止まるが、こちらは使う面数を自動で下げ、何面で組むかを表示したうえで表を作る。
9面以上・41人以上の練習会はどうすればいい?
1つの表は8面40人までなので、コートと人を2つのブロックに分けて表を2本作る。体育館の奥と手前で分けるなど、物理的に分かれている単位で切ると運営しやすい。ブロックの中では休憩も重複もそろうが、ブロックをまたいだ組み合わせは生まれない。顔ぶれを混ぜたいなら、練習の前半と後半で分け方を変えて作り直すとよい。練習時間から出した目安が30ラウンドを超えたときも考え方は同じで、30ラウンドで1本作り、残りは表を作り直して続けるよう画面に表示される。
何度作り直しても同じペアが2回出てくるのはなぜ?
1人が出る試合数に対して組める相手の人数が足りないと、重複は算数として避けられない。その下限は上の「バドミントン乱数表を数字で分解する」の節で導いている。画面では、組み方がランダムで固定ペアがないとき、避けられない重複の回数が生成前から表示される。生成後は実際の最大重複の横に理論上の下限が添えられ、両者が同じなら「これ以上は減らせない」状態だ。それでも減らしたいなら、ラウンド数を減らすか人数を増やすしかない。
練習時間を入れたのにラウンド数が変わらない
目安は練習時間を入れると表示されるが、ラウンド数の欄は自動では書き換わらない。「目安を使う」で反映される。目安より多いラウンド数のままにしておくと、練習時間を何分超えるかと目安のラウンド数が表示される。練習時間を空欄にすれば目安は出ず、今のラウンド数で何分かかるかだけが出る。目安がいつも実際とずれるなら、1試合の時間を直接入力に切り替えて自分たちの実測を入れてほしい。1試合の時間の置き方は、上の計算の仕組みの節で説明している。
ミックスダブルスやレベル分けでも組める?
組める。メンバーを男女やレベルでA・Bに分け、ミックスなら各コートをAから2人・Bから2人で、レベル分けならAだけ・Bだけのコートで組む。挙動はテニス版と同じで、A・Bの人数が偏っていると休憩をそろえることと組み方を守ることが両立しないため、どちらを優先するかを選ぶ形になる。両立する条件の導出はテニス乱数表・ダブルス組み合わせ表の記事に書いた。なお、このモードでは組める相手が絞られるので、上の重複の下限は表示しない。
入力した名前や作った表はどこかに送られる?
送られない。計算も表の生成もブラウザの中で完結していて、サーバーとの通信は発生しない。名前・設定・生成した表は、次に開いたときに続きから使えるよう、同じブラウザのローカルストレージにだけ保存している。ほかの端末やほかの人からは見えないし、ブラウザの閲覧データを消せば一緒に消える。ただしコピーしてLINEに貼った時点で、その文面は貼った先のトークの扱いになる。フルネームを出したくない会なら、名前欄にはニックネームや番号を入れておくと安心だ。
まとめ
人数と面数から、休憩回数をそろえたダブルスの組み合わせ表を全ラウンド分まとめて作るツール。8面40人30ラウンドまで扱え、練習時間と点数制からラウンド数の目安と所要時間も出る。避けられない重複の下限が表示されるので、表の出来を「これ以上は減らせない」と根拠を持って言えるのも幹事には心強いはず。
テニスの練習会なら同じエンジンのテニス乱数表・ダブルス組み合わせ表、ダブルスの進行ではなくチーム分けやくじ引きをしたいときは公平な配置係を使い分けてほしい。
不具合や要望があれば、お問い合わせページから気軽に教えてほしい。
Mahiro
Mahiro Appの開発者。テニス版のエンジンをバドミントンに持ち込んだら、8面40人で重複がどこまで減らせるかを確かめたくて、同じ構成を20回ずつ作って下限と見比べた。
運営者情報を見る