• 締切済み

総当りのリーグ戦の日程作成方法

hinebotの回答

  • hinebot
  • ベストアンサー率37% (1123/2963)
回答No.2

長文になりました。お許しを。 条件を満たすには、全チーム数が偶数であることはいいですよね。 今チーム数をNとします。 1対1で2チームづつ試合するわけですから、1日に消化できる試合数はN/2となります。 一方、全試合数は、総当りですから、自分を除く全チームと試合する必要があるわけで1チームあたり(N-1)試合、NチームですからN(N-1) ここで互いにダブっているから、2で割って N(N-1)/2試合となります。 よって、全試合消化には N(N-1)/2 ÷N/2 = N-1 日必要になるわけです。 ここまではいいですね。 次に1日の組み合わせを考えるのは、Nチームを1列に並べる並べ方を考えることと同じです。つまり、N!通りの並べ方があるわけです。 (!は階乗の記号です。 n!= n*(n-1)*(n-2)*…*3*2*1 です。) このN!通りの中から、重ならないようにN-1通り分を選ぶことになるわけです。 8チームだと、8!、最初の1チームを固定しても7!=5040通り から7通り分を選ぶ作業になります。 一般解はわかりませんが、8チームぐらいなら、やっつけでもできます。考え方は同じでしょうね。(多分) 以下、私のやり方です。 チームをA~Hとします。8チームですから7日間必要で、まず1日目とAチームの日程を 決めてしまいます。 1日目 A-B C-D E-F G-H 2日目 A-C 3日目 A-D 4日目 A-E 5日目 A-F 6日目 A-G 7日目 A-H 次にBチームの日程を決めます。重なりに気をつけて順番に並べてしまいます。 1日目 A-B C-D E-F G-H 2日目 A-C B-D 3日目 A-D B-E 4日目 A-E B-F 5日目 A-F B-G 6日目 A-G B-H 7日目 A-H B-C ここまではいいですね。次はCチームです。すでにCが組まれている1日目/2日目/7日目以外に入れます。 1日目 A-B C-D E-F G-H 2日目 A-C B-D 3日目 A-D B-E C- 4日目 A-E B-F C- 5日目 A-F B-G C- 6日目 A-G B-H C- 7日目 A-H B-C ここで、Cの対戦相手のE,F,G,Hについて考えます。 C-Eは5日目か6日目しか入れません。 もし、C-Eを6日目に当てると残る2チームがD-Hとなり、6日目にはB-Hが組まれているのでHが重なるので不可です。よってC-Eは5日目となります。 次にC-Fは4日目以外は入れますが、上述の通りC-Eが5日目で確定したので3日目か6日目になります。3日目に入れると3日目の残るカードがG-Hとなり、1日目と重なるのでC-Fは6日目と決まります。 同様に考えて、Cチームの日程が以下のように決まります。 1日目 A-B C-D E-F G-H 2日目 A-C B-D 3日目 A-D B-E C-G 4日目 A-E B-F C-H 5日目 A-F B-G C-E 6日目 A-G B-H C-F 7日目 A-H B-C Dチーム以下についても同様に考察すると 1日目 A-B C-D E-F G-H 2日目 A-C B-D E-H F-G 3日目 A-D B-E C-G F-H 4日目 A-E B-F C-H D-G 5日目 A-F B-G C-E D-H 6日目 A-G B-H C-F D-E 7日目 A-H B-C D-F E-G と決めることができます。

関連するQ&A

  • リーグ戦日程表作成アルゴリズム求む

    nチームのサッカーのリーグ戦を行います。 (1)各チームは1日1回試合します。相手チームとは1回づつ試合しますので、各チームともn-1回試合します。総試合数はn(n-1)/2です。 (2)グラウンドはn/2 面用意します。nが奇数の場合は(n-1)/2 面で試合のないチームが発生します。 (3)なので、必要日数はnが偶数の時はn-1日 奇数の場合はn日必要です。 例 n=5 チームa,b,c,d,e 日程:グラウンド1,グラウンド2,休み 1日目:a-b,c-d,e 2日目:a-c,b-e,d 3日目:a-d,c-e,b 4日目:a-e,b-d,c 5日目:b-c,d-e,a 問題はnを与えて上記組合せ日程表を作るアルゴリズムを作りたいと思っています。 解は複数ありますが、1つ出せばOKです。ただし、 解の条件:どのチームもそれぞれのグラウンドの使用回数はできるだけ等しくする。(直感的には等しくなる解があると思っています) 上記例ではチームaはグラウンド1でばかり試合をしていますが、ほしいのはどのチームもグラウンド1で2試合、グラウンド2で2試合となるような組合せ表です。 上記条件を除いて組合せを作った後、条件を満たすように入れ替えていく等の2段階のアルゴリズムでもかまいません。 一発(変な表現ですが)で出す方法ももちろん歓迎です。皆さんのお知恵をいただきたいのでよろしく。

  • 試合のマッチメイキング作成方法について。

    試合のマッチメイキングについて。 X人数で、1v1の試合のマッチメイキングを、重複しないランダムな組み合わせで、一人当たり、5試合行えるような乱数表を作成したいのですが、その場合、最低何人必要で、どんな作成方法をしたら良いのでしょうか? 色々考えてはみたのですが、数学が得意でないため、さっぱりうまくいきませんtt 頭の良い方ご教授くださいませんか? ↓のような感じです・・・ A対Bがある場合、B対Aは重複となる為、×です。 (総当りにする必要はないです。) 1試合目 2試合目 3試合目 4試合目 5試合目 A対B A対C A対D A対E A対F C対D B対D B対C B対F B対E E対F E対G E対H C対G C対H G対H F対H F対G D対H D対G ※7人で総当りにした場合、異なる組み合わせは、 縦の列(人数-1)×横の列÷2=21 ( 6×7÷2=21) で21試合しかない為、 21試合÷5試合=1人あたり4試合と余り1試合となるため、 一人5試合行うためには、総当り計算式で ( 8×7÷2=28)で28試合、 28試合÷5試合=1人あたり5試合と余り3試合だから、 異なる組み合わせで、1人あたり5試合行うためには、 最低8人必要? ↑のような計算式であってますでしょうか? あと、上記のような表を、X人数でも乱数表的に作成できて、 尚且つ、できる限り同じ人が連続で、試合にならないような組み合わせにしたいです。

  • リーグ戦の順位の決め方

    リーグ戦の順位の決め方についてお尋ねします。 例えば5チームによる総当りのリーグ戦を想定してください。 結果は、  AとBが3勝1敗  CとDが1勝3敗  E  が2勝2敗 だったとします。 このとき、AとB、CとDはそれぞれ勝ち点が同じですが、この順位はどのように決めるのが妥当なのでしょうか? 実はソフトテニス(旧・軟式庭球)では、「対戦の勝者を上位とする」というルールがあります。 得点・失点をまったく考慮せず、AとBの対戦結果だけを見て、Aが勝っていればAが1位というように決めるのです。 しかし、よく考えるとこれはおかしいのではないかと思っています。リーグ戦は総当りであるわけですから、あらゆる相手との対戦内容が問われるべきで、したがってすべての対戦結果を見て、例えば得点と失点の差で決めるなどの方法をとるのが理にかなっているように思うのですが・・・ 他のスポーツではどういう決め方をしているのでしょうか。教えていただけると助かります。(長文すみません)

  • テニス リーグ戦 組み合わせ

    草テニス大会を運営しています テニスコート4面で24組(4組/ブロック)6チーム を作りリーグ戦をやりたいのですが、 ブロックA:1-3、2-4、1-2、3-4、1-4、2-3 ブロックB:5-7、6-8、5-6、7-8、5-8、6-7 ブロックC:9-11、10-12、9-10、11-12、9-12、10-11 ブロックD:13-15、14-16、13-14、15-16、13-16、14-15 ブロックE:17-19、18-20、17-18、19-20、17-20、18-19 ブロックF:21-23、22-24、21-22、23-24、21-24、22-23 とりあえず6チームをふたつに分け3チームを2面使用で順番 に入れていきますと、 1番コート:1-3、9-11、6-8、1-2、9-10、7-8,1-4、9-12、6-7 2番コート:5-7、2-4、10-12、5-6、3-4、11-12、5-8、2-3、10-11 となり、6と7が4試合待ちになってしまいます 最大3試合待ちの組み合わせを作りたいのですが どなたかお知恵お貸し願い対のですが

  • 10チーム総当りのリーグ戦の組み方

    10チーム総当りのリーグ戦を平等に組みたいのですが、わかる方教えてください。1日5試合で、9日間の実施です。至急よろしくお願いします。

  • 19チーム3つ巴戦の総当たりリーグ戦の組み方

    野球の19チーム(仮にチームAからチームS)で総当たりのリーグ戦をします。1日1グランドに3チームが集まり、第1試合A対B,第2試合A対C、第3試合B対C、のように3試合(各チーム2試合ずつと1試合は審判)の巴戦をするとします。すべての対戦カード試合数は、19×(19-1)÷2で171試合。1日3試合ずつ試合をするので171÷3で57回の試合日ができる事はわかるのですが、AからSのチームそれぞれをどのように3つ選んで組み合わせれば3つ巴戦が57個できるのかを教えて下さい。

  • 「リーグ戦」の意味

    さて道場内で空手の試合を行うことになりました。 4名の選手が出場し総当り方式です。 1人当り 3回戦うことになり、例えば3戦2勝1敗等といった成績の如何によって表彰します。  その説明をした際ある人に「リーグ戦ですね。」と言われたので、「そうではなくこれこれ(↑上記)」 と再度説明しました。 すると、「だからリーグ戦でしょ。」と。 家に帰って調べたら、リーグ戦=総当り戦の意味と知りました。   一方wikipediaではこのように記載してあります。 http://ja.wikipedia.org/wiki/%E3%83%AA%E3%83%BC%E3%82%B0%E6%88%A6 英語では本来、あるリーグが主催する試合のことを、採用する試合形式は何であれ、 (たとえ勝抜きトナメント方式でも)、league match(和訳すれば=リーグ戦)と言い、サッカー、野球、 バスケットボール等のリーグを見ても分かるように、それらは殆ど総当り方式で試合が行われる ことから、日本語でリーグ戦と言えば総当り方式の試合を指すようになったと。 冒頭に話を戻しますが、今回小さな道場内における空手の試合です。 リーグ(連盟)とか 存在しないし、また団体スポーツでもない個人の試合で、自分達が行うお手製の練習試合です。  それを総当り方式で行う場合、いくら日本語でリーグ戦の意味=総当り戦といってもやはり 自分としては違和感を感じます。  元の意味から完全に切り離され日本語化した外来語なら 分かりますが、「リーグ」戦といえば、基本主催するリーグないし連盟があるわけでして、 その前提つまり主催するリーグがあることによって、「リーグ戦なんだ、総当り戦なんだ」と つながるわけでして、小さな道場における練習試合で、しかも個人対個人が戦う空手の試合 の総当り戦を「リーグ戦」というのは、どうでしょう? 適切な言葉の使い方と思いますか? 本質門の趣旨は、ある相手に行った私の説明を通したいからではなく、言葉の正しい使い方 の感覚を知りたいことです。 よろしくお願い致します。

  • トップリーグにおける、日程, 試合会場, ユニフォームの決定方法

    トップリーグにおける、日程, 試合会場, ユニフォームの決定方法  掲題の件を教えてください。なるべく詳しく教えてください。例えば、以下のような点です。 - そもそも、トップリーグには、ホーム/アウェイという考え方があるのか  1回ずつ総当たりであり、ホーム/アウェイ方式でないことは知っています。各チームにホームグラウンドのようなものがあるかということです。公式に(プロ野球の保護地域のようなものが)あるのか知りません。とはいえ、ホームグラウンドが事実上はあるようです。なぜなら、J-Sportsの中継で、「近鉄花園ラグビー場は近鉄ライナーズの本拠地(地元)です。」という表現をしているからです。 - 日程・会場を誰が決めるのか  チームと独立した日程編成担当がいるのか、14チームが相談して日程や試合会場を決めるのか。あるいは、日程が決まった後に試合会場は該当2チーム間で決めるのか。チームと独立した組織が決める場合は、双方の(事実上の)地元に配慮するのか。例えば、近鉄-トヨタ(リーグ戦)の試合を、九州や秩父宮でやることがあり得るのか。 - ユニフォームはだれが決めるのか  同系色同士の対戦(東芝-三洋など)の場合、いずれが第2ユニフォームを着用するかという問題です。何らかの方式により自動的に決まるのか。あるいは、両者の協議によってきまるのか。

  • スペインリーグの試合日程

    2003-2004のスペインリーグの試合日程はいつ決まるんですか? すでに決まっているんでしょうか? 試合日程等の情報を知る良い方法はありますか? どちらのチームのホームグラウンドなのかっていうのもわかれば嬉しいです。 9月中旬にスペインに行き試合観戦をしたいと計画を立てています。 計画を練るにはまだ早かったかなぁ??? 何しろ素人なもんで…。

  • 16チームの試合の組み合わせ

    16チームで試合をします。 1日目は4チームごとに会場を分けて、リーグ戦をします。 2日目は4チームごとに会場を分けて、1日目とは違うチームと試合ができるようにリーグ戦をします。 3日目は4チームごとに会場を分けて、1日目、2日目とは違うチームと試合ができるようにリーグ戦をします。 4日目は4チームごとに会場を分けて、1日目、2日目、3日目とは違うチームと試合ができるようにリーグ戦をします。 5日目は4チームごとに会場を分けて、1日目、2日目、3日目、4日目とは違うチームと試合ができるようにリーグ戦をします。 5日間で各チーム15試合、全120試合の総当たりができると思うのですが、それそれの会場に分ける作業がうまくできません。3日目くらいにどうしても試合が重複してしまいます。どなたかいい知恵をかしてください。 3日目まではなんとかできるのですが4日目で同じチーム同士の試合ができてしまいました。 チームを1~16、会場をABCDとしました。 1日目 会場A(1・2・3・4) 会場B(5・6・7・8) 会場C(9・10・11・12) 会場D(13・14・15・16) 2日目 会場A(1・5・9・13) 会場B(2・6・10・14) 会場C(3・7・11・15) 会場D(4・8・12・16) 3日目 会場A(1・6・11・15) 会場B(2・7・12・13) 会場C(3・8・9・14) 会場D(4・5・10・15) 4日目 会場A(1・8・11・14) 会場B(2・5・12・15) 会場C(3・6・9・16) 会場D(4・7・10・13) と分けてしまうと、4日目で、会場Aの1・11、会場Bの2・12、会場Cの3・9、会場Dの4・10のように1~3日目までの試合と重複してしまいます。